diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2023-08-19 20:17:55 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2023-08-19 23:00:36 +0200 |
commit | 871f13af530b211c1fc4bc46681808996ae22825 (patch) | |
tree | d7eb53be851777fa0694727a11702b2eaada7e32 /source/ap/rpm | |
parent | 670759455eebdeebc5f4d314b629e1cea4b7885d (diff) | |
download | current-871f13af530b211c1fc4bc46681808996ae22825.tar.gz current-871f13af530b211c1fc4bc46681808996ae22825.tar.xz |
Sat Aug 19 20:17:55 UTC 202320230819201755
ap/rpm-4.18.1-x86_64-1.txz: Upgraded.
Compiled against lua-5.4.6.
d/lua-5.4.6-x86_64-1.txz: Added.
Thanks to SBo, including: Menno Duursma, Aaron W. Hsu, and Matteo Bernardini.
d/vala-0.56.12-x86_64-1.txz: Upgraded.
l/netpbm-11.03.03-x86_64-1.txz: Upgraded.
xap/hexchat-2.16.1-x86_64-5.txz: Rebuilt.
Recompiled against lua-5.4.6.
Added lua plugin.
Diffstat (limited to 'source/ap/rpm')
-rw-r--r-- | source/ap/rpm/1688.patch | 87 | ||||
-rwxr-xr-x | source/ap/rpm/rpm.SlackBuild | 62 | ||||
-rw-r--r-- | source/ap/rpm/rpm.install4j.compat.diff | 53 |
3 files changed, 38 insertions, 164 deletions
diff --git a/source/ap/rpm/1688.patch b/source/ap/rpm/1688.patch deleted file mode 100644 index 255605b0a..000000000 --- a/source/ap/rpm/1688.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 05fbec89be5a3f582b51b8ca39030346b12cf1f6 Mon Sep 17 00:00:00 2001 -From: Panu Matilainen <pmatilai@redhat.com> -Date: Tue, 25 May 2021 14:07:18 +0300 -Subject: [PATCH] Fix regression reading rpm v3 and other rare packages (#1635) - -Commit d6a86b5e69e46cc283b1e06c92343319beb42e21 introduced far stricter -checks on what tags are allowed in signature and main headers than rpm -had previously seen, and unsurprisingly this introduced some regressions -on less common cases: - -- On rpm v3 packages and some newer 3rd party created packages (such as - install4j < 9.0.2), RPMTAG_ARCHIVESIZE resides in the main header - to begin with -- In rpm 4.13 - 4.14, file IMA signatures were incorrectly placed in - the main header. - -As a quirk, permit the existence of RPMTAG_ARCHIVESIZE, -RPMTAG_FILESIGNATURES and RPMTAG_FILESIGNATURELENGTH in the main header -too provided that the corresponding signature tag is not there (so -they can reside in either but not both headers). - -Initial workaround patch by Demi Marie Obenour. - -Fixes: #1635 ---- - lib/package.c | 39 ++++++++++++++++++++++----------------- - 1 file changed, 22 insertions(+), 17 deletions(-) - -diff --git a/lib/package.c b/lib/package.c -index 7e6174690b..4b6b164979 100644 ---- a/lib/package.c -+++ b/lib/package.c -@@ -35,23 +35,24 @@ struct taglate_s { - rpmTagVal stag; - rpmTagVal xtag; - rpm_count_t count; -+ int quirk; - } const xlateTags[] = { -- { RPMSIGTAG_SIZE, RPMTAG_SIGSIZE, 1 }, -- { RPMSIGTAG_PGP, RPMTAG_SIGPGP, 0 }, -- { RPMSIGTAG_MD5, RPMTAG_SIGMD5, 16 }, -- { RPMSIGTAG_GPG, RPMTAG_SIGGPG, 0 }, -- /* { RPMSIGTAG_PGP5, RPMTAG_SIGPGP5, 0 }, */ /* long obsolete, dont use */ -- { RPMSIGTAG_PAYLOADSIZE, RPMTAG_ARCHIVESIZE, 1 }, -- { RPMSIGTAG_FILESIGNATURES, RPMTAG_FILESIGNATURES, 0 }, -- { RPMSIGTAG_FILESIGNATURELENGTH, RPMTAG_FILESIGNATURELENGTH, 1 }, -- { RPMSIGTAG_VERITYSIGNATURES, RPMTAG_VERITYSIGNATURES, 0 }, -- { RPMSIGTAG_VERITYSIGNATUREALGO, RPMTAG_VERITYSIGNATUREALGO, 1 }, -- { RPMSIGTAG_SHA1, RPMTAG_SHA1HEADER, 1 }, -- { RPMSIGTAG_SHA256, RPMTAG_SHA256HEADER, 1 }, -- { RPMSIGTAG_DSA, RPMTAG_DSAHEADER, 0 }, -- { RPMSIGTAG_RSA, RPMTAG_RSAHEADER, 0 }, -- { RPMSIGTAG_LONGSIZE, RPMTAG_LONGSIGSIZE, 1 }, -- { RPMSIGTAG_LONGARCHIVESIZE, RPMTAG_LONGARCHIVESIZE, 1 }, -+ { RPMSIGTAG_SIZE, RPMTAG_SIGSIZE, 1, 0 }, -+ { RPMSIGTAG_PGP, RPMTAG_SIGPGP, 0, 0 }, -+ { RPMSIGTAG_MD5, RPMTAG_SIGMD5, 16, 0 }, -+ { RPMSIGTAG_GPG, RPMTAG_SIGGPG, 0, 0 }, -+ /* { RPMSIGTAG_PGP5, RPMTAG_SIGPGP5, 0, 0 }, */ /* long obsolete, dont use */ -+ { RPMSIGTAG_PAYLOADSIZE, RPMTAG_ARCHIVESIZE, 1, 1 }, -+ { RPMSIGTAG_FILESIGNATURES, RPMTAG_FILESIGNATURES, 0, 1 }, -+ { RPMSIGTAG_FILESIGNATURELENGTH, RPMTAG_FILESIGNATURELENGTH, 1, 1 }, -+ { RPMSIGTAG_VERITYSIGNATURES, RPMTAG_VERITYSIGNATURES, 0, 0 }, -+ { RPMSIGTAG_VERITYSIGNATUREALGO, RPMTAG_VERITYSIGNATUREALGO, 1, 0 }, -+ { RPMSIGTAG_SHA1, RPMTAG_SHA1HEADER, 1, 0 }, -+ { RPMSIGTAG_SHA256, RPMTAG_SHA256HEADER, 1, 0 }, -+ { RPMSIGTAG_DSA, RPMTAG_DSAHEADER, 0, 0 }, -+ { RPMSIGTAG_RSA, RPMTAG_RSAHEADER, 0, 0 }, -+ { RPMSIGTAG_LONGSIZE, RPMTAG_LONGSIGSIZE, 1, 0 }, -+ { RPMSIGTAG_LONGARCHIVESIZE, RPMTAG_LONGARCHIVESIZE, 1, 0 }, - { 0 } - }; - -@@ -69,8 +70,12 @@ rpmTagVal headerMergeLegacySigs(Header h, Header sigh, char **msg) - - for (xl = xlateTags; xl->stag; xl++) { - /* There mustn't be one in the main header */ -- if (headerIsEntry(h, xl->xtag)) -+ if (headerIsEntry(h, xl->xtag)) { -+ /* Some tags may exist in either header, but never both */ -+ if (xl->quirk && !headerIsEntry(sigh, xl->stag)) -+ continue; - goto exit; -+ } - } - - rpmtdReset(&td); diff --git a/source/ap/rpm/rpm.SlackBuild b/source/ap/rpm/rpm.SlackBuild index 45d4ad48c..4cadb9d4c 100755 --- a/source/ap/rpm/rpm.SlackBuild +++ b/source/ap/rpm/rpm.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2018, 2019, 2023 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=rpm VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-4} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -95,12 +95,9 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -# Fix for non-compliant RPMs created by install4j: -zcat $CWD/rpm.install4j.compat.diff.gz | patch -p1 --verbose || exit 1 - -# We need to do this since there's a bugfix for python3.10 detection in -# the latest automake: -autoreconf -vif +## We need to do this since there's a bugfix for python3.10 detection in +## the latest automake: +#autoreconf -vif # We have to tell it where to find NSS and NSPR # Also, --enable-sqlite3 needs "-ldl" in LDFLAGS @@ -118,7 +115,6 @@ LDFLAGS="-ldl" \ --enable-broken-chown \ --without-hackingdocs \ --without-selinux \ - --without-lua \ --without-dmalloc \ --enable-sqlite3 \ --build=$ARCH-slackware-linux || exit 1 @@ -126,11 +122,28 @@ LDFLAGS="-ldl" \ make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 -cd python - # python2 dropped dropped as obsolete. - #python setup.py install --root=$PKG || exit 1 - python3 setup.py install --root=$PKG || exit 1 -cd - +# Put this in the system directory: +mkdir $PKG/usr/share +mv $PKG/etc/dbus-1 $PKG/usr/share +rmdir $PKG/etc + +# It seems this doesn't work... +#make install-man DESTDIR=$PKG || exit 1 +for dir in . fr ja ko pl ru sk ; do + if /bin/ls docs/man/$dir/*.1 1> /dev/null 2> /dev/null ; then + mkdir -p $PKG/usr/man/$dir/man1 + cp -a docs/man/$dir/*.1 $PKG/usr/man/$dir/man1 + fi + if /bin/ls docs/man/$dir/*.8 1> /dev/null 2> /dev/null ; then + mkdir -p $PKG/usr/man/$dir/man8 + cp -a docs/man/$dir/*.8 $PKG/usr/man/$dir/man8 + fi +done + +# Fails, looks like it did this already +#cd python +# python3 setup.py install --root=$PKG || exit 1 +#cd - # Don't ship .la files: rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la @@ -146,11 +159,12 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ # Here's a bug - /var/tmp should NOT have mode 0755 rmdir $PKG/var/tmp || exit 1 -# Compress man pages -( cd $PKG/usr/man - find . -type f -exec gzip -9 {} \+ - for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done -) +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \+ +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done # Initialize a dummy package database mkdir -p $PKG/var/lib/rpm/tmp @@ -159,15 +173,15 @@ zcat $CWD/Packages.gz > $PKG/var/lib/rpm/tmp/Packages # Install docs mkdir -p $PKG/usr/doc/rpm-$VERSION cp -a \ - COPYING* CREDITS GROUPS INSTALL README* TODO doc/manual \ + COPYING* CREDITS* GROUPS* INSTALL* README* TODO* doc/manual \ $PKG/usr/doc/rpm-$VERSION -# If there's a CHANGES file, installing at least part of the recent history +# If there's a ChangeLog file, installing at least part of the recent history # is useful, but don't let it get totally out of control: -if [ -r CHANGES ]; then +if [ -r ChangeLog ]; then DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) - cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES - touch -r CHANGES $DOCSDIR/CHANGES + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog fi mkdir -p $PKG/install diff --git a/source/ap/rpm/rpm.install4j.compat.diff b/source/ap/rpm/rpm.install4j.compat.diff deleted file mode 100644 index 1ceba1634..000000000 --- a/source/ap/rpm/rpm.install4j.compat.diff +++ /dev/null @@ -1,53 +0,0 @@ ---- ./lib/package.c.orig 2021-03-22 05:05:07.312635983 -0500 -+++ ./lib/package.c 2021-11-30 12:48:31.637122803 -0600 -@@ -35,21 +35,22 @@ - rpmTagVal stag; - rpmTagVal xtag; - rpm_count_t count; -+ int quirk; - } const xlateTags[] = { -- { RPMSIGTAG_SIZE, RPMTAG_SIGSIZE, 1 }, -- { RPMSIGTAG_PGP, RPMTAG_SIGPGP, 0 }, -- { RPMSIGTAG_MD5, RPMTAG_SIGMD5, 16 }, -- { RPMSIGTAG_GPG, RPMTAG_SIGGPG, 0 }, -- /* { RPMSIGTAG_PGP5, RPMTAG_SIGPGP5, 0 }, */ /* long obsolete, dont use */ -- { RPMSIGTAG_PAYLOADSIZE, RPMTAG_ARCHIVESIZE, 1 }, -- { RPMSIGTAG_FILESIGNATURES, RPMTAG_FILESIGNATURES, 0 }, -- { RPMSIGTAG_FILESIGNATURELENGTH, RPMTAG_FILESIGNATURELENGTH, 1 }, -- { RPMSIGTAG_SHA1, RPMTAG_SHA1HEADER, 1 }, -- { RPMSIGTAG_SHA256, RPMTAG_SHA256HEADER, 1 }, -- { RPMSIGTAG_DSA, RPMTAG_DSAHEADER, 0 }, -- { RPMSIGTAG_RSA, RPMTAG_RSAHEADER, 0 }, -- { RPMSIGTAG_LONGSIZE, RPMTAG_LONGSIGSIZE, 1 }, -- { RPMSIGTAG_LONGARCHIVESIZE, RPMTAG_LONGARCHIVESIZE, 1 }, -+ { RPMSIGTAG_SIZE, RPMTAG_SIGSIZE, 1, 0 }, -+ { RPMSIGTAG_PGP, RPMTAG_SIGPGP, 0, 0 }, -+ { RPMSIGTAG_MD5, RPMTAG_SIGMD5, 16, 0 }, -+ { RPMSIGTAG_GPG, RPMTAG_SIGGPG, 0, 0 }, -+ /* { RPMSIGTAG_PGP5, RPMTAG_SIGPGP5, 0, 0 }, */ /* long obsolete, dont use */ -+ { RPMSIGTAG_PAYLOADSIZE, RPMTAG_ARCHIVESIZE, 1, 1 }, -+ { RPMSIGTAG_FILESIGNATURES, RPMTAG_FILESIGNATURES, 0, 1 }, -+ { RPMSIGTAG_FILESIGNATURELENGTH, RPMTAG_FILESIGNATURELENGTH, 1, 1 }, -+ { RPMSIGTAG_SHA1, RPMTAG_SHA1HEADER, 1, 0 }, -+ { RPMSIGTAG_SHA256, RPMTAG_SHA256HEADER, 1, 0 }, -+ { RPMSIGTAG_DSA, RPMTAG_DSAHEADER, 0, 0 }, -+ { RPMSIGTAG_RSA, RPMTAG_RSAHEADER, 0, 0 }, -+ { RPMSIGTAG_LONGSIZE, RPMTAG_LONGSIGSIZE, 1, 0 }, -+ { RPMSIGTAG_LONGARCHIVESIZE, RPMTAG_LONGARCHIVESIZE, 1, 0 }, - { 0 } - }; - -@@ -67,8 +68,12 @@ - - for (xl = xlateTags; xl->stag; xl++) { - /* There mustn't be one in the main header */ -- if (headerIsEntry(h, xl->xtag)) -+ if (headerIsEntry(h, xl->xtag)) { -+ /* Some tags may exist in either header, but never both */ -+ if (xl->quirk && !headerIsEntry(sigh, xl->stag)) -+ continue; - goto exit; -+ } - } - - rpmtdReset(&td); |