[Libosinfo] [PATCH 2/3] debian: Allow empty passwords
Lasse Schuirmann
lasse.schuirmann at gmail.com
Wed Aug 13 16:04:59 UTC 2014
This uses the same workaround as the Fedora express installation script.
If an empty password is given, the password is set to a dummy password
to prevent the installer from erroring out and deleted later.
---
data/install-scripts/debian.xml | 55 ++++++++++++++++++++++++++++++++++++++---
1 file changed, 52 insertions(+), 3 deletions(-)
diff --git a/data/install-scripts/debian.xml b/data/install-scripts/debian.xml
index b07f200..ac70efa 100644
--- a/data/install-scripts/debian.xml
+++ b/data/install-scripts/debian.xml
@@ -84,8 +84,17 @@ d-i partman/confirm_nooverwrite boolean true
d-i passwd/root-login boolean true
d-i passwd/make-user boolean false
+<xsl:choose>
+ <xsl:when test="config/admin-password = ''">
+# Real password will be set later
+d-i passwd/root-password password dummyPa55w0rd
+d-i passwd/root-password-again password dummyPa55w0rd
+ </xsl:when>
+ <xsl:otherwise>
d-i passwd/root-password password <xsl:value-of select="config/admin-password"/>
d-i passwd/root-password-again password <xsl:value-of select="config/admin-password"/>
+ </xsl:otherwise>
+</xsl:choose>
tasksel tasksel/first multiselect standard
@@ -99,6 +108,14 @@ d-i apt-setup/volatile_host string
d-i apt-setup/security_host string
d-i finish-install/reboot_in_progress note
+
+<xsl:choose>
+ <xsl:when test="config/admin-password = ''">
+# Delete password
+d-i preseed/late_command string in-target passwd -d root
+ </xsl:when>
+</xsl:choose>
+
</xsl:template>
</xsl:stylesheet>
</template>
@@ -118,9 +135,8 @@ d-i finish-install/reboot_in_progress note
<!-- User options -->
<param name="user-login" policy="required"/>
<param name="user-fullname" policy="optional"/>
- <!-- This MUST be nonempty. Can we enforce this? -->
- <param name="user-password" policy="required"/>
- <param name="admin-password" policy="required"/>
+ <param name="user-password" policy="optional"/>
+ <param name="admin-password" policy="optional"/>
<!-- Misc -->
<param name="hostname" policy="optional"/>
@@ -224,16 +240,34 @@ d-i time/zone select <xsl:value-of select="config/l10n-timezone"/>
## Root
d-i passwd/root-login boolean true
+<xsl:choose>
+ <xsl:when test="config/admin-password = ''">
+# Real password will be set later
+d-i passwd/root-password password dummyPa55w0rd
+d-i passwd/root-password-again password dummyPa55w0rd
+ </xsl:when>
+ <xsl:otherwise>
d-i passwd/root-password password <xsl:value-of select="config/admin-password"/>
d-i passwd/root-password-again password <xsl:value-of select="config/admin-password"/>
+ </xsl:otherwise>
+</xsl:choose>
## User
d-i user-setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false
d-i passwd/user-fullname string <xsl:call-template name="user-fullname"/>
d-i passwd/username <xsl:value-of select="config/user-login"/>
+<xsl:choose>
+ <xsl:when test="config/user-password = ''">
+# Real password will be set later
+d-i passwd/user-password password dummyPa55w0rd
+d-i passwd/user-password-again password dummyPa55w0rd
+ </xsl:when>
+ <xsl:otherwise>
d-i passwd/user-password password <xsl:value-of select="config/user-password"/>
d-i passwd/user-password-again password <xsl:value-of select="config/user-password"/>
+ </xsl:otherwise>
+</xsl:choose>
### Partitioning
@@ -273,6 +307,21 @@ d-i grub-installer/bootdev string <xsl:call-template name="target-disk"/>
### Cleanup
d-i finish-install/reboot_in_progress note
+
+<xsl:choose>
+ <xsl:when test="config/admin-password = ''">
+# Delete root password
+d-i preseed/late_command string in-target passwd -d root
+ </xsl:when>
+</xsl:choose>
+
+<xsl:choose>
+ <xsl:when test="config/user-password = ''">
+# Delete user password
+d-i preseed/late_command string in-target passwd -d <xsl:value-of select="config/user-login"/>
+ </xsl:when>
+</xsl:choose>
+
</xsl:template>
</xsl:stylesheet>
</template>
--
2.0.4
More information about the Libosinfo
mailing list