1 %define rpmhome /usr/lib/rpm
4 BuildRequires: binutils
6 BuildRequires: file-devel
7 BuildRequires: findutils
9 BuildRequires: gettext-tools
10 BuildRequires: glibc-devel
12 BuildRequires: libacl-devel
13 BuildRequires: pkgconfig(bzip2)
14 BuildRequires: libcap-devel
15 BuildRequires: libelf-devel
16 BuildRequires: libtool
17 BuildRequires: pkgconfig(lua)
19 BuildRequires: pkgconfig(ncurses)
21 BuildRequires: pkgconfig(popt)
22 BuildRequires: xz-devel
23 BuildRequires: pkgconfig(zlib)
24 BuildRequires: pkgconfig(nss)
25 BuildRequires: uthash-devel
26 BuildRequires: libxml2-devel
27 BuildRequires: libattr-devel
28 BuildRequires: pkgconfig(libsmack)
33 Summary: The RPM Package Manager
35 Group: System/Packages
38 Source0: rpm-%{version}.tar.bz2
39 Source1: db-4.8.30.tar.bz2
40 Source2: db-4.8.30-integration.dif
41 Source4: rpm-tizen_macros
42 Source8: rpmconfigcheck
43 Source13: find-docs.sh
44 Source22: device-sec-policy
45 BuildRoot: %{_tmppath}/%{name}-%{version}-build
47 # avoid bootstrapping problem
48 %define _binary_payload w9.bzdio
51 RPM Package Manager is the main tool for managing the software packages
54 RPM can be used to install and remove software packages. With rpm, it
55 is easy to update packages. RPM keeps track of all these manipulations
56 in a central database. This way it is possible to get an overview of
57 all installed packages. RPM also supports database queries.
60 Summary: Include Files and Libraries mandatory for Development
61 Group: System/Packages
62 Requires: rpm = %{version}
66 This package contains the RPM C library and header files. These
67 development files will simplify the process of writing programs which
68 manipulate RPM packages and databases and are intended to make it
69 easier to create graphical package managers or any other tools that
70 need an intimate knowledge of RPM packages in order to function.
73 Summary: Tools and Scripts to create rpm packages
74 Group: System/Packages
75 Requires: rpm = %{version}
76 Provides: rpmbuild rpm:%_bindir/rpmbuild
88 If you want to build a rpm, you need this package. It provides rpmbuild
89 and requires some packages that are usually required
91 %package security-plugin
92 Summary: MSM security plugin for rpm
93 Group: Development/Libraries
94 Requires: rpm = %{version}-%{release}
99 %description security-plugin
100 This package contains the MSM security plugin for rpm that performs
101 security-related functionality.
105 %setup -q -n rpm-%{version}
110 # will get linked from db3
114 if [ -s /etc/rpm/tizen_macros ]; then
115 cp -a /etc/rpm/tizen_macros %{SOURCE4}
117 cp -a %{SOURCE4} tizen_macros
122 CPPFLAGS="$CPPFLAGS `pkg-config --cflags nss`"
124 export CFLAGS="%{optflags} -ffunction-sections"
125 export LDFLAGS="-Wl,-Bsymbolic-functions -ffunction-sections"
127 export CFLAGS="-g -O0 -fno-strict-aliasing -ffunction-sections"
132 BUILDTARGET="--build=%{_target_cpu}-tizen-linux-gnueabi"
134 BUILDTARGET="--build=%{_target_cpu}-tizen-linux"
139 ./configure --disable-dependency-tracking --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
140 --libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --with-lua \
141 --with-acl --with-cap --enable-shared %{?with_python: --enable-python} --with-msm $BUILDTARGET
146 mkdir -p %{buildroot}/usr/lib
147 mkdir -p %{buildroot}/usr/share/locale
148 ln -s ../share/locale %{buildroot}/usr/lib/locale
150 install -m 644 db3/db.h %{buildroot}/usr/include/rpm
151 # remove .la file and the static variant of libpopt
152 # have to remove the dependency from other .la files as well
153 #for f in %{buildroot}/%{_libdir}/*.la; do
154 # sed -i -e "s,/%_lib/libpopt.la,-lpopt,g" $f
156 mkdir -p %{buildroot}%{_sysconfdir}/rpm
157 cp -a tizen_macros %{buildroot}/usr/lib/rpm
158 mkdir -p %{buildroot}/usr/lib/rpm/tizen
159 install -m 755 %{SOURCE13} %{buildroot}/usr/lib/rpm/tizen
160 install -m 644 %{SOURCE22} ${RPM_BUILD_ROOT}%{_sysconfdir}/device-sec-policy
161 ln -s ../tizen_macros %{buildroot}/usr/lib/rpm/tizen/macros
162 for d in BUILD RPMS SOURCES SPECS SRPMS BUILDROOT ; do
163 mkdir -p %{buildroot}/usr/src/packages/$d
164 chmod 755 %{buildroot}/usr/src/packages/$d
166 for d in %{buildroot}/usr/lib/rpm/platform/*-linux/macros ; do
167 dd=${d%%-linux/macros}
169 mkdir %{buildroot}/usr/src/packages/RPMS/$dd
170 chmod 755 %{buildroot}/usr/src/packages/RPMS/$dd
172 mkdir -p %{buildroot}/var/lib/rpm
173 gzip -9 %{buildroot}/%{_mandir}/man[18]/*.[18]
174 export RPM_BUILD_ROOT
176 rm -rf doc/manual/Makefile*
177 rm -f %{buildroot}/usr/lib/rpmpopt
178 rm -rf %{buildroot}%{_mandir}/{fr,ja,ko,pl,ru,sk}
179 rm -f %{buildroot}%{_prefix}/share/locale/de/LC_MESSAGES/rpm.mo
180 rm -f %{buildroot}/usr/lib/rpm/cpanflute %{buildroot}/usr/lib/rpm/cpanflute2
181 install -m 755 scripts/find-supplements{,.ksyms} %{buildroot}/usr/lib/rpm
182 install -m 755 scripts/firmware.prov %{buildroot}/usr/lib/rpm
183 install -m 755 scripts/debuginfo.prov %{buildroot}/usr/lib/rpm
184 rm -f %{buildroot}/usr/lib/locale %{buildroot}/usr/lib/rpmrc
185 mkdir -p %{buildroot}/etc/rpm
186 chmod 755 %{buildroot}/etc/rpm
187 mkdir -p %{buildroot}%{rpmhome}/macros.d
188 # remove some nonsense or non-working scripts
189 pushd %{buildroot}/usr/lib/rpm/
190 for f in rpm2cpio.sh rpm.daily rpmdiff* rpm.log rpm.xinetd freshen.sh u_pkg.sh \
191 magic magic.mgc magic.mime* rpmfile *.pl javadeps brp-redhat \
192 brp-strip-static-archive vpkg-provides*.sh http.req sql.req tcl.req \
193 rpmdb_* brp-sparc64-linux brp-strip-comment-note brp-java-gcjcompile
197 for i in /usr/share/automake-*/*; do
198 if test -f "$i" && test -f "${i##*/}"; then
203 rm -rf %{buildroot}/%{_libdir}/python%{py_ver}
204 rm -f %{buildroot}%{_libdir}/*.la
205 rm -f %{buildroot}%{_libdir}/rpm-plugins/*.la
206 sh %{buildroot}/usr/lib/rpm/find-lang.sh %{buildroot} rpm
208 # rpm is using the host_cpu as default for the platform, but armv7hl is not known by the kernel.
209 # so we need to enforce the platform here.
210 # We don't want to use armv7l because it would make us incompatible to Fedora and MeeGo plattforms.
211 echo -n armv7hl-tizen-linux> %{buildroot}/etc/rpm/platform
215 test -f var/lib/rpm/Packages || rpm --initdb
216 rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion var/lib/rpm/Provideversion
220 %defattr(-,root,root)
230 %attr(0755, root, root) %dir %{rpmhome}
235 %{rpmhome}/tizen/macros
236 %{rpmhome}/tizen_macros
241 %dir %{_libdir}/rpm-plugins
242 %{_libdir}/rpm-plugins/exec.so
243 %{_libdir}/librpm.so.*
244 %{_libdir}/librpmio.so.*
245 %{_libdir}/librpmbuild.so.*
246 %{_libdir}/librpmsign.so.*
247 %doc %{_mandir}/man[18]/*.[18]*
249 %dir %attr(755,root,root) /usr/src/packages/BUILD
250 %dir %attr(755,root,root) /usr/src/packages/SPECS
251 %dir %attr(755,root,root) /usr/src/packages/SOURCES
252 %dir %attr(755,root,root) /usr/src/packages/SRPMS
253 %dir %attr(755,root,root) /usr/src/packages/RPMS
254 %dir %attr(755,root,root) /usr/src/packages/BUILDROOT
255 %dir %attr(755,root,root) /usr/src/packages/RPMS/*
258 %defattr(-,root,root)
264 %{rpmhome}/tizen/find-*
266 %{rpmhome}/find-supplements*
269 %{rpmhome}/find-debuginfo.sh
270 %{rpmhome}/find-lang.sh
271 %{rpmhome}/*provides*
272 %{rpmhome}/*requires*
281 %defattr(644,root,root,755)
285 %{_libdir}/librpmbuild.so
286 %{_libdir}/librpmio.so
287 %{_libdir}/librpmsign.so
288 %{_libdir}/pkgconfig/rpm.pc
290 %files security-plugin
291 %defattr(-,root,root)
292 %{_libdir}/rpm-plugins/msm.so
293 %config(noreplace) %{_sysconfdir}/device-sec-policy