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