diff --git a/sysutils/debootstrap/Makefile b/sysutils/debootstrap/Makefile index 4cfc1e70f708..157f2677a75c 100644 --- a/sysutils/debootstrap/Makefile +++ b/sysutils/debootstrap/Makefile @@ -1,43 +1,44 @@ PORTNAME= debootstrap PORTVERSION= 1.0.143 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= DEBIAN DISTNAME= ${PORTNAME}_${PORTVERSION} MAINTAINER= nc@FreeBSD.org COMMENT= Install Debian or Ubuntu base system into a directory WWW= https://wiki.debian.org/Debootstrap LICENSE= MIT LICENSE_FILE= ${WRKSRC}/debian/copyright RUN_DEPENDS= ${LOCALBASE}/share/keyrings/ubuntu-archive-keyring.gpg:security/ubuntu-keyring \ bash:shells/bash \ - gpgv2:security/gnupg \ + gpgv:security/gnupg \ gtar:archivers/gtar \ pcre2grep:devel/pcre2 \ wget:ftp/wget USES= gmake perl5 USE_PERL5= run MAKE_ENV= DATADIR="${DATADIR}" NO_ARCH= yes NO_BUILD= yes WRKSRC= ${WRKDIR}/${PORTNAME} post-patch: @${REINPLACE_CMD} \ -e 's,%%DATADIR%%,${DATADIR},g' \ -e 's,%%LOCALBASE%%,${LOCALBASE},g' \ ${WRKSRC}/debootstrap @${FIND} ${WRKSRC}/scripts -type f | \ ${XARGS} ${REINPLACE_CMD} -e 's,/usr/share/keyrings,${LOCALBASE}/share/keyrings,g' post-install: ${FIND} ${STAGEDIR}${DATADIR} -name '*.bak' -delete ${FIND} ${STAGEDIR}${DATADIR} -name '*.orig' -delete ${INSTALL_MAN} ${WRKSRC}/debootstrap.8 \ ${STAGEDIR}${PREFIX}/share/man/man8/debootstrap.8 .include diff --git a/sysutils/debootstrap/files/patch-functions b/sysutils/debootstrap/files/patch-functions index a194fe580ddf..5ac4bd767ce7 100644 --- a/sysutils/debootstrap/files/patch-functions +++ b/sysutils/debootstrap/files/patch-functions @@ -1,85 +1,54 @@ --- functions.orig 2026-03-26 22:58:30 UTC +++ functions -@@ -700,10 +700,10 @@ download_release_sig () { - - info RELEASESIG "Checking Release signature" - # If everything is installed, prefer gpgv for now -- if in_path gpgv; then -+ if in_path gpgv2; then - # Don't worry about the exit status from gpgv; parsing the output will - # take care of that. -- (gpgv --status-fd 1 --keyring "$KEYRING" --ignore-time-conflict \ -+ (gpgv2 --status-fd 1 --keyring "$KEYRING" --ignore-time-conflict \ - "$relsigdest" "$reldest" || true) | read_gpg_status - elif in_path sopv; then - local rc=0 -@@ -715,7 +715,7 @@ download_release_sig () { - check_sqv_status "$rc" - else - # This is already checked at argument parsing time, so shouldn't happen here -- error 1 NEEDPGPV "none of sopv, sqv or gpgv are installed, but required for Release verification" -+ error 1 NEEDPGPV "none of sopv, sqv or gpgv2 are installed, but required for Release verification" - fi - progress 100 100 DOWNRELSIG "Downloading Release file signature" - fi @@ -1045,7 +1045,7 @@ extract_dpkg_deb_data () { extract_dpkg_deb_data () { local pkg="$1" - dpkg-deb --fsys-tarfile "$pkg" | tar $EXTRACT_DEB_TAR_OPTIONS -xf - || error 1 FILEEXIST "Tried to extract package, but tar failed. Exit..." + dpkg-deb --fsys-tarfile "$pkg" | gtar $EXTRACT_DEB_TAR_OPTIONS -xf - || error 1 FILEEXIST "Tried to extract package, but tar failed. Exit..." } # Raw .deb extractors @@ -1065,7 +1065,7 @@ extract_ar_deb_field () { if in_path $cat_cmd; then ar -p "$pkg" "$tarball" | $cat_cmd | - tar -O -xf - control ./control 2>/dev/null | + gtar -O -xf - control ./control 2>/dev/null | grep -i "^$field:" | sed -e 's/[^:]*: *//' | head -n 1 else error 1 UNPACKCMDUNVL "Extracting %s requires the %s command, which is not available" "$pkg" "$cat_cmd" @@ -1087,7 +1087,7 @@ extract_ar_deb_data () { esac if in_path "$cat_cmd"; then - ar -p "$pkg" "$tarball" | "$cat_cmd" | tar $EXTRACT_DEB_TAR_OPTIONS -xf - + ar -p "$pkg" "$tarball" | "$cat_cmd" | gtar $EXTRACT_DEB_TAR_OPTIONS -xf - else error 1 UNPACKCMDUNVL "Extracting %s requires the %s command, which is not available" "$pkg" "$cat_cmd" fi @@ -1696,7 +1696,7 @@ while (read STDIN, $x, 1) { }' "$@" elif [ "$1" = "GETDEPS" ]; then local pkgdest="$2"; shift; shift -LC_ALL=C grep "$gropt" '^$|^Package:|^Depends:|^Pre-Depends:' "${pkgdest}" | perl -e ' +LC_ALL=C pcre2grep '^$|^Package:|^Depends:|^Pre-Depends:' "${pkgdest}" | perl -e ' %seen = map { $_ => 1 } @ARGV; while () { if (/^Package: (.*)$/) { @@ -1724,13 +1724,13 @@ while () { local m="$2" local p="$3" shift; shift; shift - LC_ALL=C grep "$gropt" '^$|^Architecture:|^Filename:|^MD5sum:|^Package:|^Priority:|^SHA256:|^Size:|^Version:|^Depends:|^Pre-Depends:' "$p" | pkgdetails_field 1 Package: "$m" "$@" + LC_ALL=C pcre2grep '^$|^Architecture:|^Filename:|^MD5sum:|^Package:|^Priority:|^SHA256:|^Size:|^Version:|^Depends:|^Pre-Depends:' "$p" | pkgdetails_field 1 Package: "$m" "$@" elif [ "$1" = "FIELD" ]; then local f="$2" local m="$3" local p="$4" shift; shift; shift; shift - LC_ALL=C grep "$gropt" '^$|^Package:|^Priority:|^Essential:' "$p" | pkgdetails_field 0 "$f" "$m" "$@" + LC_ALL=C pcre2grep '^$|^Package:|^Priority:|^Essential:' "$p" | pkgdetails_field 0 "$f" "$m" "$@" elif [ "$1" = "STANZAS" ]; then local pkgdest="$2"; shift; shift perl -e ' -@@ -1941,7 +1941,7 @@ read_gpg_status () { - elif [ "$unkkey" ]; then - error 1 UNKNOWNRELSIG "Release signed by unknown key (key id %s)\n The specified keyring $KEYRING may be incorrect or out of date.\n You can find the latest Debian release key at https://ftp-master.debian.org/keys.html" "$unkkey" - else -- error 1 SIGCHECK "Error executing gpgv to check Release signature" -+ error 1 SIGCHECK "Error executing gpgv2 to check Release signature" - fi - } -