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: protobuf-devel
37 BuildRequires: protobuf-static
38 BuildRequires: protobuf-lite-static
39 BuildRequires: protobuf-lite
40 BuildRequires: yaml-cpp-devel
41 BuildRequires: libsolv-devel
42 Requires: libsolv-tools
44 # should be recommends
47 BuildRequires: expat-devel
51 BuildRequires: rpm-devel
53 BuildRequires: glib2-devel
54 BuildRequires: popt-devel
55 BuildRequires: rpm-devel
57 %define min_curl_version 7.19.4
58 BuildRequires: libcurl-devel >= %{min_curl_version}
59 Requires: libcurl >= %{min_curl_version}
61 # Without gpg, any repos with public key sign will fail.
65 Package, Patch, Pattern, and Product Management
69 Michael Andres <ma@suse.de>
70 Jiri Srain <jsrain@suse.cz>
71 Stefan Schubert <schubi@suse.de>
72 Duncan Mac-Vicar <dmacvicar@suse.de>
73 Klaus Kaempf <kkaempf@suse.de>
74 Marius Tomaschewski <mt@suse.de>
75 Stanislav Visnovsky <visnov@suse.cz>
76 Ladislav Slezak <lslezak@suse.cz>
79 Summary: Package, Patch, Pattern, and Product Management - developers files
81 Requires: libzypp = %{version}
82 Requires: libxml2-devel
83 Requires: pkgconfig(openssl1.1)
90 Requires: libstdc++-devel
91 Requires: libudev-devel
93 Requires: libcurl-devel >= %{min_curl_version}
94 Requires: libsolv-devel
95 Group: Development/Libraries
97 %description -n libzypp-devel
98 Package, Patch, Pattern, and Product Management - developers files
102 Michael Andres <ma@suse.de>
103 Jiri Srain <jsrain@suse.cz>
104 Stefan Schubert <schubi@suse.de>
105 Duncan Mac-Vicar <dmacvicar@suse.de>
106 Klaus Kaempf <kkaempf@suse.de>
107 Marius Tomaschewski <mt@suse.de>
108 Stanislav Visnovsky <visnov@suse.cz>
109 Ladislav Slezak <lslezak@suse.cz>
114 %{__patch} -p1 < %{SOURCE10}
115 %{__patch} -p1 < %{SOURCE11}
116 %{__patch} -p1 < %{SOURCE12}
121 export CFLAGS="$RPM_OPT_FLAGS"
122 export CXXFLAGS="$RPM_OPT_FLAGS"
123 unset TRANSLATION_SET
124 unset EXTRA_CMAKE_OPTIONS
125 cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
126 -DDOC_INSTALL_DIR=%{_docdir} \
128 -DCMAKE_BUILD_TYPE=Release \
129 -DCMAKE_SKIP_RPATH=1 \
130 -DUSE_TRANSLATION_SET=${TRANSLATION_SET:-zypp} \
131 ${EXTRA_CMAKE_OPTIONS} \
133 make %{?_smp_mflags} VERBOSE=1
134 # make -C doc/autodoc %{?_smp_mflags}
135 make -C po %{?_smp_mflags} translations
138 rm -rf "$RPM_BUILD_ROOT"
140 make install DESTDIR=$RPM_BUILD_ROOT
141 # make -C doc/autodoc install DESTDIR=$RPM_BUILD_ROOT
142 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
143 ln -s %{_sysconfdir}/yum.repos.d $RPM_BUILD_ROOT%{_sysconfdir}/zypp/repos.d
145 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/zypp/repos.d
147 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/services.d
148 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/systemCheck.d
149 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/vars.d
150 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/vendors.d
151 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/multiversion.d
152 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/needreboot.d
153 mkdir -p %{buildroot}/%{_sysconfdir}/zypp/credentials.d
154 mkdir -p %{buildroot}/%{_prefix}/lib/zypp
155 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins
156 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/appdata
157 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/commit
158 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/services
159 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/system
160 mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/urlresolver
161 mkdir -p %{buildroot}/%{_var}/lib/zypp
162 mkdir -p %{buildroot}/%{_var}/log/zypp
163 mkdir -p %{buildroot}/%{_var}/cache/zypp
165 make -C po install DESTDIR=$RPM_BUILD_ROOT
166 # Create filelist with translations
174 if [ -f /var/cache/zypp/zypp.db ]; then rm /var/cache/zypp/zypp.db; fi
176 # convert old lock file to new
177 # TODO make this a separate file?
178 # TODO run the sript only when updating form pre-11.0 libzypp versions
179 LOCKSFILE=%{_sysconfdir}/zypp/locks
180 OLDLOCKSFILE=%{_sysconfdir}/zypp/locks.old
183 # if no such file, exit with false (1 in bash)
184 test -f ${LOCKSFILE} || return 1
186 cat ${LOCKSFILE} | sed '/^\#.*/ d;/.*:.*/d;/^[^[a-zA-Z\*?.0-9]*$/d' > ${TEMP_FILE}
187 if [ -s ${TEMP_FILE} ]
227 if is_old ${LOCKSFILE}
229 mv -f ${LOCKSFILE} ${OLDLOCKSFILE} || die "cannot backup old locks"
230 cat ${OLDLOCKSFILE}| sed "/^\#.*/d"| while read line
232 append_new_lock $line
236 %postun -p /sbin/ldconfig
238 %lang_package -f zypp
241 %manifest %{name}.manifest
243 %dir %{_sysconfdir}/zypp
244 %dir %{_sysconfdir}/zypp/repos.d
245 %dir %{_sysconfdir}/zypp/services.d
246 %dir %{_sysconfdir}/zypp/systemCheck.d
247 %dir %{_sysconfdir}/zypp/vars.d
248 %dir %{_sysconfdir}/zypp/vendors.d
249 %dir %{_sysconfdir}/zypp/multiversion.d
250 %config(noreplace) %{_sysconfdir}/zypp/needreboot
251 %dir %{_sysconfdir}/zypp/needreboot.d
252 %dir %{_sysconfdir}/zypp/credentials.d
253 %config(noreplace) %{_sysconfdir}/zypp/zypp.conf
254 %config(noreplace) %{_sysconfdir}/zypp/systemCheck
255 %config(noreplace) %{_sysconfdir}/logrotate.d/zypp-history.lr
256 %dir %{_var}/lib/zypp
257 %dir %attr(750,root,root) %{_var}/log/zypp
258 %dir %{_var}/cache/zypp
262 %{_libdir}/libzypp*so.*
263 %{_libexecdir}/zypp/zypp-rpm
266 %manifest %{name}.manifest
268 %{_libdir}/libzypp.so
270 %{_includedir}/zypp-core
271 %{_includedir}/zypp-curl
272 %{_includedir}/zypp-media
273 %{_includedir}/zypp-tui
274 %{_datadir}/cmake/Modules/*
275 %{_libdir}/pkgconfig/libzypp.pc
276 %{_libdir}/libzypp-tui.a