From 60982157b0155ead24fcb6015fbe81dff941a7fa Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle Date: Thu, 19 Jan 2017 15:50:01 +1300 Subject: [PATCH] rearrange systemd stuff to only run subiquity on tty1 for https://bugs.launchpad.net/ubuntu/+source/subiquity/+bug/1654085 --- bin/subiquity-debug | 8 +++++ debian/rules | 9 ++++-- debian/subiquity-tty1.conf | 2 ++ debian/subiquity-ttyN.conf | 2 ++ debian/subiquity.conf | 2 -- debian/subiquity.install | 1 + ...ice => subiquity.subiquity-debug@.service} | 4 +-- debian/subiquity.subiquity.service | 30 +++++++++++++++++++ 8 files changed, 51 insertions(+), 7 deletions(-) create mode 100755 bin/subiquity-debug create mode 100644 debian/subiquity-tty1.conf create mode 100644 debian/subiquity-ttyN.conf delete mode 100644 debian/subiquity.conf rename debian/{subiquity.subiquity@.service => subiquity.subiquity-debug@.service} (90%) create mode 100644 debian/subiquity.subiquity.service diff --git a/bin/subiquity-debug b/bin/subiquity-debug new file mode 100755 index 00000000..95ea7ba7 --- /dev/null +++ b/bin/subiquity-debug @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +stty -echo +echo "Please press Enter to activate this console." +read REPLY +stty echo +exec bash diff --git a/debian/rules b/debian/rules index ab4ba226..9619642f 100755 --- a/debian/rules +++ b/debian/rules @@ -25,14 +25,17 @@ override_dh_python3: override_dh_installinit: dh_installinit --no-start --name=console-conf@ - dh_installinit --no-start --name=subiquity@ dh_installinit --no-start --name=serial-console-conf@ mkdir $(CURDIR)/debian/console-conf/lib/systemd/system/getty@.service.d/ install -m 0644 $(CURDIR)/debian/console-conf.conf $(CURDIR)/debian/console-conf/lib/systemd/system/getty@.service.d/ - mkdir $(CURDIR)/debian/subiquity/lib/systemd/system/getty@.service.d/ - install -m 0644 $(CURDIR)/debian/subiquity.conf $(CURDIR)/debian/subiquity/lib/systemd/system/getty@.service.d/ mkdir $(CURDIR)/debian/console-conf/lib/systemd/system/serial-getty@.service.d/ install -m 0644 $(CURDIR)/debian/console-conf-serial.conf $(CURDIR)/debian/console-conf/lib/systemd/system/serial-getty@.service.d/ + dh_installinit --no-start --name=subiquity + dh_installinit --no-start --name=subiquity-debug@ + mkdir $(CURDIR)/debian/subiquity/lib/systemd/system/getty@tty1.service.d/ + install -m 0644 $(CURDIR)/debian/subiquity-tty1.conf $(CURDIR)/debian/subiquity/lib/systemd/system/getty@tty1.service.d/ + mkdir $(CURDIR)/debian/subiquity/lib/systemd/system/getty@.service.d/ + install -m 0644 $(CURDIR)/debian/subiquity-ttyN.conf $(CURDIR)/debian/subiquity/lib/systemd/system/getty@.service.d/ override_dh_auto_test: @echo "No tests." diff --git a/debian/subiquity-tty1.conf b/debian/subiquity-tty1.conf new file mode 100644 index 00000000..b846fd8b --- /dev/null +++ b/debian/subiquity-tty1.conf @@ -0,0 +1,2 @@ +[Service] +ExecStartPre=/bin/systemctl start subiquity.service diff --git a/debian/subiquity-ttyN.conf b/debian/subiquity-ttyN.conf new file mode 100644 index 00000000..6f23a730 --- /dev/null +++ b/debian/subiquity-ttyN.conf @@ -0,0 +1,2 @@ +[Service] +ExecStartPre=/bin/systemctl start subiquity-debug@%i.service diff --git a/debian/subiquity.conf b/debian/subiquity.conf deleted file mode 100644 index 1554b11c..00000000 --- a/debian/subiquity.conf +++ /dev/null @@ -1,2 +0,0 @@ -[Service] -ExecStartPre=/bin/systemctl start subiquity@%i.service diff --git a/debian/subiquity.install b/debian/subiquity.install index 1fab1610..9c6804e9 100644 --- a/debian/subiquity.install +++ b/debian/subiquity.install @@ -1,2 +1,3 @@ bin/subiquity-tui usr/share/subiquity +bin/subiquity-debug usr/share/subiquity usr/share/subiquity/subiquity diff --git a/debian/subiquity.subiquity@.service b/debian/subiquity.subiquity-debug@.service similarity index 90% rename from debian/subiquity.subiquity@.service rename to debian/subiquity.subiquity-debug@.service index 06aaee8b..826e234d 100644 --- a/debian/subiquity.subiquity@.service +++ b/debian/subiquity.subiquity-debug@.service @@ -1,5 +1,5 @@ [Unit] -Description=Ubuntu Core Firstboot Configuration %I +Description=Subiquity debug shell %I After=systemd-user-sessions.service plymouth-quit-wait.service After=rc-local.service IgnoreOnIsolate=yes @@ -9,7 +9,7 @@ ConditionPathExists=!/run/subiquity/complete [Service] Environment=PYTHONPATH=/usr/share/subiquity ExecStartPre=/bin/systemctl stop getty@%I -ExecStart=/sbin/agetty -n --noclear -l /usr/share/subiquity/subiquity-tui %I $TERM +ExecStart=/sbin/agetty -n --noclear -l /usr/share/subiquity/subiquity-debug %I $TERM ExecStopPost=/bin/systemctl start getty@%I Type=idle Restart=always diff --git a/debian/subiquity.subiquity.service b/debian/subiquity.subiquity.service new file mode 100644 index 00000000..3da5686d --- /dev/null +++ b/debian/subiquity.subiquity.service @@ -0,0 +1,30 @@ +[Unit] +Description=Subiquity, the installer for Ubuntu Server +After=systemd-user-sessions.service plymouth-quit-wait.service +After=rc-local.service +IgnoreOnIsolate=yes +ConditionPathExists=/dev/tty0 +ConditionPathExists=!/run/subiquity/complete + +[Service] +Environment=PYTHONPATH=/usr/share/subiquity +ExecStartPre=/bin/systemctl stop getty@tty1 +ExecStart=/sbin/agetty -n --noclear -l /usr/share/subiquity/subiquity-tui tty1 $TERM +ExecStopPost=/bin/systemctl start getty@tty1 +Type=idle +Restart=always +RestartSec=0 +UtmpIdentifier=tty1 +TTYPath=/dev/tty1 +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes +KillMode=process +IgnoreSIGPIPE=no +SendSIGHUP=yes + +#KillMode=process +#Restart=always +#StandardInput=tty-force +#StandardOutput=tty +#StandardError=tty