3 Group: System/Package Management
4 Summary: Package, Patch, Pattern, and Product Management
7 Source: %{name}-%{version}.tar.bz2
8 Source1: %{name}-rpmlintrc
9 Source10: Exclude_subdirectory.patch
10 Source11: add_pie_compile_option.patch
11 Source12: fix_swig_syntax_error.patch
12 Source1001: libzypp.manifest
14 # Features we provide (update doc/autoinclude/FeatureTest.doc):
15 Provides: libzypp(plugin) = 0.1
16 Provides: libzypp(plugin:appdata) = 0
17 Provides: libzypp(plugin:commit) = 1
18 Provides: libzypp(plugin:services) = 1
19 Provides: libzypp(plugin:system) = 1
20 Provides: libzypp(plugin:urlresolver) = 0
21 Provides: libzypp(repovarexpand) = 1.1
24 BuildRequires: libgpgme-devel
25 BuildRequires: libxslt-tools
26 BuildRequires: asciidoc
27 BuildRequires: pkgconfig(openssl1.1)
28 BuildRequires: libudev-devel
29 BuildRequires: boost-devel
30 BuildRequires: doxygen
31 BuildRequires: gcc-c++ >= 4.6
32 BuildRequires: gettext-devel
33 BuildRequires: libxml2-devel
34 BuildRequires: pkgconfig(libproxy-1.0)
35 BuildRequires: pkgconfig(sigc++-2.0)
36 BuildRequires: libsolv-devel
37 Requires: libsolv-tools
39 # should be recommends
42 BuildRequires: expat-devel
46 BuildRequires: rpm-devel
48 BuildRequires: glib2-devel
49 BuildRequires: popt-devel
50 BuildRequires: rpm-devel
52 %define min_curl_version 7.19.4
53 BuildRequires: libcurl-devel >= %{min_curl_version}
54 Requires: libcurl >= %{min_curl_version}
56 # Without gpg, any repos with public key sign will fail.
60 Package, Patch, Pattern, and Product Management
64 Michael Andres <ma@suse.de>
65 Jiri Srain <jsrain@suse.cz>
66 Stefan Schubert <schubi@suse.de>
67 Duncan Mac-Vicar <dmacvicar@suse.de>
68 Klaus Kaempf <kkaempf@suse.de>
69 Marius Tomaschewski <mt@suse.de>
70 Stanislav Visnovsky <visnov@suse.cz>
71 Ladislav Slezak <lslezak@suse.cz>
74 Summary: Package, Patch, Pattern, and Product Management - developers files
76 Requires: libzypp = %{version}
77 Requires: libxml2-devel
78 Requires: pkgconfig(openssl1.1)
85 Requires: libstdc++-devel
86 Requires: libudev-devel
88 Requires: libcurl-devel >= %{min_curl_version}
89 Requires: libsolv-devel
90 Group: Development/Libraries
92 %description -n libzypp-devel
93 Package, Patch, Pattern, and Product Management - developers files
97 Michael Andres <ma@suse.de>
98 Jiri Srain <jsrain@suse.cz>
99 Stefan Schubert <schubi@suse.de>
100 Duncan Mac-Vicar <dmacvicar@suse.de>
101 Klaus Kaempf <kkaempf@suse.de>
102 Marius Tomaschewski <mt@suse.de>
103 Stanislav Visnovsky <visnov@suse.cz>
104 Ladislav Slezak <lslezak@suse.cz>
109 %{__patch} -p1 < %{SOURCE10}
110 %{__patch} -p1 < %{SOURCE11}
111 %{__patch} -p1 < %{SOURCE12}
116 export CFLAGS="$RPM_OPT_FLAGS"
117 export CXXFLAGS="$RPM_OPT_FLAGS"
118 unset TRANSLATION_SET
119 unset EXTRA_CMAKE_OPTIONS
120 cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
121 -DDOC_INSTALL_DIR=%{_docdir} \
123 -DCMAKE_BUILD_TYPE=Release \
124 -DCMAKE_SKIP_RPATH=1 \
125 -DUSE_TRANSLATION_SET=${TRANSLATION_SET:-zypp} \
126 ${EXTRA_CMAKE_OPTIONS} \
128 make %{?_smp_mflags} VERBOSE=1
129 # make -C doc/autodoc %{?_smp_mflags}
130 make -C po %{?_smp_mflags} translations
133 rm -rf "$RPM_BUILD_ROOT"
135 make install DESTDIR=$RPM_BUILD_ROOT
136 # make -C doc/autodoc install DESTDIR=$RPM_BUILD_ROOT
137 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
138 ln -s %{_sysconfdir}/yum.repos.d $RPM_BUILD_ROOT%{_sysconfdir}/zypp/repos.d
140 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/zypp/repos.d
142 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/services.d
143 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/systemCheck.d
144 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/vars.d
145 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/vendors.d
146 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/multiversion.d
147 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/needreboot.d
148 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/credentials.d
149 mkdir -p %{buildroot}/%{_prefix}/lib/zypp
150 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins
151 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/appdata
152 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/commit
153 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/services
154 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/system
155 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/urlresolver
156 mkdir -p %{buildroot}/%{_var}/lib/zypp
157 mkdir -p %{buildroot}/%{_var}/log/zypp
158 mkdir -p %{buildroot}/%{_var}/cache/zypp
160 make -C po install DESTDIR=$RPM_BUILD_ROOT
161 # Create filelist with translations
169 if [ -f /var/cache/zypp/zypp.db ]; then rm /var/cache/zypp/zypp.db; fi
171 # convert old lock file to new
172 # TODO make this a separate file?
173 # TODO run the sript only when updating form pre-11.0 libzypp versions
174 LOCKSFILE=%{_sysconfdir}/zypp/locks
175 OLDLOCKSFILE=%{_sysconfdir}/zypp/locks.old
178 # if no such file, exit with false (1 in bash)
179 test -f ${LOCKSFILE} || return 1
181 cat ${LOCKSFILE} | sed '/^\#.*/ d;/.*:.*/d;/^[^[a-zA-Z\*?.0-9]*$/d' > ${TEMP_FILE}
182 if [ -s ${TEMP_FILE} ]
222 if is_old ${LOCKSFILE}
224 mv -f ${LOCKSFILE} ${OLDLOCKSFILE} || die "cannot backup old locks"
225 cat ${OLDLOCKSFILE}| sed "/^\#.*/d"| while read line
227 append_new_lock $line
231 %postun -p /sbin/ldconfig
233 %lang_package -f zypp
236 %manifest %{name}.manifest
238 %dir %{_sysconfdir}/zypp
239 %dir %{_sysconfdir}/zypp/repos.d
240 %dir %{_sysconfdir}/zypp/services.d
241 %dir %{_sysconfdir}/zypp/systemCheck.d
242 %dir %{_sysconfdir}/zypp/vars.d
243 %dir %{_sysconfdir}/zypp/vendors.d
244 %dir %{_sysconfdir}/zypp/multiversion.d
245 %config(noreplace) %{_sysconfdir}/zypp/needreboot
246 %dir %{_sysconfdir}/zypp/needreboot.d
247 %dir %{_sysconfdir}/zypp/credentials.d
248 %config(noreplace) %{_sysconfdir}/zypp/zypp.conf
249 %config(noreplace) %{_sysconfdir}/zypp/systemCheck
250 %config(noreplace) %{_sysconfdir}/logrotate.d/zypp-history.lr
251 %dir %{_var}/lib/zypp
252 %dir %attr(750,root,root) %{_var}/log/zypp
253 %dir %{_var}/cache/zypp
257 %{_libdir}/libzypp*so.*
260 %manifest %{name}.manifest
262 %{_libdir}/libzypp.so
264 %{_datadir}/cmake/Modules/*
265 %{_libdir}/pkgconfig/libzypp.pc