Added option to build Linux with minimal packages

* All non-minimal packages/configs have been separated from the base setup
* `"Build Linux" -b` will only build the full version
This commit is contained in:
2Shirt 2018-12-28 16:51:15 -07:00
parent 575fa17425
commit 8f9bae9a6f
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
31 changed files with 118 additions and 91 deletions

View file

@ -3,30 +3,6 @@ if [ "$(fgconsole 2>/dev/null)" -eq "1" ]; then
# Connect to network and update hostname # Connect to network and update hostname
$HOME/.update_network $HOME/.update_network
# Update settings if using i3 # Start HW-diags
if fgrep -q "i3" /proc/cmdline; then hw-diags --cli
sed -i -r 's/#(own_window_type override)/\1/' ~/.conkyrc
sed -i -r 's/openbox-session/i3/' ~/.xinitrc
fi
# Update Conky
$HOME/.update_conky
# Start X or HW-diags
if ! fgrep -q "nox" /proc/cmdline; then
# Kill Xorg after 30 seconds if it doesn't fully initialize
(sleep 30s; if ! [[ -f "/tmp/x_ok" ]]; then pkill '(Xorg|startx)'; fi) &
# Try starting X
startx >/dev/null
# Run Hw-Diags CLI if necessary
if ! [[ -f "/tmp/x_ok" ]]; then
echo "There was an issue starting Xorg, starting CLI interface..."
sleep 2s
hw-diags --cli
fi
else
hw-diags --cli
fi
fi fi

View file

@ -0,0 +1,32 @@
setterm -blank 0 -powerdown 0 2>/dev/null
if [ "$(fgconsole 2>/dev/null)" -eq "1" ]; then
# Connect to network and update hostname
$HOME/.update_network
# Update settings if using i3
if fgrep -q "i3" /proc/cmdline; then
sed -i -r 's/#(own_window_type override)/\1/' ~/.conkyrc
sed -i -r 's/openbox-session/i3/' ~/.xinitrc
fi
# Update Conky
$HOME/.update_conky
# Start X or HW-diags
if ! fgrep -q "nox" /proc/cmdline; then
# Kill Xorg after 30 seconds if it doesn't fully initialize
(sleep 30s; if ! [[ -f "/tmp/x_ok" ]]; then pkill '(Xorg|startx)'; fi) &
# Try starting X
startx >/dev/null
# Run Hw-Diags CLI if necessary
if ! [[ -f "/tmp/x_ok" ]]; then
echo "There was an issue starting Xorg, starting CLI interface..."
sleep 2s
hw-diags --cli
fi
else
hw-diags --cli
fi
fi

View file

@ -1,86 +1,47 @@
aic94xx-firmware aic94xx-firmware
alsa-utils alsa-utils
antiword antiword
arandr
arc-gtk-theme
bash-pipes bash-pipes
bc bc
bluez bluez
bluez-utils bluez-utils
cbatticon
chntpw chntpw
cmatrix cmatrix
colordiff colordiff
compton
conky
cpio cpio
curl curl
dmidecode dmidecode
dos2unix dos2unix
dunst
e2fsprogs e2fsprogs
evince
feh
ffmpeg
firefox
gnome-keyring
gparted
gpicview-gtk3
gsmartcontrol
hardinfo
hexedit hexedit
hfsprogs hfsprogs
htop htop
i3-gaps
i3lock-fancy-git
i3status
ldns ldns
leafpad
lha lha
libewf libewf
libinput
linux-firmware linux-firmware
lm_sensors lm_sensors
lzip lzip
mdadm mdadm
mediainfo mediainfo
mesa-demos
mkvtoolnix-cli
mprime mprime
mpv
ncdu ncdu
network-manager-applet
networkmanager networkmanager
noto-fonts
noto-fonts-cjk
oblogout
openbox-patched
otf-font-awesome-4
p7zip p7zip
papirus-icon-theme
progsreiserfs progsreiserfs
python python
python-psutil python-psutil
python-requests python-requests
qemu-guest-agent
reiserfsprogs reiserfsprogs
rfkill rfkill
rng-tools rng-tools
rofi rxvt-unicode-terminfo
rxvt-unicode
smartmontools-svn smartmontools-svn
speedtest-cli speedtest-cli
spice-vdagent
terminus-font terminus-font
testdisk-wip testdisk-wip
thunar
tigervnc
tint2
tk
tmux tmux
tree tree
ttf-font-awesome-4
ttf-inconsolata
udevil udevil
udisks2 udisks2
ufw ufw
@ -88,23 +49,8 @@ unarj
unrar unrar
unzip unzip
util-linux util-linux
veracrypt
vim vim
virtualbox-guest-modules-arch
virtualbox-guest-utils
volumeicon
wd719x-firmware wd719x-firmware
wimlib wimlib
xarchiver
xf86-input-libinput
xf86-video-amdgpu
xf86-video-fbdev
xf86-video-nouveau
xf86-video-vesa
xorg-server
xorg-xdpyinfo
xorg-xev
xorg-xinit
xorg-xinput
zip zip
zsh zsh

View file

@ -0,0 +1,55 @@
arandr
arc-gtk-theme
cbatticon
compton
conky
dunst
evince
feh
ffmpeg
firefox
gnome-keyring
gparted
gpicview-gtk3
gsmartcontrol
hardinfo
i3-gaps
i3lock-fancy-git
i3status
leafpad
libinput
mesa-demos
mkvtoolnix-cli
mpv
network-manager-applet
noto-fonts
noto-fonts-cjk
oblogout
openbox-patched
otf-font-awesome-4
papirus-icon-theme
qemu-guest-agent
rofi
rxvt-unicode
spice-vdagent
thunar
tigervnc
tint2
tk
ttf-font-awesome-4
ttf-inconsolata
veracrypt
virtualbox-guest-modules-arch
virtualbox-guest-utils
volumeicon
xarchiver
xf86-input-libinput
xf86-video-amdgpu
xf86-video-fbdev
xf86-video-nouveau
xf86-video-vesa
xorg-server
xorg-xdpyinfo
xorg-xev
xorg-xinit
xorg-xinput

View file

@ -119,6 +119,9 @@ function copy_live_env() {
# Add items # Add items
rsync -aI "$ROOT_DIR/.linux_items/include/" "$LIVE_DIR/" rsync -aI "$ROOT_DIR/.linux_items/include/" "$LIVE_DIR/"
if [[ "${1:-}" != "--minimal" ]]; then
rsync -aI "$ROOT_DIR/.linux_items/include_x/" "$LIVE_DIR/"
fi
mkdir -p "$LIVE_DIR/airootfs/usr/local/bin" mkdir -p "$LIVE_DIR/airootfs/usr/local/bin"
rsync -aI "$ROOT_DIR/.bin/Scripts/" "$LIVE_DIR/airootfs/usr/local/bin/" rsync -aI "$ROOT_DIR/.bin/Scripts/" "$LIVE_DIR/airootfs/usr/local/bin/"
cp -a "$BUILD_DIR/main.py" "$LIVE_DIR/airootfs/usr/local/bin/settings/" cp -a "$BUILD_DIR/main.py" "$LIVE_DIR/airootfs/usr/local/bin/settings/"
@ -195,6 +198,9 @@ function update_live_env() {
sed -i "/$p/d" "$LIVE_DIR/packages.x86_64" sed -i "/$p/d" "$LIVE_DIR/packages.x86_64"
done < "$ROOT_DIR/.linux_items/packages/live_remove" done < "$ROOT_DIR/.linux_items/packages/live_remove"
cat "$ROOT_DIR/.linux_items/packages/live_add" >> "$LIVE_DIR/packages.x86_64" cat "$ROOT_DIR/.linux_items/packages/live_add" >> "$LIVE_DIR/packages.x86_64"
if [[ "${1:-}" != "--minimal" ]]; then
cat "$ROOT_DIR/.linux_items/packages/live_add_x" >> "$LIVE_DIR/packages.x86_64"
fi
echo "[custom]" >> "$LIVE_DIR/pacman.conf" echo "[custom]" >> "$LIVE_DIR/pacman.conf"
echo "SigLevel = Optional TrustAll" >> "$LIVE_DIR/pacman.conf" echo "SigLevel = Optional TrustAll" >> "$LIVE_DIR/pacman.conf"
echo "Server = file://$REPO_DIR" >> "$LIVE_DIR/pacman.conf" echo "Server = file://$REPO_DIR" >> "$LIVE_DIR/pacman.conf"
@ -213,10 +219,12 @@ function update_live_env() {
rm -Rf "$SKEL_DIR/.oh-my-zsh/.git" rm -Rf "$SKEL_DIR/.oh-my-zsh/.git"
curl -o "$SKEL_DIR/.oh-my-zsh/themes/lean.zsh-theme" https://raw.githubusercontent.com/miekg/lean/master/prompt_lean_setup curl -o "$SKEL_DIR/.oh-my-zsh/themes/lean.zsh-theme" https://raw.githubusercontent.com/miekg/lean/master/prompt_lean_setup
# Openbox theme if [[ "${1:-}" != "--minimal" ]]; then
git clone --depth=1 https://github.com/addy-dclxvi/Openbox-Theme-Collections.git "$TEMP_DIR/ob-themes" # Openbox theme
mkdir -p "$LIVE_DIR/airootfs/usr/share/themes" git clone --depth=1 https://github.com/addy-dclxvi/Openbox-Theme-Collections.git "$TEMP_DIR/ob-themes"
cp -a "$TEMP_DIR/ob-themes/Triste-Orange" "$LIVE_DIR/airootfs/usr/share/themes/" mkdir -p "$LIVE_DIR/airootfs/usr/share/themes"
cp -a "$TEMP_DIR/ob-themes/Triste-Orange" "$LIVE_DIR/airootfs/usr/share/themes/"
fi
# Services # Services
sed -i -r 's/^(.*pacman-init.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh" sed -i -r 's/^(.*pacman-init.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
@ -259,13 +267,15 @@ function update_live_env() {
# udevil fix # udevil fix
echo "mkdir /media" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh" echo "mkdir /media" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
# VNC password if [[ "${1:-}" != "--minimal" ]]; then
echo "mkdir '/home/$username/.vnc'" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh" # VNC password
echo "echo '$TECH_PASSWORD' | vncpasswd -f > '/home/$username/.vnc/passwd'" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh" echo "mkdir '/home/$username/.vnc'" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "echo '$TECH_PASSWORD' | vncpasswd -f > '/home/$username/.vnc/passwd'" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
# Wallpaper # Wallpaper
mkdir -p "$LIVE_DIR/airootfs/usr/share/wallpaper" mkdir -p "$LIVE_DIR/airootfs/usr/share/wallpaper"
cp "$ROOT_DIR/Images/Linux.png" "$LIVE_DIR/airootfs/usr/share/wallpaper/burned.in" cp "$ROOT_DIR/Images/Linux.png" "$LIVE_DIR/airootfs/usr/share/wallpaper/burned.in"
fi
} }
function update_repo() { function update_repo() {
@ -386,6 +396,13 @@ case ${1:-} in
echo Done echo Done
;; ;;
-m|--prep-minimal-env)
load_settings --edit
copy_live_env --minimal
update_live_env --minimal
echo Done
;;
-o|--build-iso) -o|--build-iso)
load_settings load_settings
build_iso build_iso
@ -414,6 +431,7 @@ case ${1:-} in
echo "Advanced options:" echo "Advanced options:"
echo " -f --fix-perms Fix folder permissions" echo " -f --fix-perms Fix folder permissions"
echo " -i --install-deps Install build dependencies" echo " -i --install-deps Install build dependencies"
echo " -m --prep-minimal-env Prep live & airootfs folders (minimal packages)"
echo " -o --build-iso Build ISO (using current setup)" echo " -o --build-iso Build ISO (using current setup)"
echo " -p --prep-live-env Prep live & airootfs folders" echo " -p --prep-live-env Prep live & airootfs folders"
echo " -u --update-repo Update custom pacman repo" echo " -u --update-repo Update custom pacman repo"