From: Ronan Le Martret Date: Tue, 22 Apr 2014 12:12:40 +0000 (+0200) Subject: Merge python-rpm.spec into rpm.spec and cleaning up the spec file. X-Git-Tag: submit/tizen/20140515.122830^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d81d7b2f5c69ec104400b5d8fcfbcbc88d3bfd63;p=platform%2Fupstream%2Frpm.git Merge python-rpm.spec into rpm.spec and cleaning up the spec file. Change-Id: Idb234fbe0d1adddeae2523c05879cc09929dddc2 Signed-off-by: Ronan Le Martret --- diff --git a/packaging/python-rpm.spec b/packaging/python-rpm.spec deleted file mode 100644 index afd680a..0000000 --- a/packaging/python-rpm.spec +++ /dev/null @@ -1,62 +0,0 @@ -Name: python-rpm -Version: 4.11.0.1 -Release: 0 -Summary: Python Bindings for Manipulating RPM Packages -License: GPL-2.0+ -Group: Base/Package Management -Source99: rpm.spec -BuildRequires: gettext-tools -BuildRequires: file-devel -BuildRequires: libacl-devel -BuildRequires: bzip2-devel -BuildRequires: libcap-devel -BuildRequires: libelf-devel -BuildRequires: libtool -BuildRequires: lua-devel -BuildRequires: ncurses-devel -BuildRequires: popt-devel -BuildRequires: python-devel -BuildRequires: xz-devel -BuildRequires: zlib-devel -BuildRequires: nss-devel -BuildRequires: uthash-devel -BuildRequires: libxml2-devel -BuildRequires: libattr-devel -BuildRequires: pkgconfig(libsmack) -Requires: rpm = %{version} -%{expand:%(sed -n -e '/^### SOURCES BEGIN ###/,/^### SOURCES END ###/p' <%_sourcedir/rpm.spec)} -Source0: rpm-%{version}.tar.bz2 -%global with_python 2 - -%description -The python-rpm package contains a module that permits applications -written in the Python programming language to use the interface -supplied by RPM Package Manager libraries. - -This package should be installed if you want to develop Python programs -that will manipulate RPM packages and databases. - -%prep -%setup -q -n rpm-%{version} -%{expand:%(sed -n -e '/^### PREP BEGIN ###/,/^### PREP END ###/p' <%_sourcedir/rpm.spec)} - -%build -%{expand:%(sed -n -e '/^### BUILD BEGIN ###/,/^### BUILD END ###/p' <%_sourcedir/rpm.spec)} - -%install -mkdir -p %{buildroot}%{_prefix}/lib -# only installing in python/ does not work because rpm links against -# installed libs at install time -%make_install -find %{buildroot} -not -type d -and -not -path %{buildroot}%{_libdir}/python*/site-packages/rpm/\* -print0 | xargs -0 rm -pushd %{buildroot}/%{_libdir}/python*/site-packages/rpm -rm -f _rpmmodule.a _rpmmodule.la -#python %{_libdir}/python*/py_compile.py *.py -#python -O %{_libdir}/python*/py_compile.py *.py -popd - -%files -%defattr(-,root,root) -%{_libdir}/python*/*/* - -%changelog diff --git a/packaging/rpm.spec b/packaging/rpm.spec index 56f51b7..8ad49e8 100644 --- a/packaging/rpm.spec +++ b/packaging/rpm.spec @@ -1,7 +1,8 @@ -%define rpmhome /usr/lib/rpm +%define rpmlibdir %{_prefix}/lib +%define rpmhome %{rpmlibdir}/rpm Name: rpm -Summary: The RPM Package Manager +Summary: The Package Manager License: GPL-2.0+ Group: Base/Package Management Version: 4.11.0.1 @@ -16,8 +17,9 @@ BuildRequires: gettext-tools BuildRequires: glibc-devel BuildRequires: gzip BuildRequires: libacl-devel +BuildRequires: libattr-devel BuildRequires: pkgconfig(bzip2) -BuildRequires: libcap-devel +BuildRequires: pkgconfig(libcap) BuildRequires: libelf-devel BuildRequires: libtool BuildRequires: pkgconfig(lua) @@ -30,26 +32,21 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(nss) BuildRequires: uthash-devel BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: libattr-devel BuildRequires: pkgconfig(libsmack) - +BuildRequires: fdupes Provides: rpminst -Provides: rpm-libs - -### SOURCES BEGIN ### -Source1: db-4.8.30.tar.bz2 -Source2: db-4.8.30-integration.dif -Source4: rpm-tizen_macros -Source8: rpmconfigcheck -Source13: find-docs.sh -Source22: device-sec-policy -Source23: find-provides.ksyms -Source1001: rpm.manifest -### SOURCES END ### +Provides: rpm-libs + +Source1: db-4.8.30.tar.bz2 +Source2: db-4.8.30-integration.dif +Source4: rpm-tizen_macros +Source8: rpmconfigcheck +Source13: find-docs.sh +Source22: device-sec-policy +Source23: find-provides.ksyms +Source1001: rpm.manifest Source0: rpm-%{version}.tar.bz2 - -BuildRoot: %{_tmppath}/%{name}-%{version}-build # # avoid bootstrapping problem %define _binary_payload w9.bzdio @@ -66,7 +63,7 @@ all installed packages. RPM also supports database queries. %package devel Summary: Include Files and Libraries mandatory for Development Requires: rpm = %{version} -Requires: popt-devel +Requires: pkgconfig(popt) %description devel This package contains the RPM C library and header files. These @@ -78,7 +75,7 @@ need an intimate knowledge of RPM packages in order to function. %package build Summary: Tools and Scripts to create rpm packages Requires: rpm = %{version} -Provides: rpmbuild rpm:%_bindir/rpmbuild +Provides: rpmbuild rpm:%{_bindir}/rpmbuild Requires: bzip2 Requires: xz Requires: gzip @@ -91,23 +88,33 @@ Requires: glibc-devel %description build If you want to build a rpm, you need this package. It provides rpmbuild -and requires some packages that are usually required +and requires some packages that are usually required %package security-plugin Summary: MSM security plugin for rpm Requires: rpm = %{version}-%{release} Requires: smack -Requires: libxml2 Requires: nss %description security-plugin This package contains the MSM security plugin for rpm that performs -security-related functionality. +security-related functionality. +%package -n python-rpm +Summary: Python Bindings for Manipulating RPM Packages +Requires: rpm = %{version} +BuildRequires: pkgconfig(python) + +%description -n python-rpm +The python-rpm package contains a module that permits applications +written in the Python programming language to use the interface +supplied by RPM Package Manager libraries. + +This package should be installed if you want to develop Python programs +that will manipulate RPM packages and databases. %prep %setup -q -n rpm-%{version} -### PREP BEGIN ### cp %{SOURCE1001} . rm -rf sqlite tar xjf %{S:1} @@ -116,88 +123,85 @@ chmod -R u+w db/* # will get linked from db3 rm -f rpmdb/db.h patch -p0 < %{S:2} - -if [ -s /etc/rpm/tizen_macros ]; then - cp -a /etc/rpm/tizen_macros %{SOURCE4} +if [ -s %{_sysconfdir}/rpm/tizen_macros ]; then + cp -a %{_sysconfdir}/rpm/tizen_macros %{SOURCE4} fi cp -a %{SOURCE4} tizen_macros rm -f m4/libtool.m4 rm -f m4/lt*.m4 -### PREP END ### %build -### BUILD BEGIN ### CPPFLAGS="$CPPFLAGS `pkg-config --cflags nss`" -export CPPFLAGS +export CPPFLAGS export CFLAGS="%{optflags} -ffunction-sections" -export LDFLAGS="-Wl,-Bsymbolic-functions -ffunction-sections" +export LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic-functions -ffunction-sections" %ifarch armv5tel export CFLAGS="-g -O0 -fno-strict-aliasing -ffunction-sections" %endif %if %{_target_cpu} +BUILDTARGET="--host=%{_target_cpu}-linux-gnu " %ifarch %arm -BUILDTARGET="--build=%{_target_cpu}-tizen-linux-gnueabi" +BUILDTARGET+="--build=%{_target_cpu}-tizen-linux-gnueabi " %else -BUILDTARGET="--build=%{_target_cpu}-tizen-linux" +BUILDTARGET+="--build=%{_target_cpu}-tizen-linux " %endif %endif -autoreconf -i -f -./configure --disable-dependency-tracking --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ ---libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --with-lua \ ---with-acl --with-cap --enable-shared %{?with_python: --enable-python} --with-msm $BUILDTARGET +%reconfigure \ + --disable-dependency-tracking \ + --with-lua \ + --with-acl \ + --with-cap \ + --enable-shared \ + --enable-python \ + --with-msm \ + $BUILDTARGET make %{?_smp_mflags} -### BUILD END ### %install -mkdir -p %{buildroot}/usr/lib -mkdir -p %{buildroot}/usr/share/locale -ln -s ../share/locale %{buildroot}/usr/lib/locale +mkdir -p %{buildroot}%{rpmlibdir} +mkdir -p %{buildroot}%{_datadir}/locale +ln -s ../share/locale %{buildroot}%{rpmlibdir}/locale %make_install -install -m 644 db3/db.h %{buildroot}/usr/include/rpm -# remove .la file and the static variant of libpopt -# have to remove the dependency from other .la files as well -#for f in %{buildroot}/%{_libdir}/*.la; do -# sed -i -e "s,/%_lib/libpopt.la,-lpopt,g" $f -#done +install -m 644 db3/db.h %{buildroot}%{_includedir}/rpm mkdir -p %{buildroot}%{_sysconfdir}/rpm -cp -a tizen_macros %{buildroot}/usr/lib/rpm -mkdir -p %{buildroot}/usr/lib/rpm/tizen -install -m 755 %{SOURCE13} %{buildroot}/usr/lib/rpm/tizen -install -m 755 %{SOURCE23} %{buildroot}/usr/lib/rpm +cp -a tizen_macros %{buildroot}%{rpmhome} +mkdir -p %{buildroot}%{rpmhome}/tizen +install -m 755 %{SOURCE13} %{buildroot}%{rpmhome}/tizen +install -m 755 %{SOURCE23} %{buildroot}%{rpmhome} install -m 644 %{SOURCE22} %{buildroot}%{_sysconfdir}/device-sec-policy -install -m 644 %{SOURCE22} %{buildroot}%{_libdir}/rpm-plugins/msm-device-sec-policy -ln -s ../tizen_macros %{buildroot}/usr/lib/rpm/tizen/macros +install -m 644 %{SOURCE22} %{buildroot}%{__plugindir}/msm-device-sec-policy +ln -s ../tizen_macros %{buildroot}%{rpmhome}/tizen/macros for d in BUILD RPMS SOURCES SPECS SRPMS BUILDROOT ; do - mkdir -p %{buildroot}/usr/src/packages/$d - chmod 755 %{buildroot}/usr/src/packages/$d + mkdir -p %{buildroot}%{_usrsrc}/packages/$d + chmod 755 %{buildroot}%{_usrsrc}/packages/$d done -for d in %{buildroot}/usr/lib/rpm/platform/*-linux/macros ; do +for d in %{buildroot}%{rpmhome}/platform/*-linux/macros ; do dd=${d%%-linux/macros} dd=${dd##*/} - mkdir %{buildroot}/usr/src/packages/RPMS/$dd - chmod 755 %{buildroot}/usr/src/packages/RPMS/$dd + mkdir -p %{buildroot}%{_usrsrc}/packages/RPMS/$dd + chmod 755 %{buildroot}%{_usrsrc}/packages/RPMS/$dd done -mkdir -p %{buildroot}/var/lib/rpm -gzip -9 %{buildroot}/%{_mandir}/man[18]/*.[18] +mkdir -p %{buildroot}%{_localstatedir}/lib/rpm +gzip -9 %{buildroot}%{_mandir}/man[18]/*.[18] export RPM_BUILD_ROOT chmod 755 doc/manual rm -rf doc/manual/Makefile* -rm -f %{buildroot}/usr/lib/rpmpopt +rm -f %{buildroot}%{rpmlibdir}/rpmpopt rm -rf %{buildroot}%{_mandir}/{fr,ja,ko,pl,ru,sk} -rm -f %{buildroot}%{_prefix}/share/locale/de/LC_MESSAGES/rpm.mo -rm -f %{buildroot}/usr/lib/rpm/cpanflute %{buildroot}/usr/lib/rpm/cpanflute2 -install -m 755 scripts/find-supplements{,.ksyms} %{buildroot}/usr/lib/rpm -install -m 755 scripts/firmware.prov %{buildroot}/usr/lib/rpm -install -m 755 scripts/debuginfo.prov %{buildroot}/usr/lib/rpm -rm -f %{buildroot}/usr/lib/locale %{buildroot}/usr/lib/rpmrc -mkdir -p %{buildroot}/etc/rpm -chmod 755 %{buildroot}/etc/rpm +rm -f %{buildroot}%{_datadir}/locale/de/LC_MESSAGES/rpm.mo +rm -f %{buildroot}%{rpmhome}/cpanflute %{buildroot}%{rpmhome}/cpanflute2 +install -m 755 scripts/find-supplements{,.ksyms} %{buildroot}%{rpmhome} +install -m 755 scripts/firmware.prov %{buildroot}%{rpmhome} +install -m 755 scripts/debuginfo.prov %{buildroot}%{rpmhome} +rm -f %{buildroot}%{rpmlibdir}/locale %{buildroot}%{rpmlibdir}/rpmrc +mkdir -p %{buildroot}%{_sysconfdir}/rpm +chmod 755 %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{rpmhome}/macros.d # remove some nonsense or non-working scripts -pushd %{buildroot}/usr/lib/rpm/ +pushd %{buildroot}%{rpmhome}/ for f in rpm2cpio.sh rpm.daily rpmdiff* rpm.log rpm.xinetd freshen.sh u_pkg.sh \ magic magic.mgc magic.mime* rpmfile *.pl javadeps brp-redhat \ brp-strip-static-archive vpkg-provides*.sh http.req sql.req tcl.req \ @@ -205,36 +209,43 @@ for f in rpm2cpio.sh rpm.daily rpmdiff* rpm.log rpm.xinetd freshen.sh u_pkg.sh \ do rm -f $f done -for i in /usr/share/automake-*/*; do +for i in %{_datadir}/automake-*/*; do if test -f "$i" && test -f "${i##*/}"; then rm -f "${i##*/}" fi done popd -rm -rf %{buildroot}/%{_libdir}/python%{py_ver} rm -f %{buildroot}%{_libdir}/*.la -rm -f %{buildroot}%{_libdir}/rpm-plugins/*.la -sh %{buildroot}/usr/lib/rpm/find-lang.sh %{buildroot} rpm +rm -f %{buildroot}%{__plugindir}/*.la + +%fdupes %{buildroot}%{rpmhome}/platform + +sh %{buildroot}%{rpmhome}/find-lang.sh %{buildroot} rpm + %ifarch armv7hl armv7l -# rpm is using the host_cpu as default for the platform, but armv7hl is not known by the kernel. +# rpm is using the host_cpu as default for the platform, +#but armv7hl is not known by the kernel. # so we need to enforce the platform here. -echo -n %{_target_cpu}-tizen-linux-gnueabi > %{buildroot}/etc/rpm/platform +echo -n %{_target_cpu}-tizen-linux-gnueabi > %{buildroot}%{_sysconfdir}/rpm/platform %endif %post /sbin/ldconfig -test -f var/lib/rpm/Packages || rpm --initdb -rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion var/lib/rpm/Provideversion +test -f %{_dbpath}/Packages || rpm --initdb +rm -f %{_dbpath}/Filemd5s \ + %{_dbpath}/Filedigests \ + %{_dbpath}/Requireversion \ + %{_dbpath}/Provideversion -%postun +%postun /sbin/ldconfig %files %manifest %{name}.manifest %defattr(-,root,root) %license COPYING - /etc/rpm - /bin/rpm +%{_sysconfdir}/rpm +/bin/rpm %{_bindir}/rpm2cpio %{_bindir}/rpmdb %{_bindir}/rpmkeys @@ -251,21 +262,20 @@ rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion va %{rpmhome}/rpm.supp %{rpmhome}/tgpg %{rpmhome}/platform - -%dir %{_libdir}/rpm-plugins - %{_libdir}/rpm-plugins/exec.so - %{_libdir}/librpm.so.* - %{_libdir}/librpmio.so.* - %{_libdir}/librpmbuild.so.* - %{_libdir}/librpmsign.so.* -%dir /var/lib/rpm -%dir %attr(755,root,root) /usr/src/packages/BUILD -%dir %attr(755,root,root) /usr/src/packages/SPECS -%dir %attr(755,root,root) /usr/src/packages/SOURCES -%dir %attr(755,root,root) /usr/src/packages/SRPMS -%dir %attr(755,root,root) /usr/src/packages/RPMS -%dir %attr(755,root,root) /usr/src/packages/BUILDROOT -%dir %attr(755,root,root) /usr/src/packages/RPMS/* +%dir %{__plugindir} +%{__plugindir}/exec.so +%{_libdir}/librpm.so.* +%{_libdir}/librpmio.so.* +%{_libdir}/librpmbuild.so.* +%{_libdir}/librpmsign.so.* +%dir %{_localstatedir}/lib/rpm +%dir %attr(755,root,root) %{_usrsrc}/packages/BUILD +%dir %attr(755,root,root) %{_usrsrc}/packages/SPECS +%dir %attr(755,root,root) %{_usrsrc}/packages/SOURCES +%dir %attr(755,root,root) %{_usrsrc}/packages/SRPMS +%dir %attr(755,root,root) %{_usrsrc}/packages/RPMS +%dir %attr(755,root,root) %{_usrsrc}/packages/BUILDROOT +%dir %attr(755,root,root) %{_usrsrc}/packages/RPMS/* %files build %manifest %{name}.manifest @@ -274,7 +284,6 @@ rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion va %{_bindir}/gendiff %{_bindir}/rpmspec %{_bindir}/rpmsign - %{rpmhome}/tizen/find-* %{rpmhome}/brp-* %{rpmhome}/find-supplements* @@ -291,27 +300,30 @@ rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion va %{rpmhome}/macros.* %{rpmhome}/fileattrs - %files devel %manifest %{name}.manifest %defattr(644,root,root,755) -%{_bindir}/rpmgraph -/usr/include/rpm - %{_libdir}/librpm.so - %{_libdir}/librpmbuild.so - %{_libdir}/librpmio.so - %{_libdir}/librpmsign.so - %{_libdir}/pkgconfig/rpm.pc +%attr(755,root,root) %{_bindir}/rpmgraph +%{_includedir}/rpm +%{_libdir}/librpm.so +%{_libdir}/librpmbuild.so +%{_libdir}/librpmio.so +%{_libdir}/librpmsign.so +%{_libdir}/pkgconfig/rpm.pc %files security-plugin %manifest %{name}.manifest %defattr(-,root,root) -%{_libdir}/rpm-plugins/msm.so -%{_libdir}/rpm-plugins/msm-device-sec-policy +%{__plugindir}/msm.so +%{__plugindir}/msm-device-sec-policy %config(noreplace) %{_sysconfdir}/device-sec-policy +%files -n python-rpm +%defattr(-,root,root) +%{_libdir}/python*/site-packages/rpm +%attr(755,root,root) %{_libdir}/python*/site-packages/rpm/transaction.py + %lang_package %docs_package -%doc GROUPS - +%doc GROUPS