- logrotate for history
[platform/upstream/libzypp.git] / libzypp.spec.cmake
1 #
2 # spec file for package libzypp
3 #
4 # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 # This file and all modifications and additions to the pristine
6 # package are under the same license as the package itself.
7 #
8 # Please submit bugfixes or comments via http://bugs.opensuse.org/
9 #
10
11 # norootforbuild
12
13 Name:           @PACKAGE@
14 License:        GPL v2 or later
15 Group:          System/Packages
16 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
17 Autoreqprov:    on
18 Summary:        Package, Patch, Pattern, and Product Management
19 Version:        @VERSION@
20 Release:        0
21 Source:         @PACKAGE@-@VERSION@.tar.bz2
22 Source1:        @PACKAGE@-rpmlintrc
23 Prefix:         /usr
24 Provides:       yast2-packagemanager
25 Obsoletes:      yast2-packagemanager
26 BuildRequires:  cmake
27 BuildRequires:  libsatsolver-devel >= 0.10.13 openssl-devel
28 BuildRequires:  boost-devel curl-devel dejagnu doxygen gcc-c++ gettext-devel graphviz hal-devel libxml2-devel
29
30 %if 0%{?suse_version}
31 BuildRequires:  hicolor-icon-theme update-desktop-files rpm-devel
32 Requires: uuid-runtime
33 %endif
34
35 %if 0%{?fedora_version}
36 BuildRequires: glib2-devel popt-devel dbus-glib-devel rpm-devel
37 %endif
38
39 %if 0%{?mandriva_version}
40 BuildRequires:  glib2-devel
41 BuildRequires:  librpm-devel
42 # uuidgen
43 Requires: e2fsprogs
44 %endif
45
46
47
48 %if 0%{?suse_version}
49 Requires:       gpg2
50 %else
51 Requires:       gnupg
52 %endif
53
54 Requires:       satsolver-tools == %( echo `rpm -q --queryformat '%{VERSION}' satsolver-tools`)
55
56 %description
57 Package, Patch, Pattern, and Product Management
58
59 Authors:
60 --------
61     Michael Andres <ma@suse.de>
62     Jiri Srain <jsrain@suse.cz>
63     Stefan Schubert <schubi@suse.de>
64     Duncan Mac-Vicar <dmacvicar@suse.de>
65     Klaus Kaempf <kkaempf@suse.de>
66     Marius Tomaschewski <mt@suse.de>
67     Stanislav Visnovsky <visnov@suse.cz>
68     Ladislav Slezak <lslezak@suse.cz>
69
70 %package devel
71 Requires:       libzypp == @VERSION@
72 Requires:       libxml2-devel curl-devel openssl-devel rpm-devel glibc-devel zlib-devel
73 Requires:       bzip2 popt-devel dbus-1-devel glib2-devel hal-devel boost-devel libstdc++-devel
74 Requires:       cmake libsatsolver-devel
75 Recommends:     logrotate
76 Summary:        Package, Patch, Pattern, and Product Management - developers files
77 Group:          System/Packages
78 Provides:       yast2-packagemanager-devel
79 Obsoletes:      yast2-packagemanager-devel
80
81 %description -n libzypp-devel
82 Package, Patch, Pattern, and Product Management - developers files
83
84 Authors:
85 --------
86     Michael Andres <ma@suse.de>
87     Jiri Srain <jsrain@suse.cz>
88     Stefan Schubert <schubi@suse.de>
89     Duncan Mac-Vicar <dmacvicar@suse.de>
90     Klaus Kaempf <kkaempf@suse.de>
91     Marius Tomaschewski <mt@suse.de>
92     Stanislav Visnovsky <visnov@suse.cz>
93     Ladislav Slezak <lslezak@suse.cz>
94
95 %prep
96 %setup -q
97
98 %build
99 mkdir build
100 cd build
101 export CFLAGS="$RPM_OPT_FLAGS"
102 export CXXFLAGS="$CFLAGS"
103 cmake -DCMAKE_INSTALL_PREFIX=%{prefix} \
104       -DDOC_INSTALL_DIR=%{_docdir} \
105       -DLIB=%{_lib} \
106       -DCMAKE_BUILD_TYPE=Release \
107       -DCMAKE_SKIP_RPATH=1 \
108       ..
109 make %{?jobs:-j %jobs} VERBOSE=1
110 make -C doc/autodoc %{?jobs:-j %jobs}
111 make -C po %{?jobs:-j %jobs} translations
112
113 #make check
114
115 %install
116 rm -rf "$RPM_BUILD_ROOT"
117 cd build
118 make install DESTDIR=$RPM_BUILD_ROOT
119 make -C doc/autodoc install DESTDIR=$RPM_BUILD_ROOT
120 mkdir -p $RPM_BUILD_ROOT/etc/zypp/repos.d
121 mkdir -p $RPM_BUILD_ROOT/etc/zypp/products.d
122 mkdir -p $RPM_BUILD_ROOT/etc/zypp/services.d
123 mkdir -p $RPM_BUILD_ROOT/var/lib/zypp
124 mkdir -p $RPM_BUILD_ROOT/var/cache/zypp
125
126 %if 0%{?suse_version}
127 %suse_update_desktop_file -G "" -C "" package-manager
128 %endif
129
130 make -C po install DESTDIR=$RPM_BUILD_ROOT
131 # Create filelist with translations
132 cd ..
133 %{find_lang} zypp
134
135
136 %post
137 %run_ldconfig
138 if [ -f /var/cache/zypp/zypp.db ]; then rm /var/cache/zypp/zypp.db; fi
139 #%{prefix}/lib/zypp/zypp-migrate-sources
140
141 # convert old lock file to new
142 # TODO make this a separate file?
143 # TODO run the sript only when updating form pre-11.0 libzypp versions
144 LOCKSFILE=/etc/zypp/locks
145 OLDLOCKSFILE=/etc/zypp/locks.old
146
147 is_old(){
148   TEMP_FILE=`mktemp`
149   cat ${LOCKSFILE} | sed '/^\#.*/ d;/.*:.*/d;/^[^[a-zA-Z\*?.0-9]*$/d' > ${TEMP_FILE}
150   if [ -s ${TEMP_FILE} ]
151   then
152     RES=0
153   else
154     RES=1
155   fi
156   rm -f ${TEMP_FILE}
157   return ${RES}
158 }
159
160 append_new_lock(){
161   case "$#" in
162     1 )
163   echo "
164 solvable_name: $1
165 match_type: glob
166 " >> ${LOCKSFILE}
167 ;;
168     2 ) #TODO version
169   echo "
170 solvable_name: $1
171 match_type: glob
172 version: $2
173 " >> ${LOCKSFILE}
174 ;;
175     3 ) #TODO version
176   echo "
177 solvable_name: $1
178 match_type: glob
179 version: $2 $3
180 " >> ${LOCKSFILE}
181   ;;
182 esac
183 }
184
185 die() {
186   echo $1
187   exit 1
188 }
189
190 if is_old ${LOCKSFILE}
191   then
192   mv -f ${LOCKSFILE} ${OLDLOCKSFILE} || die "cannot backup old locks"
193   cat ${OLDLOCKSFILE}| sed "/^\#.*/d"| while read line
194   do
195     append_new_lock $line
196   done
197 fi
198
199
200 %postun
201 %run_ldconfig
202
203 %clean
204 rm -rf "$RPM_BUILD_ROOT"
205
206 %files -f zypp.lang
207 %defattr(-,root,root)
208 %dir               /etc/zypp
209 %dir               /etc/zypp/repos.d
210 %dir               /etc/zypp/products.d
211 %config(noreplace) /etc/zypp/zypp.conf
212 %config(noreplace) /etc/zypp/systemCheck
213 %dir               /var/lib/zypp
214 %dir               /var/cache/zypp
215 %{prefix}/lib/zypp
216 %{prefix}/share/zypp
217 %{prefix}/share/applications/package-manager.desktop
218 %{prefix}/share/icons/hicolor/scalable/apps/package-manager-icon.svg
219 %{prefix}/share/icons/hicolor/16x16/apps/package-manager-icon.png
220 %{prefix}/share/icons/hicolor/22x22/apps/package-manager-icon.png
221 %{prefix}/share/icons/hicolor/24x24/apps/package-manager-icon.png
222 %{prefix}/share/icons/hicolor/32x32/apps/package-manager-icon.png
223 %{prefix}/share/icons/hicolor/48x48/apps/package-manager-icon.png
224 %{prefix}/bin/package-manager
225 %{prefix}/bin/package-manager-su
226 %{_libdir}/libzypp*so.*
227 %doc %_mandir/man5/locks.5.*
228
229 %files devel
230 %defattr(-,root,root)
231 %{_libdir}/libzypp.so
232 #%dir %{_libdir}/libzypp.la
233 %{_docdir}/%{name}
234 %dir %{prefix}/include/zypp
235 %{prefix}/include/zypp/*
236 %{prefix}/share/cmake/Modules/*
237 %{_libdir}/pkgconfig/libzypp.pc
238 %dir %{_var}/log/zypp
239 # declare ownership of the log file but prevent
240 # it from being erased by rpm -e
241 %ghost %config(noreplace) %{_var}/log/zypp/history
242 %{_sysconfdir}/logrotate.d/zypp-history.lr
243
244 %changelog