Skip to content

Commit c41c703

Browse files
committed
don't run apt in apt
1 parent c656c39 commit c41c703

File tree

4 files changed

+75
-79
lines changed

4 files changed

+75
-79
lines changed

bs.sh

Lines changed: 10 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,29 @@
11
#!/bin/bash
2-
# shellcheck disable=SC1091,SC2009,SC2015
3-
4-
sudonot() {
5-
# shellcheck disable=SC2068
6-
if command -v sudo >/dev/null; then
7-
sudo -E "${@:-:}" || "${@:-:}"
8-
else
9-
"${@:-:}"
10-
fi
11-
}
12-
13-
apt_install() {
14-
if ! dpkg -s "$@" &>/dev/null; then
15-
sudonot apt-get update
16-
export DEBIAN_FRONTEND=noninteractive
17-
sudonot apt-get install -yqq "$@"
18-
DEBIAN_FRONTEND=
19-
fi
20-
}
21-
22-
this_dir=$(dirname "$(readlink -f "$0")")
23-
pids=$(ps -o ppid=$$)
24-
ps -aux | grep -P "^[^-]+$this_dir/bs.sh" | awk '{print $2}' | while read -r pid; do grep -q "$pid" <<<"$pids" || sudonot kill -9 "$pid" &>/dev/null; done
25-
26-
if ! dpkg -s apt-fast &>/dev/null; then
27-
sudonot add-apt-repository -y ppa:apt-fast/stable
28-
sudonot apt-get update
29-
sudonot DEBIAN_FRONTEND=noninteractive apt-get install -yq apt-fast
30-
fi
31-
32-
if ! dpkg -s docker-ce &>/dev/null; then
33-
apt_install ca-certificates curl
34-
sudonot install -m 0755 -d /etc/apt/keyrings
35-
sudonot curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
36-
sudonot chmod a+r /etc/apt/keyrings/docker.asc
37-
echo "deb [trusted=yes arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudonot tee /etc/apt/sources.list.d/docker.list >/dev/null
38-
fi
39-
40-
if ! dpkg -s closure &>/dev/null; then
41-
sudonot mkdir -m 0755 -p /etc/apt/keyrings/
42-
wget -qO- https://ipitio.github.io/closure/gpg.key | gpg --dearmor | sudonot tee /etc/apt/keyrings/closure.gpg >/dev/null
43-
echo "deb [signed-by=/etc/apt/keyrings/closure.gpg] https://ipitio.github.io/closure master main" | sudonot tee /etc/apt/sources.list.d/closure.list &>/dev/null
44-
sudonot chmod 644 /etc/apt/keyrings/closure.gpg
45-
sudonot chmod 644 /etc/apt/sources.list.d/closure.list
46-
fi
47-
48-
[ ! -f /etc/apt/preferences.d/nosnap.pref ] || sudonot mv /etc/apt/preferences.d/nosnap.pref /etc/apt/preferences.d/nosnap.pref.bak
49-
sudonot systemctl disable --now whoopsie.path &>/dev/null
50-
sudonot systemctl mask whoopsie.path &>/dev/null
51-
sudonot apt-get purge -y ubuntu-report popularity-contest apport whoopsie
52-
# shellcheck disable=SC2046
53-
apt_install closure $(grep -oP '((?<=^Depends: )|(?<=^Recommends: )|(?<=^Suggests: )).*' DEBIAN/control | tr -d ',' | tr '\n' ' ')
54-
sudonot apt autoremove -y
55-
yq -V | grep -q mikefarah &>/dev/null || {
56-
[ ! -f /usr/bin/yq ] || sudonot mv -f /usr/bin/yq /usr/bin/yq.bak
57-
arch=$(uname -m)
58-
[ "$arch" = "x86_64" ] && arch="amd64" || :
59-
[ "$arch" = "aarch64" ] && arch="arm64" || :
60-
[ "$arch" = "armv7l" ] && arch="armhf" || :
61-
[ "$arch" = "armhf" ] && arch="arm" || :
62-
[[ "$arch" == "i686" || "$arch" == "i386" ]] && arch="386" || :
63-
sudonot curl -LNZo /usr/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_"$arch"
64-
sudonot chmod +x /usr/bin/yq
65-
}
66-
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
67-
flatpak install --noninteractive flathub tv.kodi.Kodi
68-
[ ! -f /.dockerenv ] || exit 0
692

703
# wifi performance
714
echo "[connection]
725
# Values are 0 (use default), 1 (ignore/don't touch), 2 (disable) or 3 (enable).
736
wifi.powersave = 2
74-
" | sudonot tee /etc/NetworkManager/conf.d/wifi-powersave.conf >/dev/null
75-
sudonot cp -f /etc/NetworkManager/conf.d/wifi-powersave.conf /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
76-
[ ! -f /lib/NetworkManager/conf.d/20-connectivity-ubuntu.conf ] || sudonot sed -i "s/uri=.*$/uri=/" /lib/NetworkManager/conf.d/20-connectivity-ubuntu.conf
7+
" | sudo tee /etc/NetworkManager/conf.d/wifi-powersave.conf >/dev/null
8+
sudo cp -f /etc/NetworkManager/conf.d/wifi-powersave.conf /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
9+
[ ! -f /lib/NetworkManager/conf.d/20-connectivity-ubuntu.conf ] || sudo sed -i "s/uri=.*$/uri=/" /lib/NetworkManager/conf.d/20-connectivity-ubuntu.conf
7710

7811
if grep -q Raspberry /proc/device-tree/model; then
7912

8013
# wifi 2.4GHz performance
81-
grep -q dtoverlay=disable-bt /boot/firmware/config.txt || echo "dtoverlay=disable-bt" | sudonot tee -a /boot/firmware/config.txt >/dev/null
14+
grep -q dtoverlay=disable-bt /boot/firmware/config.txt || echo "dtoverlay=disable-bt" | sudo tee -a /boot/firmware/config.txt >/dev/null
8215

8316
if [ ! -f /etc/modprobe.d/brcmfmac.conf ]; then
8417
# wifi chip bug: https://github.com/raspberrypi/linux/issues/6049#issuecomment-2642566713
85-
echo "options brcmfmac roamoff=1 feature_disable=0x202000" | sudonot tee /etc/modprobe.d/brcmfmac.conf >/dev/null
86-
sudonot systemctl restart systemd-modules-load
18+
echo "options brcmfmac roamoff=1 feature_disable=0x202000" | sudo tee /etc/modprobe.d/brcmfmac.conf >/dev/null
19+
sudo systemctl restart systemd-modules-load
8720
fi
8821
fi
8922

9023
# Verbose boot
9124
if [ -f /etc/default/grub ] && grep -q "quiet splash" /etc/default/grub; then
92-
sudonot sed -i 's/quiet splash//g' /etc/default/grub
93-
grep -q "GRUB_CMDLINE_LINUX_DEFAULT" /etc/default/grub || echo "GRUB_CMDLINE_LINUX_DEFAULT=\"\"" | sudonot tee -a /etc/default/grub >/dev/null
94-
grep -q "nosplash debug --verbose" /etc/default/grub || echo "GRUB_CMDLINE_LINUX=\"nosplash debug --verbose\"" | sudonot tee -a /etc/default/grub >/dev/null
95-
sudonot update-grub
25+
sudo sed -i 's/quiet splash//g' /etc/default/grub
26+
grep -q "GRUB_CMDLINE_LINUX_DEFAULT" /etc/default/grub || echo "GRUB_CMDLINE_LINUX_DEFAULT=\"\"" | sudo tee -a /etc/default/grub >/dev/null
27+
grep -q "nosplash debug --verbose" /etc/default/grub || echo "GRUB_CMDLINE_LINUX=\"nosplash debug --verbose\"" | sudo tee -a /etc/default/grub >/dev/null
28+
sudo update-grub
9629
fi

debian/control

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Homepage: https://github.com/ipitio/closure
44
Standards-Version: 3.9.2
55

66
Package: closure
7-
Version: 1.7
7+
Version: 1.7.1
88
Maintainer: ipitio <[email protected]>
99
Depends: curl, flatpak, gpg, hostapd, isc-dhcp-server, iw, macchanger, netplan.io, network-manager, net-tools, qrencode, rfkill, wireguard, wireless-tools, wget
1010
Recommends: containerd.io, docker-ce, docker-ce-cli, docker-buildx-plugin, docker-compose-plugin

debian/prerm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ pushd /opt/closure || exit 1
66
! grep /opt/closure /etc/rc.local &>/dev/null || rm -f /etc/rc.local
77
grep -oP '^(Files:)? [^ ]+(?= /opt/closure)' debian/control | grep -oP '(?<= ).+' | sed -r 's/^debian\//DEBIAN\//g' | while read -r file; do [ ! -f "$file" ] || rm -f "$file"; done
88
find . -type d -empty -delete
9+
[ ! -f /usr/share/doc/closure ] || rm -f /usr/share/doc/closure
910
popd || exit 1

init.sh

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,77 @@
11
#!/bin/bash
22
# shellcheck disable=SC1091,SC2009,SC2015
33

4+
sudonot() {
5+
# shellcheck disable=SC2068
6+
if command -v sudo >/dev/null; then
7+
sudo -E "${@:-:}" || "${@:-:}"
8+
else
9+
"${@:-:}"
10+
fi
11+
}
12+
13+
apt_install() {
14+
if ! dpkg -s "$@" &>/dev/null; then
15+
sudonot apt-get update
16+
export DEBIAN_FRONTEND=noninteractive
17+
sudonot apt-get install -yqq "$@"
18+
DEBIAN_FRONTEND=
19+
fi
20+
}
21+
422
this_dir=$(dirname "$(readlink -f "$0")")
523
pushd "$this_dir" || exit 1
624

725
pids=$(ps -o ppid=$$)
826
ps -aux | grep -P "^[^-]+$this_dir/init.sh" | awk '{print $2}' | while read -r pid; do grep -q "$pid" <<<"$pids" || sudonot kill -9 "$pid" &>/dev/null; done
9-
source "bs.sh"
27+
28+
if ! dpkg -s apt-fast &>/dev/null; then
29+
sudonot add-apt-repository -y ppa:apt-fast/stable
30+
sudonot apt-get update
31+
sudonot DEBIAN_FRONTEND=noninteractive apt-get install -yq apt-fast
32+
fi
33+
34+
if ! dpkg -s docker-ce &>/dev/null; then
35+
apt_install ca-certificates curl
36+
sudonot install -m 0755 -d /etc/apt/keyrings
37+
sudonot curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
38+
sudonot chmod a+r /etc/apt/keyrings/docker.asc
39+
echo "deb [trusted=yes arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudonot tee /etc/apt/sources.list.d/docker.list >/dev/null
40+
fi
41+
42+
if ! dpkg -s closure &>/dev/null; then
43+
sudonot mkdir -m 0755 -p /etc/apt/keyrings/
44+
wget -qO- https://ipitio.github.io/closure/gpg.key | gpg --dearmor | sudonot tee /etc/apt/keyrings/closure.gpg >/dev/null
45+
echo "deb [signed-by=/etc/apt/keyrings/closure.gpg] https://ipitio.github.io/closure master main" | sudonot tee /etc/apt/sources.list.d/closure.list &>/dev/null
46+
sudonot chmod 644 /etc/apt/keyrings/closure.gpg
47+
sudonot chmod 644 /etc/apt/sources.list.d/closure.list
48+
fi
49+
50+
[ ! -f /etc/apt/preferences.d/nosnap.pref ] || sudonot mv /etc/apt/preferences.d/nosnap.pref /etc/apt/preferences.d/nosnap.pref.bak
51+
sudonot systemctl disable --now whoopsie.path &>/dev/null
52+
sudonot systemctl mask whoopsie.path &>/dev/null
53+
sudonot apt-get purge -y ubuntu-report popularity-contest apport whoopsie
54+
# shellcheck disable=SC2046
55+
apt_install closure $(grep -oP '((?<=^Depends: )|(?<=^Recommends: )|(?<=^Suggests: )).*' DEBIAN/control | tr -d ',' | tr '\n' ' ')
56+
sudonot apt autoremove -y
57+
yq -V | grep -q mikefarah &>/dev/null || {
58+
[ ! -f /usr/bin/yq ] || sudonot mv -f /usr/bin/yq /usr/bin/yq.bak
59+
arch=$(uname -m)
60+
[ "$arch" = "x86_64" ] && arch="amd64" || :
61+
[ "$arch" = "aarch64" ] && arch="arm64" || :
62+
[ "$arch" = "armv7l" ] && arch="armhf" || :
63+
[ "$arch" = "armhf" ] && arch="arm" || :
64+
[[ "$arch" == "i686" || "$arch" == "i386" ]] && arch="386" || :
65+
sudonot curl -LNZo /usr/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_"$arch"
66+
sudonot chmod +x /usr/bin/yq
67+
}
68+
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
69+
flatpak install --noninteractive flathub tv.kodi.Kodi
70+
[ ! -f /.dockerenv ] || exit 0
1071
mv -n examples/* . 2>/dev/null
1172
rmdir examples 2>/dev/null
1273
source "lib.sh"
74+
source "bs.sh"
1375

1476
# general performance
1577
# https://cromwell-intl.com/open-source/performance-tuning/tcp.html

0 commit comments

Comments
 (0)