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