penguins-eggs 10.0.60 → 10.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +62 -1
- package/README.md +145 -75
- package/addons/eggs/theme/calamares/modules/{_users.yml → users.yml} +3 -3
- package/addons/eggs/theme/livecd/grub.main.full.cfg +1 -1
- package/addons/eggs/theme/livecd/grub.main.simple.cfg +1 -1
- package/conf/derivatives.yaml +4 -3
- package/conf/derivatives_fedora.yaml +6 -0
- package/conf/distros/alpine/calamares/modules/users.yml +3 -3
- package/conf/distros/bionic/calamares/calamares-modules/grubcfg/grubcfg.yml +1 -1
- package/conf/distros/bionic/calamares/modules/users.yml +3 -3
- package/conf/distros/buster/calamares/modules/users.yml +4 -3
- package/conf/distros/fedora/calamares/modules/users.yml +3 -3
- package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +3 -3
- package/conf/distros/noble/calamares/modules/users.yml +1 -0
- package/conf/distros/opensuse/calamares/modules/users.yml +3 -3
- package/conf/distros/rolling/calamares/modules/users.yml +3 -3
- package/conf/eggs.yaml +1 -1
- package/conf/love.yaml +4 -4
- package/dist/classes/compressors.js +1 -1
- package/dist/classes/distro.d.ts +27 -3
- package/dist/classes/distro.js +361 -289
- package/dist/classes/ovary.d/bind-live-fs.js +22 -30
- package/dist/classes/ovary.d/edit-live-fs.d.ts +1 -0
- package/dist/classes/ovary.d/edit-live-fs.js +9 -13
- package/dist/classes/ovary.d/fertilization.js +6 -1
- package/dist/classes/ovary.d/initrd.js +11 -15
- package/dist/classes/ovary.d/kernel-copy.js +2 -16
- package/dist/classes/ovary.d/make-efi.js +8 -5
- package/dist/classes/ovary.d/make-squashfs.d.ts +1 -1
- package/dist/classes/ovary.d/make-squashfs.js +17 -24
- package/dist/classes/ovary.d/merged.d.ts +9 -13
- package/dist/classes/ovary.d/merged.js +38 -48
- package/dist/classes/ovary.d/produce.d.ts +1 -1
- package/dist/classes/ovary.d/produce.js +38 -32
- package/dist/classes/ovary.d/syslinux.js +4 -4
- package/dist/classes/ovary.d/user-create-live.js +12 -5
- package/dist/classes/ovary.d.ts +8 -3
- package/dist/classes/ovary.js +8 -3
- package/dist/classes/pacman.d/archlinux.js +1 -5
- package/dist/classes/pacman.js +2 -1
- package/dist/classes/systemctl.d.ts +1 -1
- package/dist/classes/systemctl.js +1 -1
- package/dist/classes/tailor.js +2 -1
- package/dist/classes/utils.d/architecture.d.ts +41 -0
- package/dist/classes/utils.d/architecture.js +87 -0
- package/dist/classes/utils.d/console-output.d.ts +26 -0
- package/dist/classes/utils.d/console-output.js +46 -0
- package/dist/classes/utils.d/filesystem.d.ts +53 -0
- package/dist/classes/utils.d/filesystem.js +152 -0
- package/dist/classes/utils.d/formatters.d.ts +32 -0
- package/dist/classes/utils.d/formatters.js +64 -0
- package/dist/classes/utils.d/kernel.d.ts +83 -0
- package/dist/classes/utils.d/kernel.js +288 -0
- package/dist/classes/utils.d/network.d.ts +43 -0
- package/dist/classes/utils.d/network.js +133 -0
- package/dist/classes/utils.d/package-info.d.ts +55 -0
- package/dist/classes/utils.d/package-info.js +137 -0
- package/dist/classes/utils.d/snapshot.d.ts +44 -0
- package/dist/classes/utils.d/snapshot.js +102 -0
- package/dist/classes/utils.d/system.d.ts +63 -0
- package/dist/classes/utils.d/system.js +200 -0
- package/dist/classes/utils.d/user-interaction.d.ts +39 -0
- package/dist/classes/utils.d/user-interaction.js +104 -0
- package/dist/classes/utils.d.ts +90 -322
- package/dist/classes/utils.js +105 -1013
- package/dist/commands/dad.d.ts +1 -0
- package/dist/commands/dad.js +1 -0
- package/dist/commands/export/pkg.js +6 -6
- package/dist/commands/export/tarballs.js +11 -16
- package/dist/commands/kill.js +1 -1
- package/dist/commands/love.d.ts +1 -0
- package/dist/commands/love.js +21 -7
- package/dist/commands/pods.d.ts +22 -0
- package/dist/commands/pods.js +92 -0
- package/dist/commands/produce.d.ts +1 -0
- package/dist/commands/produce.js +21 -1
- package/dist/commands/update.js +2 -2
- package/dist/index.d.ts +6 -52
- package/dist/index.js +6 -145
- package/dist/krill/classes/krill_enums.d.ts +14 -1
- package/dist/krill/classes/krill_enums.js +16 -1
- package/dist/krill/classes/prepare.d/partitions.js +3 -3
- package/dist/krill/classes/prepare.d.ts +46 -21
- package/dist/krill/classes/prepare.js +187 -187
- package/dist/krill/classes/sequence.d/add_user.js +21 -3
- package/dist/krill/classes/sequence.d/partition.js +2 -2
- package/dist/krill/classes/sequence.d.ts +18 -21
- package/dist/krill/classes/sequence.js +156 -423
- package/dist/krill/components/information.js +13 -7
- package/dist/{krill/lib → lib}/kill_me_softly.js +2 -2
- package/dist/penguins-eggs_10.1.1-0_amd64.deb +0 -0
- package/dist/penguins-eggs_10.1.1-0_amd64.deb.sha256 +1 -0
- package/package.json +32 -27
- package/perrisbrewery/scripts/postinst +98 -0
- package/perrisbrewery/scripts/postrm +82 -0
- package/perrisbrewery/scripts/preinst +40 -0
- package/perrisbrewery/scripts/prerm +47 -0
- package/perrisbrewery/template/control.template +17 -0
- package/perrisbrewery/template/dependencies-bionic.yaml +33 -0
- package/perrisbrewery/template/dependencies.yaml +37 -0
- package/perrisbrewery/template/man.template.md +110 -0
- package/pods/README.md +14 -0
- package/pods/almalinux.sh +10 -0
- package/pods/archlinux.sh +10 -0
- package/pods/ci/README.md +5 -0
- package/pods/ci/kernel-overlay-install.sh +114 -0
- package/pods/ci/minimal/almalinux-container2host.sh +165 -0
- package/pods/ci/minimal/archlinux-container2host.sh +125 -0
- package/pods/ci/minimal/debian-container2host.sh +173 -0
- package/pods/ci/minimal/fedora-container2host.sh +170 -0
- package/pods/ci/minimal/manjaro-container2host.sh +123 -0
- package/pods/ci/minimal/opensuse-container2host.sh +143 -0
- package/pods/ci/penguins-eggs-execute.sh +22 -0
- package/pods/ci/penguins-eggs-install.sh +115 -0
- package/pods/ci/run +34 -0
- package/pods/ci/run-on-almalinux.sh +50 -0
- package/pods/ci/run-on-archlinux.sh +64 -0
- package/pods/ci/run-on-debian.sh +51 -0
- package/pods/ci/run-on-devuan.sh +48 -0
- package/pods/ci/run-on-fedora.sh +51 -0
- package/pods/ci/run-on-manjaro.sh +61 -0
- package/pods/ci/run-on-opensuse.sh +58 -0
- package/pods/ci/run-on-rockylinux.sh +51 -0
- package/pods/ci/run-on-ubuntu.sh +52 -0
- package/pods/debian.sh +23 -0
- package/pods/devuan.sh +26 -0
- package/pods/fedora.sh +12 -0
- package/pods/lmde.sh +22 -0
- package/pods/manjaro.sh +10 -0
- package/pods/opensuse.sh +12 -0
- package/pods/podman.command.sh +85 -0
- package/pods/rocky.sh +12 -0
- package/pods/run-build-packages-debs.sh +45 -0
- package/pods/run-create-debs.sh +23 -0
- package/pods/ubuntu.sh +24 -0
- package/scripts/_eggs +14 -5
- package/scripts/eggs.bash +5 -4
- /package/dist/{krill/lib → lib}/kill_me_softly.d.ts +0 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# This script build a fedora system from container
|
|
4
|
+
|
|
5
|
+
set -x
|
|
6
|
+
|
|
7
|
+
# check if we are root
|
|
8
|
+
if [ "$(id -u)" -ne 0 ]; then
|
|
9
|
+
echo "This script must be run as root"
|
|
10
|
+
exit 1
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
# check if we are on fedora or NobaraLinux
|
|
14
|
+
if [ ! -f /etc/fedora-release ]; then
|
|
15
|
+
if [ ! -f /etc/nobara-release ]; then
|
|
16
|
+
if [ ! -f /etc/openmamba-release ]; then
|
|
17
|
+
echo "This script is intended for fedora, nobara or openmamba!"
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
fi
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# update
|
|
26
|
+
dnf -y update
|
|
27
|
+
|
|
28
|
+
# echo "base: system e init"
|
|
29
|
+
# echo "package manager"
|
|
30
|
+
# echo "login e console"
|
|
31
|
+
# echo "networking"
|
|
32
|
+
# echo "filesystem and disk support"
|
|
33
|
+
# echo "drivers and hw support"
|
|
34
|
+
# echo "tools"
|
|
35
|
+
# echo "optional tools debug/live ISO"
|
|
36
|
+
# echo "systemd configure/enable"
|
|
37
|
+
# echo "generate /etc/default/grub"
|
|
38
|
+
# echo "eggs requirements"
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
echo "base: system e init"
|
|
42
|
+
dnf -y --nobest install \
|
|
43
|
+
systemd \
|
|
44
|
+
dracut \
|
|
45
|
+
kernel \
|
|
46
|
+
grub2 \
|
|
47
|
+
passwd \
|
|
48
|
+
sudo
|
|
49
|
+
|
|
50
|
+
echo "package manager"
|
|
51
|
+
dnf -y --nobest install \
|
|
52
|
+
dnf \
|
|
53
|
+
dnf-plugins-core
|
|
54
|
+
|
|
55
|
+
echo "login e console"
|
|
56
|
+
dnf -y --nobest install \
|
|
57
|
+
util-linux \
|
|
58
|
+
e2fsprogs \
|
|
59
|
+
shadow-utils \
|
|
60
|
+
hostname \
|
|
61
|
+
iproute \
|
|
62
|
+
iputils \
|
|
63
|
+
procps-ng
|
|
64
|
+
|
|
65
|
+
echo "networking"
|
|
66
|
+
dnf -y --nobest install \
|
|
67
|
+
NetworkManager \
|
|
68
|
+
dhclient \
|
|
69
|
+
nss-altfiles \
|
|
70
|
+
openssh-server
|
|
71
|
+
|
|
72
|
+
echo "filesystem and disk support"
|
|
73
|
+
dnf -y --nobest install \
|
|
74
|
+
btrfs-progs \
|
|
75
|
+
xfsprogs \
|
|
76
|
+
dosfstools \
|
|
77
|
+
ntfs-3g \
|
|
78
|
+
lvm2 \
|
|
79
|
+
mdadm \
|
|
80
|
+
cryptsetup
|
|
81
|
+
|
|
82
|
+
echo "drivers and hw support"
|
|
83
|
+
dnf -y --nobest install \
|
|
84
|
+
linux-firmware \
|
|
85
|
+
efibootmgr \
|
|
86
|
+
grub2-efi \
|
|
87
|
+
shim
|
|
88
|
+
|
|
89
|
+
echo "tools"
|
|
90
|
+
dnf -y --nobest install \
|
|
91
|
+
bash-completion \
|
|
92
|
+
vim \
|
|
93
|
+
nano \
|
|
94
|
+
less \
|
|
95
|
+
rsyslog \
|
|
96
|
+
coreutils \
|
|
97
|
+
findutils \
|
|
98
|
+
grep \
|
|
99
|
+
sed \
|
|
100
|
+
awk \
|
|
101
|
+
tar \
|
|
102
|
+
gzip \
|
|
103
|
+
xz
|
|
104
|
+
|
|
105
|
+
echo "optional tools debug/live ISO"
|
|
106
|
+
dnf -y --nobest install \
|
|
107
|
+
strace \
|
|
108
|
+
lsof \
|
|
109
|
+
htop \
|
|
110
|
+
mc \
|
|
111
|
+
curl \
|
|
112
|
+
wget \
|
|
113
|
+
bind-utils
|
|
114
|
+
|
|
115
|
+
echo "systemd configure/enable"
|
|
116
|
+
systemctl set-default multi-user.target
|
|
117
|
+
systemctl enable getty@tty1.service
|
|
118
|
+
systemctl enable systemd-networkd.service
|
|
119
|
+
systemctl enable NetworkManager.service
|
|
120
|
+
systemctl enable NetworkManager-dispatcher.service
|
|
121
|
+
|
|
122
|
+
echo "generate /etc/default/grub"
|
|
123
|
+
cat > /etc/default/grub <<EOF
|
|
124
|
+
GRUB_TIMEOUT=5
|
|
125
|
+
GRUB_DISTRIBUTOR="Fedora"
|
|
126
|
+
GRUB_DEFAULT=saved
|
|
127
|
+
GRUB_DISABLE_SUBMENU=true
|
|
128
|
+
GRUB_TERMINAL_OUTPUT="console"
|
|
129
|
+
GRUB_CMDLINE_LINUX="rd.lvm=0 rd.md=0 rd.dm=0 quiet"
|
|
130
|
+
GRUB_DISABLE_RECOVERY="true"
|
|
131
|
+
EOF
|
|
132
|
+
|
|
133
|
+
echo "disable selinux"
|
|
134
|
+
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
|
|
135
|
+
|
|
136
|
+
echo "eggs requirements"
|
|
137
|
+
dnf -y --nobest install \
|
|
138
|
+
bash-completion \
|
|
139
|
+
console-setup \
|
|
140
|
+
cryptsetup \
|
|
141
|
+
curl \
|
|
142
|
+
device-mapper \
|
|
143
|
+
dmraid \
|
|
144
|
+
dosfstools \
|
|
145
|
+
dracut \
|
|
146
|
+
dracut-live \
|
|
147
|
+
efibootmgr \
|
|
148
|
+
fuse \
|
|
149
|
+
git \
|
|
150
|
+
grub2-efi-x64 \
|
|
151
|
+
grub2-efi-x64-modules \
|
|
152
|
+
grub2-tools-extra \
|
|
153
|
+
jq \
|
|
154
|
+
lvm2 \
|
|
155
|
+
nvme-cli \
|
|
156
|
+
overlayfs-tools \
|
|
157
|
+
parted \
|
|
158
|
+
rsync \
|
|
159
|
+
shim \
|
|
160
|
+
squashfs-tools \
|
|
161
|
+
systemd \
|
|
162
|
+
systemd-boot \
|
|
163
|
+
sshfs \
|
|
164
|
+
wget \
|
|
165
|
+
xdg-user-dirs \
|
|
166
|
+
xorriso \
|
|
167
|
+
zstd
|
|
168
|
+
|
|
169
|
+
# mkdir /usr/share/icons
|
|
170
|
+
mkdir -p /usr/share/icons
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# This script build a majaro system from container
|
|
4
|
+
|
|
5
|
+
set -x
|
|
6
|
+
|
|
7
|
+
# check if the script is running as root
|
|
8
|
+
if [ "$EUID" -ne 0 ]; then
|
|
9
|
+
echo "Please run as root"
|
|
10
|
+
exit
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
# check if the script is running on arch linux
|
|
14
|
+
if [[ ! -f /etc/arch-release ]]; then
|
|
15
|
+
echo "This script is only for Manjaro Linux"
|
|
16
|
+
exit
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
# echo "base: system e init"
|
|
20
|
+
# echo "package manager"
|
|
21
|
+
# echo "login e console"
|
|
22
|
+
# echo "networking"
|
|
23
|
+
# echo "filesystem and disk support"
|
|
24
|
+
# echo "drivers and hw support"
|
|
25
|
+
# echo "tools"
|
|
26
|
+
# echo "optional tools debug/live ISO"
|
|
27
|
+
# echo "systemd configure/enable"
|
|
28
|
+
# echo "generate /etc/default/grub"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
echo "base: system e init"
|
|
33
|
+
pacman -Syu --needed --noconfirm \
|
|
34
|
+
base-devel \
|
|
35
|
+
bash-completion \
|
|
36
|
+
linux-firmware \
|
|
37
|
+
linux-firmware-whence
|
|
38
|
+
|
|
39
|
+
echo "package manager"
|
|
40
|
+
pacman -Syu --needed --noconfirm \
|
|
41
|
+
fakeroot \
|
|
42
|
+
pkgconf
|
|
43
|
+
|
|
44
|
+
echo "login e console"
|
|
45
|
+
pacman -Syu --needed --noconfirm \
|
|
46
|
+
sudo \
|
|
47
|
+
dialog \
|
|
48
|
+
nano
|
|
49
|
+
|
|
50
|
+
echo "networking"
|
|
51
|
+
pacman -Syu --needed --noconfirm \
|
|
52
|
+
networkmanager \
|
|
53
|
+
inetutils \
|
|
54
|
+
openssh
|
|
55
|
+
|
|
56
|
+
echo "filesystem and disk support"
|
|
57
|
+
pacman -Syu --needed --noconfirm \
|
|
58
|
+
zram-generator \
|
|
59
|
+
syslinux
|
|
60
|
+
|
|
61
|
+
echo "drivers and hw support"
|
|
62
|
+
pacman -Syu --needed --noconfirm \
|
|
63
|
+
linux-firmware \
|
|
64
|
+
linux-firmware-whence
|
|
65
|
+
|
|
66
|
+
echo "tools"
|
|
67
|
+
pacman -Syu --needed --noconfirm \
|
|
68
|
+
which \
|
|
69
|
+
patch \
|
|
70
|
+
make \
|
|
71
|
+
gcc \
|
|
72
|
+
gc \
|
|
73
|
+
man-db \
|
|
74
|
+
texinfo
|
|
75
|
+
|
|
76
|
+
echo "optional tools debug/live ISO"
|
|
77
|
+
pacman -Syu --needed --noconfirm \
|
|
78
|
+
debugedit \
|
|
79
|
+
groff \
|
|
80
|
+
guile \
|
|
81
|
+
m4
|
|
82
|
+
|
|
83
|
+
echo "systemd configure/enable"
|
|
84
|
+
systemctl set-default multi-user.target
|
|
85
|
+
systemctl enable getty@tty1.service
|
|
86
|
+
systemctl enable systemd-networkd.service
|
|
87
|
+
systemctl enable NetworkManager.service
|
|
88
|
+
systemctl enable NetworkManager-dispatcher.service
|
|
89
|
+
|
|
90
|
+
echo "eggs requirements"
|
|
91
|
+
pacman -Syu --noconfirm --needed \
|
|
92
|
+
arch-install-scripts \
|
|
93
|
+
bash-completion \
|
|
94
|
+
dosfstools \
|
|
95
|
+
erofs-utils \
|
|
96
|
+
findutils \
|
|
97
|
+
git \
|
|
98
|
+
grub \
|
|
99
|
+
jq \
|
|
100
|
+
libarchive \
|
|
101
|
+
libisoburn \
|
|
102
|
+
lsb-release \
|
|
103
|
+
lvm2 \
|
|
104
|
+
manjaro-tools-iso \
|
|
105
|
+
mkinitcpio-nfs-utils \
|
|
106
|
+
mtools \
|
|
107
|
+
nbd \
|
|
108
|
+
nodejs \
|
|
109
|
+
pacman-contrib \
|
|
110
|
+
parted \
|
|
111
|
+
pnpm \
|
|
112
|
+
procps-ng \
|
|
113
|
+
pv \
|
|
114
|
+
python \
|
|
115
|
+
rsync \
|
|
116
|
+
squashfs-tools \
|
|
117
|
+
sshfs \
|
|
118
|
+
wget \
|
|
119
|
+
xdg-utils \
|
|
120
|
+
zsh-completions
|
|
121
|
+
|
|
122
|
+
# mkdir /usr/share/icons
|
|
123
|
+
mkdir -p /usr/share/icons
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# This script build a opensuse-tumbleweed system from container
|
|
4
|
+
|
|
5
|
+
set -x
|
|
6
|
+
|
|
7
|
+
# check if we are root
|
|
8
|
+
if [ "$(id -u)" -ne 0 ]; then
|
|
9
|
+
echo "This script must be run as root"
|
|
10
|
+
exit 1
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
if [ -f /etc/os-release ]; then
|
|
14
|
+
source /etc/os-release
|
|
15
|
+
if [[ "$ID" != "opensuse-tumbleweed" ]]; then
|
|
16
|
+
echo "This script is only for opensuse-tumbleweed based systems"
|
|
17
|
+
exit
|
|
18
|
+
fi
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
# update
|
|
22
|
+
zypper update -y
|
|
23
|
+
|
|
24
|
+
# echo "base: system e init"
|
|
25
|
+
# echo "package manager"
|
|
26
|
+
# echo "login e console"
|
|
27
|
+
# echo "networking"
|
|
28
|
+
# echo "filesystem and disk support"
|
|
29
|
+
# echo "drivers and hw support"
|
|
30
|
+
# echo "tools"
|
|
31
|
+
# echo "optional tools debug/live ISO"
|
|
32
|
+
# echo "systemd configure/enable"
|
|
33
|
+
# echo "generate /etc/default/grub"
|
|
34
|
+
# echo "eggs requirements"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
echo "base: system e init"
|
|
38
|
+
zypper install -y \
|
|
39
|
+
systemd \
|
|
40
|
+
dracut \
|
|
41
|
+
grub2 \
|
|
42
|
+
sudo
|
|
43
|
+
|
|
44
|
+
echo "package manager"
|
|
45
|
+
zypper install -y \
|
|
46
|
+
zypper
|
|
47
|
+
|
|
48
|
+
echo "login e console"
|
|
49
|
+
zypper install -y \
|
|
50
|
+
util-linux \
|
|
51
|
+
e2fsprogs \
|
|
52
|
+
iproute2 \
|
|
53
|
+
iputils
|
|
54
|
+
|
|
55
|
+
echo "networking"
|
|
56
|
+
zypper install -y \
|
|
57
|
+
NetworkManager \
|
|
58
|
+
hostname \
|
|
59
|
+
openssh
|
|
60
|
+
|
|
61
|
+
echo "filesystem and disk support"
|
|
62
|
+
zypper install -y \
|
|
63
|
+
btrfs-progs \
|
|
64
|
+
xfsprogs \
|
|
65
|
+
dosfstools \
|
|
66
|
+
ntfs-3g \
|
|
67
|
+
lvm2 \
|
|
68
|
+
mdadm \
|
|
69
|
+
cryptsetup
|
|
70
|
+
|
|
71
|
+
echo "drivers and hw support"
|
|
72
|
+
zypper install -y \
|
|
73
|
+
efibootmgr \
|
|
74
|
+
shim
|
|
75
|
+
|
|
76
|
+
echo "tools"
|
|
77
|
+
zypper install -y \
|
|
78
|
+
bash-completion \
|
|
79
|
+
vim \
|
|
80
|
+
nano \
|
|
81
|
+
less \
|
|
82
|
+
rsyslog \
|
|
83
|
+
coreutils \
|
|
84
|
+
findutils \
|
|
85
|
+
grep \
|
|
86
|
+
sed \
|
|
87
|
+
awk \
|
|
88
|
+
tar \
|
|
89
|
+
gzip \
|
|
90
|
+
xz
|
|
91
|
+
|
|
92
|
+
echo "optional tools debug/live ISO"
|
|
93
|
+
zypper install -y \
|
|
94
|
+
strace \
|
|
95
|
+
lsof \
|
|
96
|
+
htop \
|
|
97
|
+
hostname \
|
|
98
|
+
mc \
|
|
99
|
+
curl \
|
|
100
|
+
wget \
|
|
101
|
+
bind-utils
|
|
102
|
+
|
|
103
|
+
zypper install -y \
|
|
104
|
+
multipath-tools
|
|
105
|
+
|
|
106
|
+
echo "systemd configure/enable"
|
|
107
|
+
systemctl set-default multi-user.target
|
|
108
|
+
systemctl enable getty@tty1.service
|
|
109
|
+
#systemctl enable systemd-networkd.service
|
|
110
|
+
systemctl enable NetworkManager.service
|
|
111
|
+
systemctl enable NetworkManager-dispatcher.service
|
|
112
|
+
|
|
113
|
+
#echo "disable selinux"
|
|
114
|
+
#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
|
|
115
|
+
|
|
116
|
+
echo "eggs requirements"
|
|
117
|
+
zypper install -y \
|
|
118
|
+
bash-completion \
|
|
119
|
+
cryptsetup \
|
|
120
|
+
curl \
|
|
121
|
+
dosfstools \
|
|
122
|
+
dracut \
|
|
123
|
+
dracut-tools \
|
|
124
|
+
fuse \
|
|
125
|
+
git \
|
|
126
|
+
jq \
|
|
127
|
+
lsb-release \
|
|
128
|
+
lvm2 \
|
|
129
|
+
nodejs \
|
|
130
|
+
npm \
|
|
131
|
+
parted \
|
|
132
|
+
rsync \
|
|
133
|
+
squashfs \
|
|
134
|
+
sshfs \
|
|
135
|
+
wget \
|
|
136
|
+
xdg-user-dirs \
|
|
137
|
+
xorriso
|
|
138
|
+
|
|
139
|
+
# Enable uinput
|
|
140
|
+
echo "uinput" | tee /etc/modules-load.d/uinput.conf
|
|
141
|
+
|
|
142
|
+
# mkdir /usr/share/icons
|
|
143
|
+
mkdir -p /usr/share/icons
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -x
|
|
4
|
+
export CMD_PATH=$(cd `dirname $0`; pwd)
|
|
5
|
+
export PROJECT_NAME="${CMD_PATH##*/}"
|
|
6
|
+
echo $PROJECT_NAME
|
|
7
|
+
export NEEDRESTART_MODE=a
|
|
8
|
+
|
|
9
|
+
# localtime
|
|
10
|
+
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
|
|
11
|
+
|
|
12
|
+
# Some containers don't have hostname command
|
|
13
|
+
echo -e "$(hostname)\n" > /etc/hostname
|
|
14
|
+
|
|
15
|
+
eggs love -vn
|
|
16
|
+
|
|
17
|
+
if [[ "$GITHUB_ACTIONS" = "true" ]]; then
|
|
18
|
+
ls -al /ci/iso/
|
|
19
|
+
else
|
|
20
|
+
echo "TIPS use: eggs export iso -c"
|
|
21
|
+
exec bash --login
|
|
22
|
+
fi
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -x
|
|
4
|
+
|
|
5
|
+
##
|
|
6
|
+
#
|
|
7
|
+
#
|
|
8
|
+
function arch_install {
|
|
9
|
+
PENGUINS_EGGS_ARCH="./penguins-eggs-10.1.*-any.pkg.tar.zst "
|
|
10
|
+
|
|
11
|
+
if ls $PENGUINS_EGGS_ARCH 1> /dev/null 2>&1; then
|
|
12
|
+
pacman -U $PENGUINS_EGGS_ARCH --noconfirm
|
|
13
|
+
else
|
|
14
|
+
tarballs_install
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
#
|
|
21
|
+
#
|
|
22
|
+
function debs_install {
|
|
23
|
+
PENGUINS_EGGS_DEB="./penguins-eggs_10.1.*-*_amd64.deb"
|
|
24
|
+
|
|
25
|
+
if ls $PENGUINS_EGGS_DEB 1> /dev/null 2>&1; then
|
|
26
|
+
apt install -y $PENGUINS_EGGS_DEB
|
|
27
|
+
else
|
|
28
|
+
tarballs_install
|
|
29
|
+
fi
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
##
|
|
33
|
+
#
|
|
34
|
+
#
|
|
35
|
+
function tarballs_install {
|
|
36
|
+
PENGUINS_EGGS_INSTALL_DIR="/opt/penguins-eggs/"
|
|
37
|
+
PENGUINS_EGGS_TARBALLS="./penguins-eggs_10.1.*-*-linux-x64.tar.gz"
|
|
38
|
+
|
|
39
|
+
if ls $PENGUINS_EGGS_DEB 1> /dev/null 2>&1; then
|
|
40
|
+
# Create /opt if not exists
|
|
41
|
+
if [ ! -d "/opt" ]; then
|
|
42
|
+
mkdir /opt
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# Rimozione di /opt/penguins-eggs se esiste
|
|
46
|
+
if [ -d "$PENGUINS_EGGS_INSTALL_DIR" ]; then
|
|
47
|
+
rm -rf "$PENGUINS_EGGS_INSTALL_DIR"
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
# extract package
|
|
51
|
+
tar -xf $PENGUINS_EGGS_TARBALLS
|
|
52
|
+
if [ $? -ne 0 ]; then
|
|
53
|
+
echo "Error: $PENGUINS_EGGS_TARBALLS not found or error on extract!"
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
mv eggs penguins-eggs
|
|
57
|
+
$SUDO mv penguins-eggs /opt/
|
|
58
|
+
|
|
59
|
+
# create link themes grub/isolinux
|
|
60
|
+
ln -sf "${PENGUINS_EGGS_INSTALL_DIR}addons/eggs/theme/livecd/isolinux.main.full.cfg" "${PENGUINS_EGGS_INSTALL_DIR}addons/eggs/theme/livecd/isolinux.main.cfg"
|
|
61
|
+
ln -sf "${PENGUINS_EGGS_INSTALL_DIR}addons/eggs/theme/livecd/grub.main.full.cfg" "${PENGUINS_EGGS_INSTALL_DIR}addons/eggs/theme/livecd/grub.main.cfg"
|
|
62
|
+
|
|
63
|
+
# Bash completions
|
|
64
|
+
if [ -d "/usr/share/bash-completion/completions/" ]; then
|
|
65
|
+
rm -f /usr/share/bash-completion/completions/eggs.bash
|
|
66
|
+
ln -sf "${PENGUINS_EGGS_INSTALL_DIR}scripts/eggs.bash" /usr/share/bash-completion/completions/eggs.bash
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
# Zsh completions
|
|
70
|
+
if [ -d "/usr/share/zsh/functions/Completion/Zsh/" ]; then
|
|
71
|
+
rm -f /usr/share/zsh/functions/Completion/Zsh/_eggs
|
|
72
|
+
ln -sf "${PENGUINS_EGGS_INSTALL_DIR}scripts/_eggs" /usr/share/zsh/functions/Completion/Zsh/
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
# Icons
|
|
76
|
+
if [ -d "/usr/share/icons/" ]; then
|
|
77
|
+
rm -f /usr/share/icons/eggs.png
|
|
78
|
+
ln -sf "${PENGUINS_EGGS_INSTALL_DIR}assets/eggs.png" /usr/share/icons/eggs.png
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
# Manual
|
|
82
|
+
if [ -d "/usr/share/man/man1" ]; then
|
|
83
|
+
rm -f /usr/share/man/man1/eggs.1.gz
|
|
84
|
+
ln -sf "${PENGUINS_EGGS_INSTALL_DIR}manpages/doc/man/eggs.1.gz" /usr/share/man/man1/eggs.1.gz
|
|
85
|
+
fi
|
|
86
|
+
|
|
87
|
+
# Link binary
|
|
88
|
+
rm -f /usr/bin/eggs
|
|
89
|
+
ln -sf "${PENGUINS_EGGS_INSTALL_DIR}bin/eggs" /usr/bin/eggs
|
|
90
|
+
fi
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
##
|
|
96
|
+
# main
|
|
97
|
+
#
|
|
98
|
+
if [ -f /etc/os-release ]; then
|
|
99
|
+
. /etc/os-release
|
|
100
|
+
if [[ "$ID" == "debian" ]]; then
|
|
101
|
+
debs_install
|
|
102
|
+
elif [[ "$ID" == "devuan" ]]; then
|
|
103
|
+
debs_install
|
|
104
|
+
elif [[ "$ID" == "ubuntu" ]]; then
|
|
105
|
+
debs_install
|
|
106
|
+
elif [[ "$ID" == "arch" ]]; then
|
|
107
|
+
arch_install
|
|
108
|
+
else
|
|
109
|
+
if [[ "$FAMILY_ID" == "debian" ]]; then
|
|
110
|
+
debs_install
|
|
111
|
+
else
|
|
112
|
+
tarballs_install
|
|
113
|
+
fi
|
|
114
|
+
fi
|
|
115
|
+
fi
|
package/pods/ci/run
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -x
|
|
4
|
+
export CMD_PATH=$(cd `dirname $0`; pwd)
|
|
5
|
+
export PROJECT_NAME="${CMD_PATH##*/}"
|
|
6
|
+
echo $PROJECT_NAME
|
|
7
|
+
echo "FAMILY_ID $FAMILY_ID"
|
|
8
|
+
|
|
9
|
+
if [ -f /etc/os-release ]; then
|
|
10
|
+
. /etc/os-release
|
|
11
|
+
if [[ "$ID" == "almalinux" ]]; then
|
|
12
|
+
source /ci/*run-on-almalinux.sh
|
|
13
|
+
elif [[ "$ID" == "arch" ]]; then
|
|
14
|
+
source /ci/*run-on-archlinux.sh
|
|
15
|
+
elif [[ "$ID" == "debian" ]]; then
|
|
16
|
+
source /ci/*run-on-debian.sh
|
|
17
|
+
elif [[ "$ID" == "devuan" ]]; then
|
|
18
|
+
source /ci/*run-on-devuan.sh
|
|
19
|
+
elif [[ "$ID" == "fedora" ]]; then
|
|
20
|
+
source /ci/*run-on-fedora.sh
|
|
21
|
+
elif [[ "$ID" == "manjaro" ]]; then
|
|
22
|
+
source /ci/*run-on-manjaro.sh
|
|
23
|
+
elif [[ "$ID" == "opensuse-tumbleweed" ]]; then
|
|
24
|
+
source /ci/*run-on-opensuse.sh
|
|
25
|
+
elif [[ "$ID" == "rocky" ]]; then
|
|
26
|
+
source /ci/run-on-rockylinux.sh
|
|
27
|
+
elif [[ "$ID" == "ubuntu" ]]; then
|
|
28
|
+
source /ci/*run-on-ubuntu.sh
|
|
29
|
+
else
|
|
30
|
+
if [[ "$FAMILY_ID" == "debian" ]]; then
|
|
31
|
+
source /ci/*run-on-debian.sh
|
|
32
|
+
fi
|
|
33
|
+
fi
|
|
34
|
+
fi
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -x
|
|
4
|
+
export CMD_PATH=$(cd `dirname $0`; pwd)
|
|
5
|
+
export PROJECT_NAME="${CMD_PATH##*/}"
|
|
6
|
+
echo $PROJECT_NAME
|
|
7
|
+
export NEEDRESTART_MODE=a
|
|
8
|
+
export DEBIAN_FRONTEND=noninteractive
|
|
9
|
+
|
|
10
|
+
####################################################################################################################################
|
|
11
|
+
# 1 check
|
|
12
|
+
cd $CMD_PATH
|
|
13
|
+
env
|
|
14
|
+
pwd
|
|
15
|
+
whoami
|
|
16
|
+
|
|
17
|
+
####################################################################################################################################
|
|
18
|
+
# 2 hostname
|
|
19
|
+
echo -e "$(hostname)\n" > /etc/hostname
|
|
20
|
+
|
|
21
|
+
# 2.1 hosts
|
|
22
|
+
echo -e "\
|
|
23
|
+
127.0.0.1 localhost
|
|
24
|
+
::1 localhost ip6-localhost ip6-loopback
|
|
25
|
+
ff02::1 ip6-allnodes
|
|
26
|
+
ff02::2 ip6-allrouters
|
|
27
|
+
# This host address
|
|
28
|
+
127.0.1.1 $(hostname)" > /etc/hosts
|
|
29
|
+
|
|
30
|
+
####################################################################################################################################
|
|
31
|
+
# penguins-eggs mininal requisites for debian bookworm
|
|
32
|
+
|
|
33
|
+
cd $CMD_PATH
|
|
34
|
+
dnf -y update
|
|
35
|
+
|
|
36
|
+
# packages to be added for a minimum standard installation
|
|
37
|
+
source ./minimal/almalinux-container2host.sh
|
|
38
|
+
|
|
39
|
+
# test mount -t overlay
|
|
40
|
+
source ./kernel-overlay-install.sh
|
|
41
|
+
|
|
42
|
+
# installing eggs
|
|
43
|
+
source ./penguins-eggs-install.sh
|
|
44
|
+
|
|
45
|
+
# systemd
|
|
46
|
+
systemctl set-default multi-user.target
|
|
47
|
+
systemctl enable getty@tty1.service
|
|
48
|
+
|
|
49
|
+
# execute eggs
|
|
50
|
+
source ./penguins-eggs-execute.sh
|