diff --git a/dpkg.changes b/dpkg.changes index 5417eb6..7839336 100644 --- a/dpkg.changes +++ b/dpkg.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Jul 20 11:25:20 UTC 2023 - Adam Majer + +- openssl.patch: use openssl library for MD5 calculation instead + of relying on libmd. libmd is not in Ring0 +- require Perl 5.28.1 or later + +------------------------------------------------------------------- +Wed Jun 7 11:15:53 UTC 2023 - pgajdos@suse.com + +- version update to 1.21.22 + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog + ------------------------------------------------------------------- Thu May 4 14:28:36 UTC 2023 - Frederic Crozat diff --git a/dpkg.spec b/dpkg.spec index e9465a7..ee78dc2 100644 --- a/dpkg.spec +++ b/dpkg.spec @@ -17,7 +17,7 @@ Name: dpkg -Version: 1.21.8 +Version: 1.21.22 Release: 0 Summary: Debian package management system License: GPL-2.0-or-later @@ -30,15 +30,17 @@ Patch1: update-alternatives-suse.patch # PATCH-FIX-SUSE: tar of Leap 42.{2,3} does not recognize --sort=name, --clamp-mtime options Patch2: drop-tar-option.patch Patch3: ncurses-fix.patch +Patch4: openssl.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ BuildRequires: gpg2 BuildRequires: libbz2-devel -BuildRequires: libmd-devel BuildRequires: libselinux-devel BuildRequires: libtool BuildRequires: ncurses-devel +BuildRequires: openssl-devel +BuildRequires: perl >= 5.28.1 BuildRequires: po4a >= 0.59 BuildRequires: update-alternatives BuildRequires: xz-devel @@ -89,6 +91,7 @@ Libraries and header files for dpkg. %patch2 -p1 %endif %patch3 -p1 +%patch4 -p1 %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects @@ -98,7 +101,8 @@ export CFLAGS="%{?build_cflags:%build_cflags}%{?!build_cflags:%optflags}" --disable-silent-rules \ --with-libselinux \ --localstatedir=%{_localstatedir}/lib \ - --with-admindir=%{_localstatedir}/lib/dpkg + --with-admindir=%{_localstatedir}/lib/dpkg \ + --docdir=%{_docdir}/%{name} # configure somehow does not detect architecture correctly in OBS (bnc#469337), so # let's do an awful hack and fix it in config.h @@ -157,11 +161,9 @@ exit 0 %files %license COPYING -%doc ABOUT-NLS AUTHORS doc/triggers.txt NEWS README* THANKS TODO debian/changelog +%{_docdir}/%{name} %{_mandir}/man*/* %exclude %{_mandir}/man*/update-alternatives* -%exclude %{_datadir}/doc/dpkg/*.txt -%exclude %{_datadir}/doc/dpkg/README* %dir %{_sysconfdir}/dpkg %config(noreplace) %{_sysconfdir}/dpkg/* %{_bindir}/* diff --git a/dpkg_1.21.22.tar.xz b/dpkg_1.21.22.tar.xz new file mode 100644 index 0000000..e611e1a --- /dev/null +++ b/dpkg_1.21.22.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a1d15481bba79d7a4899fd55b4b6b18a987ca8d56ee8c43e9cab63b8a0a3545 +size 5419900 diff --git a/dpkg_1.21.8.tar.xz b/dpkg_1.21.8.tar.xz deleted file mode 100644 index 2b2698f..0000000 --- a/dpkg_1.21.8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0ffc63c475ff2ba9c2820e48fa3bccb60955561ae22c2aed542f1412a7ca3e22 -size 5076924 diff --git a/openssl.patch b/openssl.patch new file mode 100644 index 0000000..9307930 --- /dev/null +++ b/openssl.patch @@ -0,0 +1,97 @@ +Index: dpkg-1.21.22/configure.ac +=================================================================== +--- dpkg-1.21.22.orig/configure.ac ++++ dpkg-1.21.22/configure.ac +@@ -94,6 +94,13 @@ AC_SYS_LARGEFILE + + # Checks for libraries. + DPKG_LIB_MD ++AS_IF([test "x$have_libmd" = "xno"], [ ++ DPKG_LIB_OPENSSL ++ AS_IF([test "x$have_libcrypto" = "xno"], [ ++ AC_MSG_FAILURE([md5 digest functions not found in libmd or openssl]) ++ ]) ++]) ++ + DPKG_LIB_Z + DPKG_LIB_BZ2 + DPKG_LIB_LZMA +@@ -286,6 +293,7 @@ Configuration: + libkvm . . . . . . . . . . . : ${have_libkvm:-no} + libselinux . . . . . . . . . : $have_libselinux + libmd . . . . . . . . . . . . : $have_libmd ++ libcryto . . . . . . . . . . : $have_libcrypto + libz . . . . . . . . . . . . : $have_libz_impl + liblzma . . . . . . . . . . . : $have_liblzma + libzstd . . . . . . . . . . . : $have_libzstd +Index: dpkg-1.21.22/lib/dpkg/Makefile.am +=================================================================== +--- dpkg-1.21.22.orig/lib/dpkg/Makefile.am ++++ dpkg-1.21.22/lib/dpkg/Makefile.am +@@ -36,7 +36,7 @@ libdpkg_la_LDFLAGS += \ + -Wl,--version-script=$(srcdir)/libdpkg.map \ + # EOL + endif +-libdpkg_la_LDFLAGS += $(MD_LIBS) ++libdpkg_la_LDFLAGS += $(MD_LIBS) $(OPENSSL_LIBS) + libdpkg_la_LIBADD = \ + ../compat/libcompat.la \ + # EOL +Index: dpkg-1.21.22/lib/dpkg/buffer.c +=================================================================== +--- dpkg-1.21.22.orig/lib/dpkg/buffer.c ++++ dpkg-1.21.22/lib/dpkg/buffer.c +@@ -23,10 +23,18 @@ + #include + #include + ++#ifdef HAVE_MD5_H ++#include ++#elif HAVE_OPENSSL_MD5_H ++#include ++#define MD5Init MD5_Init ++#define MD5Update MD5_Update ++#define MD5Final MD5_Final ++#endif ++ + #include + + #include +-#include + #include + #include + #include +Index: dpkg-1.21.22/m4/dpkg-libs.m4 +=================================================================== +--- dpkg-1.21.22.orig/m4/dpkg-libs.m4 ++++ dpkg-1.21.22/m4/dpkg-libs.m4 +@@ -20,11 +20,26 @@ AC_DEFUN([DPKG_LIB_MD], [ + MD_LIBS="$ac_cv_search_MD5Init" + ]) + ]) +- AS_IF([test "x$have_libmd" = "xno"], [ +- AC_MSG_FAILURE([md5 digest functions not found]) +- ]) + ])# DPKG_LIB_MD + ++# DPKG_LIB_OPENSSL ++# ----------- ++# Check for the digests support in openssl library. ++AC_DEFUN([DPKG_LIB_OPENSSL], [ ++ AC_ARG_VAR([OPENSSL_LIBS], [linker flags for openssl library]) ++ have_libcryto="no" ++ AC_CHECK_HEADERS([openssl/md5.h], [ ++ dpkg_save_libcrypto_LIBS=$LIBS ++ AC_SEARCH_LIBS([MD5_Init], [crypto]) ++ LIBS=$dpkg_save_libcrypto_LIBS ++ AS_IF([test "x$ac_cv_search_MD5_Init" != "xno"], [ ++ have_libcrypto="yes" ++ OPENSSL_LIBS="$ac_cv_search_MD5_Init" ++ ]) ++ ]) ++])# DPKG_LIB_OPENSSL ++ ++ + # DPKG_WITH_COMPRESS_LIB(NAME, HEADER, FUNC) + # ------------------------------------------------- + # Check for availability of a compression library. diff --git a/update-alternatives.changes b/update-alternatives.changes index 1412bd4..8c61adc 100644 --- a/update-alternatives.changes +++ b/update-alternatives.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Jul 20 11:25:20 UTC 2023 - Adam Majer + +- openssl.patch: use openssl library for MD5 calculation instead + of relying on libmd. libmd is not in Ring0 +- require Perl 5.28.1 or later + ------------------------------------------------------------------- Thu May 4 14:28:36 UTC 2023 - Frederic Crozat diff --git a/update-alternatives.spec b/update-alternatives.spec index a029ee5..649fb29 100644 --- a/update-alternatives.spec +++ b/update-alternatives.spec @@ -17,7 +17,7 @@ Name: update-alternatives -Version: 1.21.8 +Version: 1.21.22 Release: 0 Summary: Maintain symbolic links determining default commands License: GPL-2.0-or-later @@ -27,10 +27,13 @@ Source0: https://ftp.debian.org/debian/pool/main/d/dpkg/dpkg_%{version}.t Source3: sensible-editor Patch0: update-alternatives-suse.patch Patch1: update-alternatives-slavetomaster.patch +Patch2: openssl.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: ncurses-devel +BuildRequires: openssl-devel +BuildRequires: perl >= 5.28.1 BuildRequires: pkgconfig Provides: alternatives = %{version}