blob: 0444bbb5961128e0f0ab18da7701e7ffb30dd907 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
#!/bin/bash
### post-install chroot customization script ###
set -e -u
source /root/customize_root_image-constants.inc
# configure timezone and locales #
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
for locale in ${LOCALES} ; do sed -i "s/#${locale}/${locale}/" /etc/locale.gen ; done ;
locale-gen
# configure sudo #
chmod 750 /etc/sudoers.d
chmod 440 /etc/sudoers.d/g_wheel
# configure pacman #
sed -i "s|#Server|Server|" /etc/pacman.d/mirrorlist
[ "${INSTALL_TYPE}" == 'Complete' ] && cp /etc/pacman-offline.conf /etc/pacman.conf || \
cp /etc/pacman-online.conf /etc/pacman.conf
# configure services #
if [[ "${ISO_INIT}" == 'openrc' ]]
then # delete files that are specific to other init systems
rm ${OPENRC_DELETE_FILES}
# enable services
for service in ${OPENRC_SERVICES} ; do rc-update add ${service} default ; done ;
# create the dbus user and group if it does not exist
if [[ "$(grep 'dbus' /etc/group )" = "" ]] ; then groupadd -g 81 dbus ; fi ;
if [[ "$(grep 'dbus' /etc/passwd)" = "" ]] ; then useradd -r -s /sbin/nologin -g 81 -u 81 dbus ; fi ;
elif [[ "${ISO_INIT}" == 'systemd' ]]
then # delete files that are specific to other init systems
rm ${SYSTEMD_DELETE_FILES}
# enable services
systemctl enable ${SYSTEMD_SERVICES}
else echo "invalid \$ISO_INIT for services '${ISO_INIT}'"
exit 1
fi
# configure root user, system defaults, and login session #
usermod -s ${DEFAULT_SHELL} root 2> /dev/null
sed -i "s|_EDITION_TITLE_|${ISO_TITLE}|" /etc/motd
sed -i "s|_NETWORK_MOTD_MSG_|${NETWORK_MOTD_MSG}|" /etc/motd
sed -i "s|PRETTY_NAME=.*|PRETTY_NAME=\"${OS_PRETTY_NAME}\"|" /usr/lib/os-release
echo "VERSION=\"${OS_VERSION}\"" >> /usr/lib/os-release
echo "VERSION_ID=\"${OS_VERSION_ID}\"" >> /usr/lib/os-release
echo "VARIANT=\"${OS_VARIANT}\"" >> /usr/lib/os-release
echo "VARIANT_ID=\"${OS_VARIANT_ID}\"" >> /usr/lib/os-release
# configure login session #
if [[ "${ISO_GUI}" == 'cli' ]]
then # configure CLI login session
cp ${ROOT_SKEL_FILES} /root/
sed -i "s|_DESKTOP_SESSION_||" /root/.bash_profile
else # configure GUI login session and live user
# configure live user
[[ -n "$(id ${LIVE_USER} 2> /dev/null)" ]] && userdel -r ${LIVE_USER} 2> /dev/null
useradd -m -p "" -g users -G "${USER_GROUPS}" -s ${DEFAULT_SHELL} ${LIVE_USER}
# configure auto-login
if [[ "${ISO_INIT}" == 'openrc' ]]
then sed -i "s|--autologin root|--autologin ${LIVE_USER}|" /etc/conf.d/agetty.tty1
elif [[ "${ISO_INIT}" == 'systemd' ]]
then sed -i "s|--autologin root|--autologin ${LIVE_USER}|" /etc/systemd/system/getty@tty1.service.d/autologin.conf
fi
# configure welcome news alert
sed -i "s|_EDITION_TITLE_|${OS_PRETTY_NAME}| ; \
s|,Don't show this again:0|| ; \
s|620x460|620x520| " /usr/bin/autostart.sh
# configure desktop environment
sed -i "s|/issue-tracker/|/isos/|" /home/${LIVE_USER}/Desktop/bug-tracker.desktop
if [[ "${ISO_GUI}" == 'lxde' ]]
then rm -f /etc/xdg/autostart/octopi-notifier.desktop 2> /dev/null # FIXME: issue #1850
for desktop_file in parabola-installer.desktop parabola-irc.desktop bug-tracker.desktop
do sleep 2 ; touch /home/${LIVE_USER}/Desktop/${desktop_file} ; # sort
done
sed -i "s|_DESKTOP_SESSION_|LXDE|" /home/${LIVE_USER}/.bash_profile
sed -i "s|_DESKTOP_SESSION_|LXDE|" /home/${LIVE_USER}/.dmrc
elif [[ "${ISO_GUI}" == 'mate' ]]
then sed -i "s|_DESKTOP_SESSION_|mate|" /home/${LIVE_USER}/.bash_profile
sed -i "s|_DESKTOP_SESSION_|mate|" /home/${LIVE_USER}/.dmrc
else echo "invalid \$ISO_GUI for _DESKTOP_SESSION_ '${ISO_GUI}'"
exit 1
fi
fi
|