summaryrefslogtreecommitdiffstats
path: root/source/ap/rpm
diff options
context:
space:
mode:
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
commit871f13af530b211c1fc4bc46681808996ae22825 (patch)
treed7eb53be851777fa0694727a11702b2eaada7e32 /source/ap/rpm
parent670759455eebdeebc5f4d314b629e1cea4b7885d (diff)
downloadcurrent-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.patch87
-rwxr-xr-xsource/ap/rpm/rpm.SlackBuild62
-rw-r--r--source/ap/rpm/rpm.install4j.compat.diff53
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);