mirror of
				https://git.launchpad.net/livecd-rootfs
				synced 2025-11-04 10:54:07 +00:00 
			
		
		
		
	Drop ubuntu-desktop-next hooks
This commit is contained in:
		
							parent
							
								
									2aa3a59b7c
								
							
						
					
					
						commit
						25224180e1
					
				
							
								
								
									
										1
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
								
							@ -1,6 +1,7 @@
 | 
			
		||||
livecd-rootfs (2.588) UNRELEASED; urgency=medium
 | 
			
		||||
 | 
			
		||||
  * Drop ubuntu-desktop-next configs
 | 
			
		||||
  * Drop ubuntu-desktop-next hooks
 | 
			
		||||
 | 
			
		||||
 -- Dimitri John Ledkov <xnox@ubuntu.com>  Thu, 30 May 2019 12:00:40 +0100
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,295 +0,0 @@
 | 
			
		||||
#!/bin/sh -eu
 | 
			
		||||
 | 
			
		||||
ERRCNT=""
 | 
			
		||||
 | 
			
		||||
# Known good post-debootstrap values
 | 
			
		||||
passwd_bootstrap="e6075a0d2a38e214ae5e9a5545f7eda3"
 | 
			
		||||
shadow_bootstrap="7fa48d7fb0e3a1ede9c98ff7b1b33622"
 | 
			
		||||
group_bootstrap="5fd842058cd526ddaf51c2a61870c12a"
 | 
			
		||||
gshadow_bootstrap="3145b72315c7306edb13bf546bb350b9"
 | 
			
		||||
 | 
			
		||||
# Current post-debootstrap values
 | 
			
		||||
passwd_hash=$(set -- $(md5sum /etc/passwd) && echo $1)
 | 
			
		||||
shadow_hash=$(set -- $(cat /etc/shadow | sed "s/:.*:0:99999:/:0:99999:/g" | md5sum) && echo $1)
 | 
			
		||||
group_hash=$(set -- $(md5sum /etc/group) && echo $1)
 | 
			
		||||
gshadow_hash=$(set -- $(md5sum /etc/gshadow) && echo $1)
 | 
			
		||||
 | 
			
		||||
# /etc/passwd
 | 
			
		||||
if [ "$passwd_bootstrap" = "$passwd_hash" ]; then
 | 
			
		||||
    cat > /etc/passwd <<EOF
 | 
			
		||||
root:x:0:0:root:/root:/bin/bash
 | 
			
		||||
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
 | 
			
		||||
bin:x:2:2:bin:/bin:/usr/sbin/nologin
 | 
			
		||||
sys:x:3:3:sys:/dev:/usr/sbin/nologin
 | 
			
		||||
sync:x:4:65534:sync:/bin:/bin/sync
 | 
			
		||||
games:x:5:60:games:/usr/games:/usr/sbin/nologin
 | 
			
		||||
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
 | 
			
		||||
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
 | 
			
		||||
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
 | 
			
		||||
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
 | 
			
		||||
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
 | 
			
		||||
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
 | 
			
		||||
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
 | 
			
		||||
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
 | 
			
		||||
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
 | 
			
		||||
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
 | 
			
		||||
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
 | 
			
		||||
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
 | 
			
		||||
systemd-timesync:x:100:104:systemd Time Synchronization,,,:/run/systemd:/bin/false
 | 
			
		||||
systemd-network:x:101:105:systemd Network Management,,,:/run/systemd/netif:/bin/false
 | 
			
		||||
systemd-resolve:x:102:106:systemd Resolver,,,:/run/systemd/resolve:/bin/false
 | 
			
		||||
systemd-bus-proxy:x:103:107:systemd Bus Proxy,,,:/run/systemd:/bin/false
 | 
			
		||||
syslog:x:104:110::/home/syslog:/bin/false
 | 
			
		||||
usermetrics:x:105:111:User Metrics:/var/lib/usermetrics:/bin/false
 | 
			
		||||
messagebus:x:106:112::/var/run/dbus:/bin/false
 | 
			
		||||
uuidd:x:107:113::/run/uuidd:/bin/false
 | 
			
		||||
snappypkg:x:108:114::/nonexistent:/bin/false
 | 
			
		||||
avahi:x:109:115:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
 | 
			
		||||
dnsmasq:x:110:65534:dnsmasq,,,:/var/lib/misc:/bin/false
 | 
			
		||||
pulse:x:111:116:PulseAudio daemon,,,:/var/run/pulse:/bin/false
 | 
			
		||||
whoopsie:x:112:118::/nonexistent:/bin/false
 | 
			
		||||
sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin
 | 
			
		||||
rtkit:x:114:123:RealtimeKit,,,:/proc:/bin/false
 | 
			
		||||
usbmux:x:115:46:usbmux daemon,,,:/var/lib/usbmux:/bin/false
 | 
			
		||||
colord:x:116:124:colord colour management daemon,,,:/var/lib/colord:/bin/false
 | 
			
		||||
lightdm:x:117:126:Light Display Manager:/var/lib/lightdm:/bin/false
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
    echo "/etc/passwd post-debootstrap hash doesn't match record" >&2
 | 
			
		||||
    echo "The output below might help to resolve the issue" >&2
 | 
			
		||||
    cat /etc/passwd
 | 
			
		||||
    echo "passwd md5sum: $passwd_hash" >&2
 | 
			
		||||
    ERRCNT=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# /etc/shadow
 | 
			
		||||
if [ "$shadow_bootstrap" = "$shadow_hash" ]; then
 | 
			
		||||
    cat > /etc/shadow <<EOF
 | 
			
		||||
root:*:16591:0:99999:7:::
 | 
			
		||||
daemon:*:16591:0:99999:7:::
 | 
			
		||||
bin:*:16591:0:99999:7:::
 | 
			
		||||
sys:*:16591:0:99999:7:::
 | 
			
		||||
sync:*:16591:0:99999:7:::
 | 
			
		||||
games:*:16591:0:99999:7:::
 | 
			
		||||
man:*:16591:0:99999:7:::
 | 
			
		||||
lp:*:16591:0:99999:7:::
 | 
			
		||||
mail:*:16591:0:99999:7:::
 | 
			
		||||
news:*:16591:0:99999:7:::
 | 
			
		||||
uucp:*:16591:0:99999:7:::
 | 
			
		||||
proxy:*:16591:0:99999:7:::
 | 
			
		||||
www-data:*:16591:0:99999:7:::
 | 
			
		||||
backup:*:16591:0:99999:7:::
 | 
			
		||||
list:*:16591:0:99999:7:::
 | 
			
		||||
irc:*:16591:0:99999:7:::
 | 
			
		||||
gnats:*:16591:0:99999:7:::
 | 
			
		||||
nobody:*:16591:0:99999:7:::
 | 
			
		||||
systemd-timesync:*:16591:0:99999:7:::
 | 
			
		||||
systemd-network:*:16591:0:99999:7:::
 | 
			
		||||
systemd-resolve:*:16591:0:99999:7:::
 | 
			
		||||
systemd-bus-proxy:*:16591:0:99999:7:::
 | 
			
		||||
syslog:*:16591:0:99999:7:::
 | 
			
		||||
usermetrics:*:16594:0:99999:7:::
 | 
			
		||||
messagebus:*:16594:0:99999:7:::
 | 
			
		||||
uuidd:*:16594:0:99999:7:::
 | 
			
		||||
snappypkg:*:16594:0:99999:7:::
 | 
			
		||||
avahi:*:16594:0:99999:7:::
 | 
			
		||||
dnsmasq:*:16594:0:99999:7:::
 | 
			
		||||
pulse:*:16594:0:99999:7:::
 | 
			
		||||
whoopsie:*:16594:0:99999:7:::
 | 
			
		||||
sshd:*:16594:0:99999:7:::
 | 
			
		||||
rtkit:*:16594:0:99999:7:::
 | 
			
		||||
usbmux:*:16594:0:99999:7:::
 | 
			
		||||
colord:*:16594:0:99999:7:::
 | 
			
		||||
lightdm:*:16594:0:99999:7:::
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
    echo "/etc/shadow post-debootstrap hash doesn't match record" >&2
 | 
			
		||||
    echo "The output below might help to resolve the issue" >&2
 | 
			
		||||
    cat /etc/shadow
 | 
			
		||||
    echo "shadow md5sum: $shadow_hash" >&2
 | 
			
		||||
    ERRCNT=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# /etc/group
 | 
			
		||||
if [ "$group_bootstrap" = "$group_hash" ]; then
 | 
			
		||||
    cat > /etc/group <<EOF
 | 
			
		||||
root:x:0:
 | 
			
		||||
daemon:x:1:
 | 
			
		||||
bin:x:2:
 | 
			
		||||
sys:x:3:
 | 
			
		||||
adm:x:4:syslog,ubuntu
 | 
			
		||||
tty:x:5:
 | 
			
		||||
disk:x:6:
 | 
			
		||||
lp:x:7:
 | 
			
		||||
mail:x:8:
 | 
			
		||||
news:x:9:
 | 
			
		||||
uucp:x:10:
 | 
			
		||||
man:x:12:
 | 
			
		||||
proxy:x:13:
 | 
			
		||||
kmem:x:15:
 | 
			
		||||
dialout:x:20:ubuntu
 | 
			
		||||
fax:x:21:
 | 
			
		||||
voice:x:22:
 | 
			
		||||
cdrom:x:24:ubuntu
 | 
			
		||||
floppy:x:25:
 | 
			
		||||
tape:x:26:
 | 
			
		||||
sudo:x:27:ubuntu
 | 
			
		||||
audio:x:29:pulse,ubuntu
 | 
			
		||||
dip:x:30:ubuntu
 | 
			
		||||
www-data:x:33:
 | 
			
		||||
backup:x:34:
 | 
			
		||||
operator:x:37:
 | 
			
		||||
list:x:38:
 | 
			
		||||
irc:x:39:
 | 
			
		||||
src:x:40:
 | 
			
		||||
gnats:x:41:
 | 
			
		||||
shadow:x:42:
 | 
			
		||||
utmp:x:43:
 | 
			
		||||
video:x:44:ubuntu
 | 
			
		||||
sasl:x:45:
 | 
			
		||||
plugdev:x:46:ubuntu
 | 
			
		||||
staff:x:50:
 | 
			
		||||
games:x:60:
 | 
			
		||||
users:x:100:
 | 
			
		||||
nogroup:x:65534:
 | 
			
		||||
input:x:101:
 | 
			
		||||
systemd-journal:x:102:
 | 
			
		||||
systemd-timesync:x:104:
 | 
			
		||||
systemd-network:x:105:
 | 
			
		||||
systemd-resolve:x:106:
 | 
			
		||||
systemd-bus-proxy:x:107:
 | 
			
		||||
netdev:x:108:
 | 
			
		||||
crontab:x:109:
 | 
			
		||||
syslog:x:110:
 | 
			
		||||
usermetrics:x:111:
 | 
			
		||||
messagebus:x:112:
 | 
			
		||||
uuidd:x:113:
 | 
			
		||||
snappypkg:x:114:
 | 
			
		||||
avahi:x:115:
 | 
			
		||||
pulse:x:116:
 | 
			
		||||
pulse-access:x:117:
 | 
			
		||||
whoopsie:x:118:
 | 
			
		||||
bluetooth:x:119:
 | 
			
		||||
mlocate:x:120:
 | 
			
		||||
ssh:x:121:
 | 
			
		||||
scanner:x:122:
 | 
			
		||||
rtkit:x:123:
 | 
			
		||||
colord:x:124:
 | 
			
		||||
autopilot:x:125:
 | 
			
		||||
lightdm:x:126:
 | 
			
		||||
nopasswdlogin:x:127:
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
    echo "/etc/group post-debootstrap hash doesn't match record" >&2
 | 
			
		||||
    echo "The output below might help to resolve the issue" >&2
 | 
			
		||||
    cat /etc/group
 | 
			
		||||
    echo "group md5sum: $group_hash" >&2
 | 
			
		||||
    ERRCNT=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# /etc/gshadow
 | 
			
		||||
if [ "$gshadow_bootstrap" = "$gshadow_hash" ]; then
 | 
			
		||||
    cat > /etc/gshadow <<EOF
 | 
			
		||||
root:*::
 | 
			
		||||
daemon:*::
 | 
			
		||||
bin:*::
 | 
			
		||||
sys:*::
 | 
			
		||||
adm:*::syslog,ubuntu
 | 
			
		||||
tty:*::
 | 
			
		||||
disk:*::
 | 
			
		||||
lp:*::
 | 
			
		||||
mail:*::
 | 
			
		||||
news:*::
 | 
			
		||||
uucp:*::
 | 
			
		||||
man:*::
 | 
			
		||||
proxy:*::
 | 
			
		||||
kmem:*::
 | 
			
		||||
dialout:*::ubuntu
 | 
			
		||||
fax:*::
 | 
			
		||||
voice:*::
 | 
			
		||||
cdrom:*::ubuntu
 | 
			
		||||
floppy:*::
 | 
			
		||||
tape:*::
 | 
			
		||||
sudo:*::ubuntu
 | 
			
		||||
audio:*::pulse,ubuntu
 | 
			
		||||
dip:*::ubuntu
 | 
			
		||||
www-data:*::
 | 
			
		||||
backup:*::
 | 
			
		||||
operator:*::
 | 
			
		||||
list:*::
 | 
			
		||||
irc:*::
 | 
			
		||||
src:*::
 | 
			
		||||
gnats:*::
 | 
			
		||||
shadow:*::
 | 
			
		||||
utmp:*::
 | 
			
		||||
video:*::ubuntu
 | 
			
		||||
sasl:*::
 | 
			
		||||
plugdev:*::ubuntu
 | 
			
		||||
staff:*::
 | 
			
		||||
games:*::
 | 
			
		||||
users:*::
 | 
			
		||||
nogroup:*::
 | 
			
		||||
input:!::
 | 
			
		||||
systemd-journal:!::
 | 
			
		||||
systemd-timesync:!::
 | 
			
		||||
systemd-network:!::
 | 
			
		||||
systemd-resolve:!::
 | 
			
		||||
systemd-bus-proxy:!::
 | 
			
		||||
netdev:!::
 | 
			
		||||
crontab:!::
 | 
			
		||||
syslog:!::
 | 
			
		||||
usermetrics:!::
 | 
			
		||||
messagebus:!::
 | 
			
		||||
uuidd:!::
 | 
			
		||||
snappypkg:!::
 | 
			
		||||
avahi:!::
 | 
			
		||||
pulse:!::
 | 
			
		||||
pulse-access:!::
 | 
			
		||||
whoopsie:!::
 | 
			
		||||
bluetooth:!::
 | 
			
		||||
mlocate:!::
 | 
			
		||||
ssh:!::
 | 
			
		||||
scanner:!::
 | 
			
		||||
rtkit:!::
 | 
			
		||||
colord:!::
 | 
			
		||||
autopilot:!::
 | 
			
		||||
lightdm:!::
 | 
			
		||||
nopasswdlogin:!::
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
    echo "/etc/gshadow post-debootstrap hash doesn't match record" >&2
 | 
			
		||||
    echo "The output below might help to resolve the issue" >&2
 | 
			
		||||
    cat /etc/gshadow
 | 
			
		||||
    echo "gshadow md5sum: $gshadow_hash" >&2
 | 
			
		||||
    ERRCNT=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -n "$ERRCNT" ]; then
 | 
			
		||||
        echo "There were changes to the password database," >&2
 | 
			
		||||
        echo "please adjust the values in the livecd-rootfs source in the file:" >&2
 | 
			
		||||
        echo "live-build/ubuntu-desktop-next/hooks/00-uid-gid-fix.chroot_early" >&2
 | 
			
		||||
        echo >&2
 | 
			
		||||
        echo "Please check also if a maintainer script of the package" >&2
 | 
			
		||||
        echo "that added these entries perhaps created a home directory and," >&2
 | 
			
		||||
        echo "if needed, add code for creation of it to the above hook" >&2
 | 
			
		||||
        exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Create some missing directories
 | 
			
		||||
mkdir -p /var/lib/lightdm
 | 
			
		||||
chown lightdm:lightdm /var/lib/lightdm
 | 
			
		||||
chmod 750 /var/lib/lightdm
 | 
			
		||||
 | 
			
		||||
mkdir -p /var/lib/usermetrics
 | 
			
		||||
chown usermetrics:usermetrics /var/lib/usermetrics
 | 
			
		||||
chmod 750 /var/lib/usermetrics
 | 
			
		||||
 | 
			
		||||
echo "adjusting ownership of /var/log" >&2
 | 
			
		||||
chown root:syslog /var/log
 | 
			
		||||
ls -ln /var | grep log >&2
 | 
			
		||||
 | 
			
		||||
# Record the current state for later comparison
 | 
			
		||||
for file in /etc/passwd /etc/shadow /etc/group /etc/gshadow; do
 | 
			
		||||
    rm -f ${file}-
 | 
			
		||||
    cp ${file} ${file}.orig
 | 
			
		||||
done
 | 
			
		||||
@ -1,44 +0,0 @@
 | 
			
		||||
#!/bin/sh -x
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
USER=ubuntu
 | 
			
		||||
UGID=1000
 | 
			
		||||
 | 
			
		||||
echo "I: creating default user $USER"
 | 
			
		||||
adduser --gecos $USER --disabled-login $USER --uid $UGID
 | 
			
		||||
 | 
			
		||||
mkdir -p /home/$USER/Music
 | 
			
		||||
mkdir -p /home/$USER/Pictures
 | 
			
		||||
mkdir -p /home/$USER/Videos
 | 
			
		||||
mkdir -p /home/$USER/Downloads
 | 
			
		||||
mkdir -p /home/$USER/Documents
 | 
			
		||||
chown -R $UGID:$UGID /home/$USER
 | 
			
		||||
 | 
			
		||||
# Enable libnss-extrusers
 | 
			
		||||
sed -i 's/^group:.*compat/\0 extrausers/' /etc/nsswitch.conf
 | 
			
		||||
sed -i 's/^passwd:.*compat/\0 extrausers/' /etc/nsswitch.conf
 | 
			
		||||
sed -i 's/^shadow:.*compat/\0 extrausers/' /etc/nsswitch.conf
 | 
			
		||||
 | 
			
		||||
# Move user from /etc to extrausers location
 | 
			
		||||
grep "^$USER" /etc/group >> /var/lib/extrausers/group
 | 
			
		||||
grep "^$USER" /etc/passwd >> /var/lib/extrausers/passwd
 | 
			
		||||
grep "^$USER" /etc/shadow >> /var/lib/extrausers/shadow
 | 
			
		||||
grep "^$USER" /etc/gshadow >> /var/lib/extrausers/gshadow
 | 
			
		||||
chmod 0644 /var/lib/extrausers/group
 | 
			
		||||
chmod 0644 /var/lib/extrausers/passwd
 | 
			
		||||
chmod 0640 /var/lib/extrausers/shadow
 | 
			
		||||
chmod 0640 /var/lib/extrausers/gshadow
 | 
			
		||||
chown root:shadow /var/lib/extrausers/shadow
 | 
			
		||||
chown root:shadow /var/lib/extrausers/gshadow
 | 
			
		||||
sed -i "/^$USER/d" /etc/group
 | 
			
		||||
sed -i "/^$USER/d" /etc/passwd
 | 
			
		||||
sed -i "/^$USER/d" /etc/shadow
 | 
			
		||||
sed -i "/^$USER/d" /etc/gshadow
 | 
			
		||||
touch /var/lib/extrausers/subuid
 | 
			
		||||
touch /var/lib/extrausers/subgid
 | 
			
		||||
 | 
			
		||||
# needs to run *after* the user was moved out to /var/lib/extrausers
 | 
			
		||||
echo "I: set user $USER password to $USER"
 | 
			
		||||
echo "$USER:$USER" | chpasswd
 | 
			
		||||
 | 
			
		||||
@ -1,8 +0,0 @@
 | 
			
		||||
#!/bin/sh -x
 | 
			
		||||
 | 
			
		||||
USER=ubuntu
 | 
			
		||||
 | 
			
		||||
DEFGROUPS="sudo,adm,dialout,cdrom,plugdev,audio,dip,video"
 | 
			
		||||
 | 
			
		||||
echo "I: add $USER to ($DEFGROUPS) group(s)"
 | 
			
		||||
usermod -a -G ${DEFGROUPS} ${USER}
 | 
			
		||||
@ -1,11 +0,0 @@
 | 
			
		||||
#!/bin/sh -x
 | 
			
		||||
 | 
			
		||||
# Boot using systemd and disable quiet boot
 | 
			
		||||
# to see what is happening.
 | 
			
		||||
systemd=/lib/systemd/systemd
 | 
			
		||||
if [ -f /etc/default/grub ]; then
 | 
			
		||||
    sed -i \
 | 
			
		||||
        -e "s,^\\([ 	]*GRUB_CMDLINE_LINUX\\)=\"\"$,\\1=\"init=$systemd\",g" \
 | 
			
		||||
        -e 's,^\([ 	]*GRUB_CMDLINE_LINUX_DEFAULT\)="quiet splash",\1="",g' \
 | 
			
		||||
    /etc/default/grub
 | 
			
		||||
fi
 | 
			
		||||
@ -1,6 +0,0 @@
 | 
			
		||||
#!/bin/sh -x
 | 
			
		||||
 | 
			
		||||
cat >>/etc/fstab<<EOT
 | 
			
		||||
# Minimal setup required for systemd to provide a r/w FS
 | 
			
		||||
/dev/root	/	rootfs	defaults	0	0
 | 
			
		||||
EOT
 | 
			
		||||
@ -1,7 +0,0 @@
 | 
			
		||||
#!/bin/sh -x
 | 
			
		||||
 | 
			
		||||
# Change default cache partition (until LP: #1373467 is fixed).
 | 
			
		||||
if [ -f /etc/system-image/client.ini ]; then
 | 
			
		||||
	sed -ie 's!cache_partition: /android/cache/recovery!cache_partition: /userdata/cache!g' \
 | 
			
		||||
			/etc/system-image/client.ini
 | 
			
		||||
fi
 | 
			
		||||
@ -1,15 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
mkdir -p /etc/writable
 | 
			
		||||
 | 
			
		||||
# cloud-init needs to be able to modify hostname and has the ability to
 | 
			
		||||
# set the other two.
 | 
			
		||||
for f in timezone localtime hostname; do
 | 
			
		||||
    if [ -e /etc/$f ]; then
 | 
			
		||||
        echo "I: Moving /etc/$f to /etc/writable/"
 | 
			
		||||
        mv /etc/$f /etc/writable/$f
 | 
			
		||||
    fi
 | 
			
		||||
    echo "I: Linking /etc/$f to /etc/writable/"
 | 
			
		||||
    ln -s writable/$f /etc/$f
 | 
			
		||||
done
 | 
			
		||||
@ -1,8 +0,0 @@
 | 
			
		||||
#!/bin/sh -x
 | 
			
		||||
 | 
			
		||||
echo "I: Removing /var/lib/apt/lists/*"
 | 
			
		||||
find binary/boot/filesystem.dir/var/lib/apt/lists/ -type f | xargs rm -f
 | 
			
		||||
 | 
			
		||||
echo "I: Removing /var/cache/apt/*.bin"
 | 
			
		||||
rm -f binary/boot/filesystem.dir/var/cache/apt/*.bin
 | 
			
		||||
 | 
			
		||||
@ -1,6 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
# we don't want click on snappy image
 | 
			
		||||
apt-get purge -y click
 | 
			
		||||
@ -1,7 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
cat >/etc/default/locale<<EOF
 | 
			
		||||
LANG="C.UTF-8"
 | 
			
		||||
EOF
 | 
			
		||||
@ -1,14 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
cat >/etc/motd<<EOF
 | 
			
		||||
Welcome to snappy Ubuntu Desktop Next, a transactionally updated Ubuntu.
 | 
			
		||||
 | 
			
		||||
 * See https://ubuntu.com/snappy
 | 
			
		||||
 | 
			
		||||
It's a brave new world here in snappy Ubuntu Desktop Next! This machine
 | 
			
		||||
does not use apt-get or deb packages. Please see 'snappy --help'
 | 
			
		||||
for app installation and transactional updates.
 | 
			
		||||
 | 
			
		||||
This is a *highly* experimental image.
 | 
			
		||||
 | 
			
		||||
EOF
 | 
			
		||||
@ -1,4 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# see bug https://bugs.launchpad.net/snappy-ubuntu/+bug/1442231
 | 
			
		||||
rm -f /etc/init.d/grub-common
 | 
			
		||||
@ -1,8 +0,0 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
echo "create needed directories" >&2
 | 
			
		||||
mkdir -p /lib/modules
 | 
			
		||||
mkdir -p /lib/firmware
 | 
			
		||||
mkdir -p /writable
 | 
			
		||||
@ -1,19 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
set -ex
 | 
			
		||||
 | 
			
		||||
echo "I: Creating warning to use snappy when apt-get is used"
 | 
			
		||||
 | 
			
		||||
PREFIX=binary/boot/filesystem.dir
 | 
			
		||||
 | 
			
		||||
mkdir -p $PREFIX/usr/local/bin
 | 
			
		||||
cat >$PREFIX/usr/local/bin/no-apt <<EOF
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
cat <<EOF
 | 
			
		||||
Ubuntu Core does not use apt-get, see 'snappy --help'!
 | 
			
		||||
EOF
 | 
			
		||||
chmod 755 $PREFIX/usr/local/bin/no-apt
 | 
			
		||||
 | 
			
		||||
for cmd in apt apt-cache apt-get; do
 | 
			
		||||
    ln -s no-apt $PREFIX/usr/local/bin/$cmd
 | 
			
		||||
done
 | 
			
		||||
@ -1,15 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
echo "Adding admin group policy to NM system service"
 | 
			
		||||
 | 
			
		||||
sed -i 's/<policy user="root">/<policy group="sudo">\n\t\t\t\t<allow send_destination="org.freedesktop.NetworkManager"\/>\n\t\t\t\t<allow send_interface="org.freedesktop.NetworkManager"\/>\n\t\t\t\t<allow send_interface="org.freedesktop.NetworkManager.SecretAgent"\/>\n\t\t<\/policy>\n\t\t<policy user="root">/g' /etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf
 | 
			
		||||
 | 
			
		||||
mkdir -p /etc/polkit-1/localauthority/50-local.d
 | 
			
		||||
cat > /etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla << EOF
 | 
			
		||||
[indicator-network-service]
 | 
			
		||||
Identity=unix-group:sudo
 | 
			
		||||
Action=org.freedesktop.NetworkManager.*
 | 
			
		||||
ResultAny=yes
 | 
			
		||||
ResultInactive=no
 | 
			
		||||
ResultActive=yes
 | 
			
		||||
EOF
 | 
			
		||||
@ -1,80 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# move the kernel out into a new device tarfile with system/boot 
 | 
			
		||||
 | 
			
		||||
set -ex
 | 
			
		||||
 | 
			
		||||
echo "I: Moving kernel into device tarball"
 | 
			
		||||
 | 
			
		||||
HERE="$(pwd)"
 | 
			
		||||
TMPDIR="$(mktemp -d)"
 | 
			
		||||
mkdir -p $TMPDIR/system/
 | 
			
		||||
mkdir -p $TMPDIR/assets/
 | 
			
		||||
 | 
			
		||||
# cp files, we can't simply use tar --transform as it changes the symlink target
 | 
			
		||||
(
 | 
			
		||||
 cd binary/boot/filesystem.dir
 | 
			
		||||
 | 
			
		||||
 cp -ar --parent lib/modules/ $TMPDIR/system/
 | 
			
		||||
 cp -ar --parent lib/firmware/ $TMPDIR/system/
 | 
			
		||||
 | 
			
		||||
 # new assets handling
 | 
			
		||||
 if [ -f boot/vmlinu?-*.signed ]; then
 | 
			
		||||
    kernel=boot/vmlinu?-*.signed
 | 
			
		||||
 else
 | 
			
		||||
    kernel=boot/vmlinu?-*
 | 
			
		||||
 fi
 | 
			
		||||
 | 
			
		||||
 initrd=boot/initrd.img-*
 | 
			
		||||
 | 
			
		||||
 cp -ar $initrd $TMPDIR/assets/
 | 
			
		||||
 cp -ar $kernel $TMPDIR/assets/
 | 
			
		||||
 cp -ar boot/abi-* boot/System.map-* $TMPDIR/assets/
 | 
			
		||||
 | 
			
		||||
 dtbs=$(find lib/firmware -type d -name 'device-tree' -print0)
 | 
			
		||||
 if [ -n "$dtbs" ]; then
 | 
			
		||||
    mv "$dtbs" $TMPDIR/assets/dtbs
 | 
			
		||||
 fi
 | 
			
		||||
 | 
			
		||||
 # create hardware.yaml
 | 
			
		||||
 # this assumes armh == u-boot
 | 
			
		||||
 # and all others grub
 | 
			
		||||
 # common bits
 | 
			
		||||
 cat > $TMPDIR/hardware.yaml << EOF
 | 
			
		||||
kernel: assets/$(basename $kernel)
 | 
			
		||||
initrd: assets/$(basename $initrd)
 | 
			
		||||
partition-layout: system-AB
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
# arch specific ones
 | 
			
		||||
if [ "$ARCH" = "armhf" ]; then
 | 
			
		||||
 cat >> $TMPDIR/hardware.yaml << EOF
 | 
			
		||||
dtbs: assets/dtbs
 | 
			
		||||
bootloader: u-boot
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
 cat >> $TMPDIR/hardware.yaml << EOF
 | 
			
		||||
bootloader: grub
 | 
			
		||||
EOF
 | 
			
		||||
fi
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# and tar it up
 | 
			
		||||
(
 | 
			
		||||
 cd $TMPDIR
 | 
			
		||||
 tar -c --sort=name -z -f $HERE/device.tar.gz system assets hardware.yaml
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
rm -rf $TMPDIR
 | 
			
		||||
 | 
			
		||||
# remove files from the root filesystem
 | 
			
		||||
(cd binary/boot/filesystem.dir
 | 
			
		||||
 rm -f boot/vmlinu?-*
 | 
			
		||||
 rm -f boot/initrd.img-*
 | 
			
		||||
 rm -f boot/abi-*
 | 
			
		||||
 rm -f boot/System.map-*
 | 
			
		||||
 rm -f initrd.img
 | 
			
		||||
 rm -f vmlinu?
 | 
			
		||||
 rm -rf lib/modules
 | 
			
		||||
 rm -rf lib/firmware
 | 
			
		||||
)
 | 
			
		||||
@ -1,52 +0,0 @@
 | 
			
		||||
#!/bin/sh -eu
 | 
			
		||||
 | 
			
		||||
ERRCNT=""
 | 
			
		||||
 | 
			
		||||
passwd_hash=$(set -- $(md5sum /etc/passwd) && echo $1)
 | 
			
		||||
shadow_hash=$(set -- $(cat /etc/shadow | sed "s/:.*:0:99999:/:0:99999:/g" | md5sum) && echo $1)
 | 
			
		||||
group_length=$(cat /etc/group | wc -l)
 | 
			
		||||
gshadow_length=$(cat /etc/gshadow | wc -l)
 | 
			
		||||
 | 
			
		||||
passwd_orig_hash=$(set -- $(md5sum /etc/passwd.orig) && echo $1)
 | 
			
		||||
shadow_orig_hash=$(set -- $(cat /etc/shadow.orig | sed "s/:.*:0:99999:/:0:99999:/g" | md5sum) && echo $1)
 | 
			
		||||
group_orig_length=$(cat /etc/group.orig | wc -l)
 | 
			
		||||
gshadow_orig_length=$(cat /etc/gshadow.orig | wc -l)
 | 
			
		||||
 | 
			
		||||
if [ "$passwd_hash" != "$passwd_orig_hash" ]; then
 | 
			
		||||
    echo "/etc/passwd has changed during setup." >&2
 | 
			
		||||
    echo "The new /etc/passwd md5sum is: $passwd_hash" >&2
 | 
			
		||||
    diff -Nrup /etc/passwd.orig /etc/passwd >&2 || true
 | 
			
		||||
    ERRCNT=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$shadow_hash" != "$shadow_orig_hash" ]; then
 | 
			
		||||
    echo "/etc/shadow has changed during setup." >&2
 | 
			
		||||
    echo "The new /etc/shadow md5sum is: $shadow_hash" >&2
 | 
			
		||||
    diff -Nrup /etc/shadow.orig /etc/shadow >&2 || true
 | 
			
		||||
    ERRCNT=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$group_length" != "$group_orig_length" ]; then
 | 
			
		||||
    echo "/etc/group has changed during setup." >&2
 | 
			
		||||
    diff -Nrup /etc/group.orig /etc/group >&2 || true
 | 
			
		||||
    ERRCNT=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$gshadow_length" != "$gshadow_orig_length" ]; then
 | 
			
		||||
    echo "/etc/gshadow has changed during setup." >&2
 | 
			
		||||
    diff -Nrup /etc/gshadow.orig /etc/gshadow >&2 || true
 | 
			
		||||
    ERRCNT=1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -n "$ERRCNT" ]; then
 | 
			
		||||
	echo "There were changes to the password database," >&2
 | 
			
		||||
	echo "please adjust the values in the livecd-rootfs source in the file:" >&2
 | 
			
		||||
	echo "live-build/ubuntu-core/hooks/00-uid-gid-fix.chroot_early" >&2
 | 
			
		||||
	echo >&2
 | 
			
		||||
	echo "Please check also if a maintainer script of the package" >&2
 | 
			
		||||
	echo "that added these entries perhaps created a home directory and," >&2
 | 
			
		||||
	echo "if needed, add code for creation of it to the above hook" >&2
 | 
			
		||||
	exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
rm /etc/passwd.orig /etc/shadow.orig /etc/group.orig /etc/gshadow.orig
 | 
			
		||||
@ -1,9 +0,0 @@
 | 
			
		||||
127.0.0.1	localhost.localdomain	localhost
 | 
			
		||||
::1		localhost6.localdomain6	localhost6
 | 
			
		||||
 | 
			
		||||
# The following lines are desirable for IPv6 capable hosts
 | 
			
		||||
::1     localhost ip6-localhost ip6-loopback
 | 
			
		||||
fe00::0 ip6-localnet
 | 
			
		||||
ff02::1 ip6-allnodes
 | 
			
		||||
ff02::2 ip6-allrouters
 | 
			
		||||
ff02::3 ip6-allhosts
 | 
			
		||||
@ -1,2 +0,0 @@
 | 
			
		||||
[Seat:*]
 | 
			
		||||
autologin-user=ubuntu
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user