1 Star 0 Fork 21

ouuleilei/dpkg

forked from openEuler-RISC-V/dpkg 
Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
dpkg.spec 7.40 KB
Copy Edit Raw Blame History
zhangwenlong01 authored 2023-03-10 09:47 . add loongarch support for dpkg
%global enable_dev_package 0
Name: dpkg
Version: 1.18.25
Release: 13
Summary: Package maintenance system for Debian Linux
License: GPL-2.0-only and GPL-2.0-or-later and LGPL-2.0-or-later and Public Domain and BSD-2-Clause
URL: https://tracker.debian.org/pkg/dpkg
Source0: http://ftp.debian.org/debian/pool/main/d/%{name}/%{name}_%{version}.tar.xz
BuildRequires: zlib-devel bzip2-devel libselinux-devel gettext ncurses-devel
BuildRequires: autoconf automake doxygen gettext-devel gcc-c++ libtool
BuildRequires: flex fakeroot xz-devel dotconf-devel po4a >= 0.43
BuildRequires: perl-interpreter
BuildRequires: perl-devel
BuildRequires: perl-generators
BuildRequires: perl-Time-Piece
BuildRequires: perl(Digest)
BuildRequires: perl(Test::More)
BuildRequires: perl(IPC::Cmd)
BuildRequires: perl(Digest::SHA)
BuildRequires: perl(IO::String)
Requires(post): coreutils
Patch1: dpkg-fix-logrotate.patch
Patch2: dpkg-log-Change-logfile-permission-to-satisfy-with-s.patch
Patch3: CVE-2022-1664.patch
Patch4: add-loongarch-support-for-dpkg.patch
%description
Dpkg is a tool to install, build, remove and manageDebian packages. The
primary and more user-friendly front-end for dpkg is aptitude.
%package devel
Summary: Development package for dpkg
Provides: dpkg-static = %{version}-%{release}
%description devel
The development package for dpkg.
%if %{enable_dev_package}
%package dev
Summary: Debian package development tools
Requires: dpkg-perl = %{version}-%{release} binutils bzip2 lzma
Requires: make patch xz
Obsoletes: dpkg-devel < 1.16
BuildArch: noarch
%description dev
Debian package development tools for dpdk.
%endif
%package perl
Summary: Dpkg perl modules pacakge
Requires: dpkg = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(Digest::SHA) perl(Digest::SHA1) perl(Digest::SHA3)
Requires: perl-TimeDate perl-Time-Piece perl(Digest::MD5)
BuildArch: noarch
%description perl
This package contains dpdk perl modules.
%package help
Summary: Help documents for dpkg
%description help
The help documents for dpkg.
%prep
%autosetup -n %{name}-%{version} -p1
cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/perl(Dselect::Ftp)/d' -e '/perl(extra)/d' -e '/perl(file)/d' -e '/perl(dpkg-gettext.pl)/d' -e '/perl(controllib.pl)/d' -e '/perl(in)/d'
EOF
%define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
chmod +x %{__perl_requires}
sed -i 's/^use --/may use --/' scripts/dpkg-source.pl
%build
autoreconf
%configure --disable-linker-optimisations \
--with-admindir=%{_localstatedir}/lib/dpkg \
--with-libselinux \
--without-libmd \
--with-libz \
--with-liblzma \
--with-libbz2
%make_build
%install
%make_install
mkdir -p %{buildroot}/%{_sysconfdir}/logrotate.d
install -pm0644 debian/dpkg.cfg %{buildroot}/%{_sysconfdir}/dpkg
install -pm0644 debian/dselect.cfg %{buildroot}/%{_sysconfdir}/dpkg
install -pm0644 debian/shlibs.default %{buildroot}/%{_sysconfdir}/dpkg
install -pm0644 debian/shlibs.override %{buildroot}/%{_sysconfdir}/dpkg
install -pm0644 debian/dpkg.logrotate %{buildroot}/%{_sysconfdir}/logrotate.d/%{name}
%find_lang dpkg
%find_lang dpkg-dev
%find_lang dselect
%check
make VERBOSE=1 TESTSUITEFLAGS=--verbose TEST_PARALLEL=4 check || :
%post
cd ${DPKG_ADMINDIR:-/var/lib/dpkg}
for file in diversions statoverride status; do
if [ ! -f "$file" ]; then
touch "$file"
fi
done
touch /var/log/dpkg.log
chmod 640 /var/log/dpkg.log
chown root:root /var/log/dpkg.log 2>/dev/null || chown 0:0 /var/log/dpkg.log
%files -f dpkg.lang -f dselect.lang
%license debian/copyright
%dir %{_sysconfdir}/dpkg
%dir %{_sysconfdir}/dpkg/dpkg.cfg.d
%dir %{_sysconfdir}/dpkg/dselect.cfg.d
%config(noreplace) %{_sysconfdir}/dpkg/dpkg.cfg
%config(noreplace) %{_sysconfdir}/logrotate.d/dpkg
%config(noreplace) %{_sysconfdir}/dpkg/dselect.cfg
%{_bindir}/dpkg
%{_bindir}/dpkg-deb
%{_bindir}/dpkg-divert
%{_bindir}/dpkg-maintscript-helper
%{_bindir}/dpkg-query
%{_bindir}/dpkg-split
%{_bindir}/dpkg-statoverride
%{_bindir}/dpkg-trigger
%{_bindir}/dselect
%{_sbindir}/start-stop-daemon
%dir %{_datadir}/dpkg
%{_datadir}/dpkg/abitable
%{_datadir}/dpkg/cputable
%{_datadir}/dpkg/ostable
%{_datadir}/dpkg/tupletable
%dir %{_localstatedir}/lib/dpkg
%dir %{_localstatedir}/lib/dpkg/alternatives
%dir %{_localstatedir}/lib/dpkg/info
%dir %{_localstatedir}/lib/dpkg/parts
%dir %{_localstatedir}/lib/dpkg/updates
%dir %{_localstatedir}/lib/dpkg/methods
%exclude %{_libdir}/libdpkg.la
%exclude %{_bindir}/update-alternatives
%exclude %{_sysconfdir}/alternatives/
%if %{enable_dev_package}
%exclude %{_sbindir}/install-info
%endif
%if !%{enable_dev_package}
%exclude %{_bindir}/dpkg-architecture
%exclude %{_bindir}/dpkg-buildpackage
%exclude %{_bindir}/dpkg-buildflags
%exclude %{_bindir}/dpkg-checkbuilddeps
%exclude %{_bindir}/dpkg-distaddfile
%exclude %{_bindir}/dpkg-genbuildinfo
%exclude %{_bindir}/dpkg-genchanges
%exclude %{_bindir}/dpkg-gencontrol
%exclude %{_bindir}/dpkg-gensymbols
%exclude %{_bindir}/dpkg-mergechangelogs
%exclude %{_bindir}/dpkg-name
%exclude %{_bindir}/dpkg-parsechangelog
%exclude %{_bindir}/dpkg-scanpackages
%exclude %{_bindir}/dpkg-scansources
%exclude %{_bindir}/dpkg-shlibdeps
%exclude %{_bindir}/dpkg-source
%exclude %{_bindir}/dpkg-vendor
%exclude %{_datadir}/dpkg/*.mk
%exclude /etc/dpkg/shlibs.*
%exclude /usr/share/locale/ca/LC_MESSAGES/dpkg-dev.mo
%exclude /usr/share/locale/de/LC_MESSAGES/dpkg-dev.mo
%exclude /usr/share/locale/es/LC_MESSAGES/dpkg-dev.mo
%exclude /usr/share/locale/fr/LC_MESSAGES/dpkg-dev.mo
%exclude /usr/share/locale/pl/LC_MESSAGES/dpkg-dev.mo
%exclude /usr/share/locale/ru/LC_MESSAGES/dpkg-dev.mo
%exclude /usr/share/locale/sv/LC_MESSAGES/dpkg-dev.mo
%endif
%{perl_vendorlib}/Dselect
%{_libexecdir}/dpkg/methods
%files devel
%{_libdir}/libdpkg.a
%{_libdir}/pkgconfig/libdpkg.pc
%{_includedir}/dpkg/*.h
%if %{enable_dev_package}
%files dev -f dpkg-dev.lang
%config(noreplace) %{_sysconfdir}/dpkg/shlibs.default
%config(noreplace) %{_sysconfdir}/dpkg/shlibs.override
%{_bindir}/dpkg-architecture
%{_bindir}/dpkg-buildpackage
%{_bindir}/dpkg-buildflags
%{_bindir}/dpkg-checkbuilddeps
%{_bindir}/dpkg-distaddfile
%{_bindir}/dpkg-genbuildinfo
%{_bindir}/dpkg-genchanges
%{_bindir}/dpkg-gencontrol
%{_bindir}/dpkg-gensymbols
%{_bindir}/dpkg-mergechangelogs
%{_bindir}/dpkg-name
%{_bindir}/dpkg-parsechangelog
%{_bindir}/dpkg-scanpackages
%{_bindir}/dpkg-scansources
%{_bindir}/dpkg-shlibdeps
%{_bindir}/dpkg-source
%{_bindir}/dpkg-vendor
%{_datadir}/dpkg/*.mk
%endif
%files perl
%{perl_vendorlib}/Dpkg*
%{_datadir}/dpkg/*.specs
%files help
%doc debian/changelog README TODO
%doc dselect/methods/multicd/README.multicd
%doc debian/dpkg.cron.daily
%doc AUTHORS THANKS debian/usertags doc/README.api
%doc doc/frontend.txt doc/triggers.txt
%{_mandir}/*
%exclude %{_mandir}/it/man1/
%exclude %{_mandir}/it/man5/
%exclude %{_mandir}/pl/man1/
%if %{enable_dev_package}
%exclude %{_mandir}/man1/update-alternatives.1
%exclude %{_mandir}/*/man1/update-alternatives.1
%endif
%changelog
* Fri Mar 10 2023 Wenlong Zhang<zhangwenlong@loongson.cn> - 1.18.25-13
- add loongarch support for dpkg
* Fri May 27 2022 houyingchao <houyingchao@h-partners.com> - 1.18.25-12
- Fix CVE-2022-1664
* Tue May 10 2022 chenchen <chen_aka_jan@163.com> - 1.18.25-11
- License compliance rectification
* Mon Mar 16 2020 openEuler Buildteam <buildteam@openeuler.org> - 1.18.25-10
- disable dpkg-dev
* Wed Sep 11 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.18.25-9
- Package init
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ouuleilei/dpkg.git
git@gitee.com:ouuleilei/dpkg.git
ouuleilei
dpkg
dpkg
master

Search