rpm/rpm.spec

345 lines
9.8 KiB
RPMSpec
Raw Normal View History

2019-09-30 11:16:24 -04:00
Name: rpm
2020-01-10 17:01:49 +08:00
Version: 4.15.1
2020-02-14 14:07:51 +08:00
Release: 8
2019-09-30 11:16:24 -04:00
Summary: RPM Package Manager
License: GPLv2+
URL: http://www.rpm.org/
2020-01-10 17:01:49 +08:00
Source0: http://ftp.rpm.org/releases/rpm-4.15.x/%{name}-%{version}.tar.bz2
2019-09-30 11:16:24 -04:00
2020-01-10 17:01:49 +08:00
Patch1: 0001-Unbundle-config-site-and-add-RPM-LD-FLAGS-macro.patch
Patch2: rpm-4.12.0-rpm2cpio-hack.patch
Patch3: 0001-find-debuginfo.sh-decompress-DWARF-compressed-ELF-se.patch
2020-02-14 14:07:51 +08:00
Patch4: 0001-skip-updating-the-preferences.patch
2019-09-30 11:16:24 -04:00
2020-01-10 17:01:49 +08:00
Patch9000: bugfix-rpm-4.11.3-add-aarch64_ilp32-arch.patch
Patch9001: 0001-bugfix-rpm-4.14.2-fix-tty-failed.patch
Patch9002: bugfix-rpm-4.14.2-wait-once-get-rpmlock-fail.patch
2019-09-30 11:16:24 -04:00
2019-12-13 16:07:07 +08:00
BuildRequires: gcc autoconf automake libtool make gawk popt-devel openssl-devel readline-devel libdb-devel
2019-09-30 11:16:24 -04:00
BuildRequires: zlib-devel libzstd-devel xz-devel bzip2-devel libarchive-devel ima-evm-utils-devel
2020-01-18 17:10:45 +08:00
BuildRequires: dbus-devel fakechroot elfutils-devel elfutils-libelf-devel ima-evm-utils
2019-09-30 11:16:24 -04:00
BuildRequires: lua-devel libcap-devel libacl-devel libselinux-devel file-devel gettext-devel ncurses-devel
2020-02-14 14:07:51 +08:00
BuildRequires: system-rpm-config gdb dwz
2020-01-18 17:10:45 +08:00
Requires: coreutils popt curl zstd libcap gnupg2 crontabs logrotate libdb-utils %{name}-libs
2020-01-20 11:02:18 +08:00
Obsoletes: %{name}-build-libs %{name}-sign-libs %{name}-sign %{name}-cron
Provides: %{name}-build-libs %{name}-sign-libs %{name}-sign %{name}-cron
2019-09-30 11:16:24 -04:00
Obsoletes: %{name}-plugin-selinux %{name}-plugin-syslog %{name}-plugin-systemd-inhibit %{name}-plugin-ima %{name}-plugin-prioreset
Provides: %{name}-plugin-selinux %{name}-plugin-syslog %{name}-plugin-systemd-inhibit %{name}-plugin-ima %{name}-plugin-prioreset
%description
The RPM Package Manager (RPM) is a powerful package management system capability as below
-building computer software from source into easily distributable packages
-installing, updating and uninstalling packaged software
-querying detailed information about the packaged software, whether installed or not
-verifying integrity of packaged software and resulting software installation
2020-01-18 17:10:45 +08:00
%package libs
2020-01-13 22:54:57 +08:00
Summary: Shared library of rpm 4.15
2020-01-18 17:10:45 +08:00
%description libs
2020-01-13 22:54:57 +08:00
Shared library of rpm 4.15.
2019-09-30 11:16:24 -04:00
%package build
Summary: Scripts and executable programs used to build packages
Requires: %{name} = %{version}-%{release}
Requires: elfutils binutils findutils sed grep gawk diffutils file patch
Requires: tar unzip gzip bzip2 cpio xz zstd pkgconfig system-rpm-config
%description build
This package provides scripts and executable programs that used to
build rpm packages.
%package -n python2-%{name}
Summary: Python2 bindings for RPM user
BuildRequires: python2-devel
%{?python_provide:%python_provide python2-%{name}}
Requires: %{name} = %{version}-%{release}
Provides: %{name}-python = %{version}-%{release}
Obsoletes: %{name}-python < %{version}-%{release}
%description -n python2-%{name}
This package contains a module that allow applications
written with Python2 to use the interface
supplied by RPM.
%package -n python3-%{name}
Summary: Python3 bindings for RPM user
BuildRequires: python3-devel
%{?python_provide:%python_provide python3-%{name}}
Requires: %{name} = %{version}-%{release}
Provides: %{name}-python3 = %{version}-%{release}
Obsoletes: %{name}-python3 < %{version}-%{release}
%description -n python3-%{name}
This package contains a module that allow applications
written with Python3 to use the interface
supplied by RPM.
%package devel
Summary: Development files for RPM handling
Requires: %{name} = %{version}-%{release}
Requires: popt-devel
%description devel
%{summary}.
%package help
Summary: Man page for %{name}
BuildArch: noarch
Obsoletes: apidocs
%description help
%{summary}.
%prep
%autosetup -n %{name}-%{version} -p1
sed -ie 's:^python test:python2 test:g' tests/rpmtests tests/local.at
%build
CPPFLAGS="$CPPFLAGS -DLUA_COMPAT_APIINTCASTS"
CFLAGS="$RPM_OPT_FLAGS -DLUA_COMPAT_APIINTCASTS"
LDFLAGS="$LDFLAGS %{?__global_ldflags}"
export CPPFLAGS CFLAGS LDFLAGS
autoreconf -i -f
for i in $(find . -name ltmain.sh) ; do
%{__sed} -i.backup -e 's~compiler_flags=$~compiler_flags="%{_hardened_ldflags}"~' $i
done;
./configure \
--prefix=%{_usr} \
--sysconfdir=%{_sysconfdir} \
--localstatedir=%{_var} \
--sharedstatedir=%{_var}/lib \
--libdir=%{_libdir} \
--build=%{_target_platform} \
--host=%{_target_platform} \
--with-vendor=%{_vendor} \
--with-external-db \
--with-lua \
--with-selinux \
--with-cap \
--with-acl \
--with-imaevm \
--enable-zstd \
--enable-python \
--with-crypto=openssl
%make_build
pushd python
%{__python2} setup.py build
%{__python3} setup.py build
popd
%install
%make_install
pushd python
%{__python2} setup.py install --skip-build --root $RPM_BUILD_ROOT
%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT
popd
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily
install -m 755 scripts/rpm.daily ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/rpm
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
install -m 644 scripts/rpm.log ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/rpm
mkdir -p ${RPM_BUILD_ROOT}/usr/lib/tmpfiles.d
echo "r /var/lib/rpm/__db.*" > ${RPM_BUILD_ROOT}/usr/lib/tmpfiles.d/rpm.conf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d
mkdir -p $RPM_BUILD_ROOT/var/lib/rpm
for dbi in \
Basenames Conflictname Dirnames Group Installtid Name Obsoletename \
Packages Providename Requirename Triggername Sha1header Sigmd5 \
__db.001 __db.002 __db.003 __db.004 __db.005 __db.006 __db.007 \
__db.008 __db.009
do
touch $RPM_BUILD_ROOT/var/lib/rpm/$dbi
done
2020-01-10 17:01:49 +08:00
#./rpmdb --dbpath=$RPM_BUILD_ROOT/var/lib/rpm --initdb
2019-12-26 12:04:39 +08:00
for dbutil in dump load recover stat upgrade verify
do
ln -s ../../bin/db_${dbutil} $RPM_BUILD_ROOT/usr/lib/rpm/rpmdb_${dbutil}
done
2019-09-30 11:16:24 -04:00
%find_lang %{name}
find $RPM_BUILD_ROOT -name "*.la"|xargs rm -f
rm -f $RPM_BUILD_ROOT/%{_rpmconfigdir}/{perldeps.pl,perl.*,pythond*}
rm -f $RPM_BUILD_ROOT/%{_fileattrsdir}/{perl*,python*}
rm -f $RPM_BUILD_ROOT/%{_rpmconfigdir}/{tcl.req,osgideps.pl}
%check
2020-01-10 17:01:49 +08:00
make check || (cat tests/rpmtests.log; exit 0)
2019-09-30 11:16:24 -04:00
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
2020-02-14 14:07:51 +08:00
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
2019-09-30 11:16:24 -04:00
%files -f %{name}.lang
%defattr(-,root,root)
%license COPYING
%doc CREDITS
/usr/lib/tmpfiles.d/rpm.conf
%{_sysconfdir}/cron.daily/rpm
%config(noreplace) %{_sysconfdir}/logrotate.d/rpm
%dir %{_sysconfdir}/rpm
%dir /var/lib/rpm
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/rpm/*
%lang(fr) %{_mandir}/fr/man[18]/*.[18]*
%lang(ko) %{_mandir}/ko/man[18]/*.[18]*
%lang(ja) %{_mandir}/ja/man[18]/*.[18]*
%lang(pl) %{_mandir}/pl/man[18]/*.[18]*
%lang(ru) %{_mandir}/ru/man[18]/*.[18]*
%lang(sk) %{_mandir}/sk/man[18]/*.[18]*
%attr(0755, root, root) %dir %{_rpmconfigdir}
%{_rpmconfigdir}/macros
%{_rpmconfigdir}/macros.d
%{_rpmconfigdir}/rpmpopt*
%{_rpmconfigdir}/rpmrc
%{_rpmconfigdir}/rpmdb_*
%{_rpmconfigdir}/rpm.daily
%{_rpmconfigdir}/rpm.log
%{_rpmconfigdir}/rpm.supp
%{_rpmconfigdir}/rpm2cpio.sh
%{_rpmconfigdir}/tgpg
%{_rpmconfigdir}/platform
%{_libdir}/rpm-plugins/
%dir %{_rpmconfigdir}/fileattrs
%{_bindir}/rpm
%{_bindir}/rpm2archive
%{_bindir}/rpm2cpio
%{_bindir}/rpmdb
%{_bindir}/rpmkeys
%{_bindir}/rpmquery
%{_bindir}/rpmverify
%{_bindir}/rpmsign
2020-01-18 17:10:45 +08:00
%files libs
2020-01-13 22:54:57 +08:00
%{_libdir}/librpm*.so.9*
2019-09-30 11:16:24 -04:00
%files build
%defattr(-,root,root)
%{_bindir}/rpmbuild
%{_bindir}/gendiff
%{_bindir}/rpmspec
%{_rpmconfigdir}/brp-*
%{_rpmconfigdir}/check-*
%{_rpmconfigdir}/debugedit
%{_rpmconfigdir}/sepdebugcrcfix
%{_rpmconfigdir}/find-debuginfo.sh
%{_rpmconfigdir}/find-lang.sh
%{_rpmconfigdir}/*provides*
%{_rpmconfigdir}/*requires*
%{_rpmconfigdir}/*deps*
%{_rpmconfigdir}/*.prov
%{_rpmconfigdir}/*.req
%{_rpmconfigdir}/config.*
%{_rpmconfigdir}/mkinstalldirs
%{_rpmconfigdir}/fileattrs/*
%files -n python2-%{name}
%defattr(-,root,root)
%{python2_sitearch}/%{name}/
%{python2_sitearch}/%{name}-%{version}*.egg-info
%files -n python3-%{name}
%defattr(-,root,root)
%{python3_sitearch}/%{name}/
%{python3_sitearch}/%{name}-%{version}*.egg-info
%files devel
%defattr(-,root,root)
%{_bindir}/rpmgraph
%{_libdir}/librp*[a-z].so
%{_libdir}/pkgconfig/%{name}.pc
%{_includedir}/%{name}/
%files help
%defattr(-,root,root)
%doc doc/manual/[a-z]*
%doc doc/librpm/html/*
%{_mandir}/man8/rpm*.8*
%{_mandir}/man1/gendiff.1*
%changelog
2020-02-14 14:07:51 +08:00
* Fri Feb 14 2020 openEuler Buildteam <buildteam@openeuler.org> - 4.15.1-8
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:skip update the preference of gpg during make check
2020-01-20 11:02:18 +08:00
* Mon Jan 20 2020 openEuler Buildteam <buildteam@openeuler.org> - 4.15.1-7
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:delete unneeded obsoletes
2020-01-18 17:10:45 +08:00
* Sat Jan 18 2020 openEuler Buildteam <buildteam@openeuler.org> - 4.15.1-6
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:delete unneeded shared library
2020-01-15 00:30:00 +08:00
* Tue Jan 14 2020 openEuler Buildteam <buildteam@openeuler.org> - 4.15.1-5
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:change requires to build requires
* Tue Jan 14 2020 openEuler Buildteam <buildteam@openeuler.org> - 4.15.1-4
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:add build requires of ima-evm-utils and old shared library
2020-01-14 15:03:09 +08:00
* Mon Jan 13 2020 openEuler Buildteam <buildteam@openeuler.org> - 4.15.1-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:add requires of shared library
2020-01-13 22:54:57 +08:00
* Mon Jan 13 2020 openEuler Buildteam <buildteam@openeuler.org> - 4.15.1-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:add subpack of librpm8 and librpm9 to support update
2020-01-10 17:01:49 +08:00
* Fri Jan 10 2020 openEuler Buildteam <buildteam@openeuler.org> - 4.15.1-1
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:update version to 4.15.1
2019-12-26 12:04:39 +08:00
* Tue Dec 24 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.14.2-5
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:bugfix in files
2019-12-13 16:07:07 +08:00
* Wed Nov 13 2019 hexiaowen<hexiaowen@huawei.com> - 4.14.2-4
- add system-rpm-config buildrequires
2019-09-30 11:16:24 -04:00
* Fri Sep 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.14.2-3
- Delete redundant information
* Mon Sep 09 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.14.2-2
- Package init