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