From owner-svn-ports-head@freebsd.org Sun Jul 19 12:55:01 2020 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7ABCB35E7D0; Sun, 19 Jul 2020 12:55:01 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4B8lFK2NbHz4YXg; Sun, 19 Jul 2020 12:55:01 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 363D71BF47; Sun, 19 Jul 2020 12:55:01 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06JCt10k069579; Sun, 19 Jul 2020 12:55:01 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06JCt07R069574; Sun, 19 Jul 2020 12:55:00 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <202007191255.06JCt07R069574@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sun, 19 Jul 2020 12:55:00 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r542573 - in head/sysutils/debootstrap: . files X-SVN-Group: ports-head X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: in head/sysutils/debootstrap: . files X-SVN-Commit-Revision: 542573 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jul 2020 12:55:01 -0000 Author: trasz Date: Sun Jul 19 12:54:59 2020 New Revision: 542573 URL: https://svnweb.freebsd.org/changeset/ports/542573 Log: sysutils/deboostrap: make it use bash, mount fdescfs, ignore --configure errors For some reason, when run with stock sh(1) the script aborts just after 'Unpacking the base system'. The fdescfs mount fixes 'dpkg --configure' for rsyslog. Note that there are also some kernel patches required to make it work completely. The fdescfs is not enough to fix everything, though, so just ignore 'dpkg --configure' errors for Bionic; they don't break anything important. PR: ports/247698 Reviewed by: 0mp (earlier version) Approved by: maintainer timeout (2 weeks) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25594 Added: head/sysutils/debootstrap/files/patch-functions (contents, props changed) head/sysutils/debootstrap/files/patch-scripts-bionic (contents, props changed) Modified: head/sysutils/debootstrap/Makefile head/sysutils/debootstrap/files/patch-Makefile head/sysutils/debootstrap/files/patch-debootstrap Modified: head/sysutils/debootstrap/Makefile ============================================================================== --- head/sysutils/debootstrap/Makefile Sun Jul 19 12:53:12 2020 (r542572) +++ head/sysutils/debootstrap/Makefile Sun Jul 19 12:54:59 2020 (r542573) @@ -3,6 +3,7 @@ PORTNAME= debootstrap PORTVERSION= 1.0.115 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= DEBIAN/pool/main/d/${PORTNAME} DISTNAME= ${PORTNAME}_${PORTVERSION} @@ -13,7 +14,8 @@ COMMENT= Install Debian base system into a directory LICENSE= MIT LICENSE_FILE= ${WRKSRC}/debian/copyright -RUN_DEPENDS= wget:ftp/wget +RUN_DEPENDS= wget:ftp/wget \ + bash:shells/bash WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} NO_BUILD= yes @@ -29,6 +31,9 @@ post-patch: ${WRKSRC}/Makefile \ ${WRKSRC}/debootstrap @${REINPLACE_CMD} -e 's,%%DATADIR%%,${DATADIR},g' \ + ${WRKSRC}/Makefile \ + ${WRKSRC}/debootstrap + @${REINPLACE_CMD} -e 's,%%LOCALBASE%%,${LOCALBASE},g' \ ${WRKSRC}/Makefile \ ${WRKSRC}/debootstrap Modified: head/sysutils/debootstrap/files/patch-Makefile ============================================================================== --- head/sysutils/debootstrap/files/patch-Makefile Sun Jul 19 12:53:12 2020 (r542572) +++ head/sysutils/debootstrap/files/patch-Makefile Sun Jul 19 12:54:59 2020 (r542573) @@ -1,6 +1,6 @@ ---- Makefile.orig 2016-09-09 12:30:20 UTC +--- Makefile.orig 2019-07-06 11:22:30 UTC +++ Makefile -@@ -6,14 +6,12 @@ all: +@@ -5,14 +5,12 @@ all: clean: Modified: head/sysutils/debootstrap/files/patch-debootstrap ============================================================================== --- head/sysutils/debootstrap/files/patch-debootstrap Sun Jul 19 12:53:12 2020 (r542572) +++ head/sysutils/debootstrap/files/patch-debootstrap Sun Jul 19 12:54:59 2020 (r542573) @@ -1,5 +1,11 @@ ---- debootstrap.orig 2018-06-13 13:00:11 UTC +--- debootstrap.orig 2019-07-06 11:22:30 UTC +++ debootstrap +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!%%LOCALBASE%%/bin/bash + set -e + + VERSION='@VERSION@' @@ -14,7 +14,7 @@ if [ -z "$DEBOOTSTRAP_DIR" ]; then if [ -x /debootstrap/debootstrap ]; then DEBOOTSTRAP_DIR=/debootstrap @@ -9,7 +15,7 @@ fi fi -@@ -474,13 +474,7 @@ fi +@@ -498,13 +498,7 @@ fi ########################################################################### @@ -24,15 +30,15 @@ HOST_ARCH=$(cat "$DEBOOTSTRAP_DIR/arch") fi HOST_OS="$HOST_ARCH" -@@ -502,6 +496,11 @@ if [ -z "$HOST_OS" ]; then +@@ -524,6 +518,11 @@ if [ -z "$HOST_OS" ]; then + HOST_OS=freebsd + ;; esac - fi - ++fi ++ +if [ "$HOST_OS" = "freebsd" -a -z "$HOST_ARCH" ]; then + HOST_ARCH=kfreebsd-`/sbin/sysctl -n hw.machine_arch` + EXTRACTOR_OVERRIDE=ar -+fi -+ - if [ -z "$ARCH" ]; then - ARCH="$HOST_ARCH" fi + + if [ -z "$ARCH" ]; then Added: head/sysutils/debootstrap/files/patch-functions ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/debootstrap/files/patch-functions Sun Jul 19 12:54:59 2020 (r542573) @@ -0,0 +1,20 @@ +--- functions.orig 2019-07-06 11:22:30 UTC ++++ functions +@@ -1139,6 +1139,7 @@ setup_proc () { + case "$HOST_OS" in + *freebsd*) + umount_on_exit /dev ++ umount_on_exit /dev/fd + umount_on_exit /proc + umount "$TARGET/proc" 2>/dev/null || true + if [ "$HOST_OS" = kfreebsd ]; then +@@ -1224,7 +1225,8 @@ setup_dynamic_devices () { + kfreebsd*) + in_target mount -t devfs devfs /dev ;; + freebsd) +- mount -t devfs devfs "$TARGET/dev" ;; ++ mount -t devfs devfs "$TARGET/dev" ++ mount -t fdescfs -o linrdlnk fdescfs "$TARGET/dev/fd" ;; + hurd*) + # Use the setup-translators of the hurd package + in_target /usr/lib/hurd/setup-translators -k ;; Added: head/sysutils/debootstrap/files/patch-scripts-bionic ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/debootstrap/files/patch-scripts-bionic Sun Jul 19 12:54:59 2020 (r542573) @@ -0,0 +1,16 @@ +--- scripts/bionic.orig 2020-07-08 20:51:17.590645000 +0100 ++++ scripts/bionic 2020-07-08 20:51:28.786509000 +0100 +@@ -249,10 +249,13 @@ echo \"Warning: Fake initctl called, doing nothing\"" + + info CONFBASE "Configuring the base system..." + ++ # This step sometimes fails due to some missing functionality in Linuxulator. Just ignore it. ++ set +e + smallyes '' | + (repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages. This will be re-attempted up to five times." "" \ + dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 || echo EXITCODE $?) | + dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING ++ set -e + fi + + if [ -x "$TARGET/sbin/initctl.REAL" ]; then