Package: preseed Severity: wishlist Tags: patch The attached patch adds s= as a command-line alias for url=https://
url=example.org will assume "http://example.org", but specifying an https:// URL requires typing out url=https://example.org . Add an alias s= , mapping to the template preseed/https_url, which assumes https:// instead; this shortens the kernel command-line parameter to s=example.org . - Josh Triplett
>From b5b7f25edb3a4d127cf2d0a86bd8cc5ca1c5198e Mon Sep 17 00:00:00 2001 From: Josh Triplett <[email protected]> Date: Tue, 10 Jan 2017 01:46:28 -0800 Subject: [PATCH] Add s= as a command-line alias for url=https:// url=example.org will assume "http://example.org", but specifying an https:// URL requires typing out url=https://example.org . Add an alias s= , mapping to the template preseed/https_url, which assumes https:// instead; this shortens the kernel command-line parameter to s=example.org . --- auto-install.sh | 7 ++++++- debian-installer-startup.d/S60auto-install | 1 + debian/network-preseed.isinstallable | 5 ++++- debian/network-preseed.templates | 7 +++++++ preseed_aliases | 1 + 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/auto-install.sh b/auto-install.sh index 6dfa4d8..556f737 100755 --- a/auto-install.sh +++ b/auto-install.sh @@ -15,7 +15,12 @@ if [ -e /var/run/preseed_unspecified_at_boot ]; then fi # BEGIN: testable -db_get preseed/url && url="$RET" +db_get preseed/https_url && url="$RET" +if [ "$url" ]; then + url="https://$url" +else + db_get preseed/url && url="$RET" +fi [ "$url" ] || exit 0 if [ "${url%%://*}" != "$url" ]; then diff --git a/debian-installer-startup.d/S60auto-install b/debian-installer-startup.d/S60auto-install index 7339ece..d95c896 100755 --- a/debian-installer-startup.d/S60auto-install +++ b/debian-installer-startup.d/S60auto-install @@ -7,6 +7,7 @@ if db_get auto-install/enable && [ "$RET" = true ]; then echo 1 >/var/run/auto-install.active # check that no preseed has been specified if ! [ -e /preseed.cfg ] && + ! { db_get preseed/https_url && [ "$RET" ]; } && ! { db_get preseed/url && [ "$RET" ]; } && ! { db_get preseed/file && [ "$RET" ]; }; then # register that no preseed was specified. diff --git a/debian/network-preseed.isinstallable b/debian/network-preseed.isinstallable index 55d4af1..5a36260 100755 --- a/debian/network-preseed.isinstallable +++ b/debian/network-preseed.isinstallable @@ -2,8 +2,11 @@ . /usr/share/debconf/confmodule . /lib/preseed/preseed.sh +db_get preseed/https_url || exit 1 +https_url="$RET" db_get preseed/url || exit 1 -if [ -n "$RET" ] || [ -n "$(dhcp_preseed_url)" ]; then +url="$RET" +if [ -n "$https_url" ] || [ -n "$url" ] || [ -n "$(dhcp_preseed_url)" ]; then exit 0 elif [ -e /var/run/preseed_unspecified_at_boot ]; then # auto-install active: prompt for URL diff --git a/debian/network-preseed.templates b/debian/network-preseed.templates index d0b7c7c..91f0800 100644 --- a/debian/network-preseed.templates +++ b/debian/network-preseed.templates @@ -30,6 +30,13 @@ Type: string Description: for internal use; can be preseeded Optional md5sum (or sums) for the preconfiguration files +Template: preseed/https_url +Type: string +Description: for internal use; can be preseeded or set on command line via s= + URL for preseed configuration; will have https:// prefix added to it. + . + See preseed/url for more details. + Template: auto-install/enable Type: boolean Default: false diff --git a/preseed_aliases b/preseed_aliases index 6a514ca..a42acbe 100644 --- a/preseed_aliases +++ b/preseed_aliases @@ -8,6 +8,7 @@ auto auto-install/enable classes auto-install/classes file preseed/file url preseed/url +s preseed/https_url domain netcfg/get_domain hostname netcfg/get_hostname interface netcfg/choose_interface -- 2.11.0

