update build dcripts

This commit is contained in:
manuel 2024-10-28 11:24:03 -01:00
parent 9b69ea7028
commit c4e74f0733
9 changed files with 63 additions and 58 deletions

View File

@ -19,12 +19,12 @@ SBC_IMGS:=$(shell echo $(T_SBC_IMGS))
CLOUD_IMGS:=$(shell echo $(T_CLOUD_IMGS))
PXE_ARCHS:=$(shell echo $(T_PXE_ARCHS))
ALL_LIVE_ISO=$(foreach arch,$(LIVE_ARCHS), $(foreach flavor,$(LIVE_FLAVORS),void-live-$(arch)-$(DATECODE)-$(flavor).iso))
ALL_ROOTFS=$(foreach arch,$(ARCHS),void-$(arch)-ROOTFS-$(DATECODE).tar.xz)
ALL_PLATFORMFS=$(foreach platform,$(PLATFORMS),void-$(platform)-PLATFORMFS-$(DATECODE).tar.xz)
ALL_SBC_IMAGES=$(foreach platform,$(SBC_IMGS),void-$(platform)-$(DATECODE).img.xz)
ALL_CLOUD_IMAGES=$(foreach cloud,$(CLOUD_IMGS),void-$(cloud)-$(DATECODE).tar.gz)
ALL_PXE_ARCHS=$(foreach arch,$(PXE_ARCHS),void-$(arch)-NETBOOT-$(DATECODE).tar.gz)
ALL_LIVE_ISO=$(foreach arch,$(LIVE_ARCHS), $(foreach flavor,$(LIVE_FLAVORS),pep-live-$(arch)-$(DATECODE)-$(flavor).iso))
ALL_ROOTFS=$(foreach arch,$(ARCHS),pep-$(arch)-ROOTFS-$(DATECODE).tar.xz)
ALL_PLATFORMFS=$(foreach platform,$(PLATFORMS),pep-$(platform)-PLATFORMFS-$(DATECODE).tar.xz)
ALL_SBC_IMAGES=$(foreach platform,$(SBC_IMGS),pep-$(platform)-$(DATECODE).img.xz)
ALL_CLOUD_IMAGES=$(foreach cloud,$(CLOUD_IMGS),pep-$(cloud)-$(DATECODE).tar.gz)
ALL_PXE_ARCHS=$(foreach arch,$(PXE_ARCHS),pep-$(arch)-NETBOOT-$(DATECODE).tar.gz)
SUDO := sudo
@ -52,14 +52,14 @@ distdir-$(DATECODE):
mkdir -p distdir-$(DATECODE)
dist: distdir-$(DATECODE)
mv void*$(DATECODE)* distdir-$(DATECODE)/
mv pep*$(DATECODE)* distdir-$(DATECODE)/
live-iso-all: $(ALL_LIVE_ISO)
live-iso-all-print:
@echo $(ALL_LIVE_ISO) | sed "s: :\n:g"
void-live-%.iso: build-x86-images.sh
pep-live-%.iso: build-x86-images.sh
@[ -n "${CI}" ] && printf "::group::\x1b[32mBuilding $@...\x1b[0m\n" || true
$(SUDO) ./build-x86-images.sh -r $(REPOSITORY) -t $*
@[ -n "${CI}" ] && printf '::endgroup::\n' || true
@ -69,7 +69,7 @@ rootfs-all: $(ALL_ROOTFS)
rootfs-all-print:
@echo $(ALL_ROOTFS) | sed "s: :\n:g"
void-%-ROOTFS-$(DATECODE).tar.xz: mkrootfs.sh
pep-%-ROOTFS-$(DATECODE).tar.xz: mkrootfs.sh
@[ -n "${CI}" ] && printf "::group::\x1b[32mBuilding $@...\x1b[0m\n" || true
$(SUDO) ./mkrootfs.sh $(XBPS_REPOSITORY) -x $(COMPRESSOR_THREADS) -o $@ $*
@[ -n "${CI}" ] && printf '::endgroup::\n' || true
@ -80,9 +80,9 @@ platformfs-all-print:
@echo $(ALL_PLATFORMFS) | sed "s: :\n:g"
.SECONDEXPANSION:
void-%-PLATFORMFS-$(DATECODE).tar.xz: void-$$(shell ./lib.sh platform2arch %)-ROOTFS-$(DATECODE).tar.xz mkplatformfs.sh
pep-%-PLATFORMFS-$(DATECODE).tar.xz: pep-$$(shell ./lib.sh platform2arch %)-ROOTFS-$(DATECODE).tar.xz mkplatformfs.sh
@[ -n "${CI}" ] && printf "::group::\x1b[32mBuilding $@...\x1b[0m\n" || true
$(SUDO) ./mkplatformfs.sh $(XBPS_REPOSITORY) -x $(COMPRESSOR_THREADS) -o $@ $* void-$(shell ./lib.sh platform2arch $*)-ROOTFS-$(DATECODE).tar.xz
$(SUDO) ./mkplatformfs.sh $(XBPS_REPOSITORY) -x $(COMPRESSOR_THREADS) -o $@ $* pep-$(shell ./lib.sh platform2arch $*)-ROOTFS-$(DATECODE).tar.xz
@[ -n "${CI}" ] && printf '::endgroup::\n' || true
images-all: platformfs-all images-all-sbc images-all-cloud
@ -97,16 +97,16 @@ images-all-cloud: $(ALL_CLOUD_IMAGES)
images-all-print:
@echo $(ALL_SBC_IMAGES) $(ALL_CLOUD_IMAGES) | sed "s: :\n:g"
void-%-$(DATECODE).img.xz: void-%-PLATFORMFS-$(DATECODE).tar.xz mkimage.sh
pep-%-$(DATECODE).img.xz: pep-%-PLATFORMFS-$(DATECODE).tar.xz mkimage.sh
@[ -n "${CI}" ] && printf "::group::\x1b[32mBuilding $@...\x1b[0m\n" || true
$(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) -o $(basename $@) void-$*-PLATFORMFS-$(DATECODE).tar.xz
$(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) -o $(basename $@) pep-$*-PLATFORMFS-$(DATECODE).tar.xz
@[ -n "${CI}" ] && printf '::endgroup::\n' || true
# Some of the images MUST be compressed with gzip rather than xz, this
# rule services those images.
void-%-$(DATECODE).tar.gz: void-%-PLATFORMFS-$(DATECODE).tar.xz mkimage.sh
pep-%-$(DATECODE).tar.gz: pep-%-PLATFORMFS-$(DATECODE).tar.xz mkimage.sh
@[ -n "${CI}" ] && printf "::group::\x1b[32mBuilding $@...\x1b[0m\n" || true
$(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) void-$*-PLATFORMFS-$(DATECODE).tar.xz
$(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) pep-$*-PLATFORMFS-$(DATECODE).tar.xz
@[ -n "${CI}" ] && printf '::endgroup::\n' || true
pxe-all: $(ALL_PXE_ARCHS)
@ -114,9 +114,9 @@ pxe-all: $(ALL_PXE_ARCHS)
pxe-all-print:
@echo $(ALL_PXE_ARCHS) | sed "s: :\n:g"
void-%-NETBOOT-$(DATECODE).tar.gz: void-%-ROOTFS-$(DATECODE).tar.xz mknet.sh
pep-%-NETBOOT-$(DATECODE).tar.gz: pep-%-ROOTFS-$(DATECODE).tar.xz mknet.sh
@[ -n "${CI}" ] && printf "::group::\x1b[32mBuilding $@...\x1b[0m\n" || true
$(SUDO) ./mknet.sh void-$*-ROOTFS-$(DATECODE).tar.xz
$(SUDO) ./mknet.sh pep-$*-ROOTFS-$(DATECODE).tar.xz
@[ -n "${CI}" ] && printf '::endgroup::\n' || true
.PHONY: all checksum dist live-iso-all live-iso-all-print rootfs-all-print rootfs-all platformfs-all-print platformfs-all pxe-all-print pxe-all

View File

@ -90,7 +90,10 @@ build_variant() {
LIGHTDM_SESSION=enlightenment
;;
xfce)
PKGS="$PKGS $XORG_PKGS lightdm lightdm-gtk3-greeter xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox xfce4-pulseaudio-plugin mousepad mugshot menulibre thunar-archive-plugin thunar-volman xfce4-battery-plugin xfce4-clipman-plugin xfce4-power-manager xfce4-taskmanager xfce4-terminal xfce4-whiskermenu-plugin xarchiver alsa-utils bluez btop console-setup cups curl dconf-editor dbus-x11 cantarell-fonts liberation-fonts-ttf git wget gnome-disk-utility gparted gvfs samba avahi inxi network-manager-applet ntp python3-pip python3-pipx python3-tkinter python3-Pillow system-config-printer simple-scan smartmontools smbclient spice-vdagent sqlite openssh"
PKGS="$PKGS $XORG_PKGS lightdm lightdm-gtk3-greeter xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox xfce4-pulseaudio-plugin
mousepad mugshot menulibre thunar-archive-plugin thunar-volman xfce4-battery-plugin xfce4-clipman-plugin xfce4-power-manager xfce4-taskmanager xfce4-terminal xfce4-whiskermenu-plugin
xarchiver alsa-utils bluez btop console-setup cups curl dconf-editor dbus-x11 cantarell-fonts liberation-fonts-ttf git wget gnome-disk-utility gparted gvfs samba avahi inxi
network-manager-applet ntp python3-pip python3-pipx python3-tkinter python3-Pillow system-config-printer simple-scan smartmontools smbclient spice-vdagent sqlite openssh nano vim-x11 vim"
SERVICES="$SERVICES dbus lightdm NetworkManager polkitd bluetoothd cupsd avahi-daemon ntpd smbd nmbd sshd spice-vdagentd"
LIGHTDM_SESSION=xfce
;;

View File

@ -4,8 +4,8 @@ Welcome to the PeppermintOS Linux Live system! PeppermintOS is now based on Void
Two users are available to log in:
- **root** : password **peppermintos**
- **pep** : password **peppermintos**
- **root** : password **root**
- **pep** : password **live**
The `anon` user has `sudo(8)` privileges to run any command without a password.

View File

@ -31,7 +31,7 @@
# Default User
# ===
# username: the username of the user to be created
# default: voidlinux
# default: pep
#username=""
# password: password to set for the new user
@ -56,7 +56,7 @@
# hostname: static hostname for the system
# default: derived from DNS
#hostname=VoidLinux
#hostname=Peppermintos
# end_action: what to do at the end of the install
# default: shutdown

View File

@ -28,8 +28,8 @@ chroot ${NEWROOT} useradd -m -c $USERNAME -G audio,video,wheel -s $USERSHELL $US
chroot ${NEWROOT} passwd -d $USERNAME >/dev/null 2>&1
# Setup default root/user password (voidlinux).
chroot ${NEWROOT} sh -c 'echo "root:peppermintos" | chpasswd -c SHA512'
chroot ${NEWROOT} sh -c "echo "$USERNAME:peppermintos" | chpasswd -c SHA512"
chroot ${NEWROOT} sh -c 'echo "root:root" | chpasswd -c SHA512'
chroot ${NEWROOT} sh -c "echo "$USERNAME:live" | chpasswd -c SHA512"
# Enable sudo permission by default.
if [ -f ${NEWROOT}/etc/sudoers ]; then

View File

@ -45,7 +45,7 @@ MIRROR_DONE=
TARGETDIR=/mnt/target
LOG=/dev/tty8
CONF_FILE=/tmp/.void-installer.conf
CONF_FILE=/tmp/.pep-installer.conf
if [ ! -f $CONF_FILE ]; then
touch -f $CONF_FILE
fi
@ -96,7 +96,7 @@ WIDGET_SIZE="10 70"
DIALOG() {
rm -f $ANSWER
dialog --colors --keep-tite --no-shadow --no-mouse \
--backtitle "${BOLD}${WHITE}Void Linux installation -- https://www.voidlinux.org (@@MKLIVE_VERSION@@)${RESET}" \
--backtitle "${BOLD}${WHITE}Peppermintos installation -- https://peppermintos.com (@@MKLIVE_VERSION@@)${RESET}" \
--cancel-label "Back" --aspect 20 "$@" 2>$ANSWER
return $?
}
@ -104,7 +104,7 @@ DIALOG() {
INFOBOX() {
# Note: dialog --infobox and --keep-tite don't work together
dialog --colors --no-shadow --no-mouse \
--backtitle "${BOLD}${WHITE}Void Linux installation -- https://www.voidlinux.org (@@MKLIVE_VERSION@@)${RESET}" \
--backtitle "${BOLD}${WHITE}Peppermintos installation -- https://peppermintos.com (@@MKLIVE_VERSION@@)${RESET}" \
--title "${TITLE}" --aspect 20 --infobox "$@"
}
@ -637,7 +637,7 @@ menu_hostname() {
set_hostname() {
local hostname="$(get_option HOSTNAME)"
echo "${hostname:-void}" > $TARGETDIR/etc/hostname
echo "${hostname:-pep}" > $TARGETDIR/etc/hostname
}
menu_rootpassword() {
@ -683,7 +683,7 @@ menu_useraccount() {
while true; do
_preset=$(get_option USERLOGIN)
[ -z "$_preset" ] && _preset="void"
[ -z "$_preset" ] && _preset="pep"
DIALOG --inputbox "Enter a primary login name:" ${INPUTSIZE} "$_preset"
if [ $? -eq 0 ]; then
_userlogin="$(cat $ANSWER)"
@ -704,7 +704,7 @@ menu_useraccount() {
while true; do
_preset=$(get_option USERNAME)
[ -z "$_preset" ] && _preset="Void User"
[ -z "$_preset" ] && _preset="Peppermint User"
DIALOG --inputbox "Enter a display name for login '$(get_option USERLOGIN)' :" \
${INPUTSIZE} "$_preset"
if [ $? -eq 0 ]; then
@ -818,7 +818,7 @@ set_bootloader() {
# Check if it's an EFI system via efivars module.
if [ -n "$EFI_SYSTEM" ]; then
grub_args="--target=$EFI_TARGET --efi-directory=/boot/efi --bootloader-id=void_grub --recheck"
grub_args="--target=$EFI_TARGET --efi-directory=/boot/efi --bootloader-id=pep_grub --recheck"
fi
echo "Running grub-install $grub_args $dev..." >$LOG
chroot $TARGETDIR grub-install $grub_args $dev >$LOG 2>&1
@ -1308,13 +1308,13 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return
. /etc/default/live.conf
rm -f $TARGETDIR/etc/motd
rm -f $TARGETDIR/etc/issue
rm -f $TARGETDIR/usr/sbin/void-installer
rm -f $TARGETDIR/usr/sbin/pep-installer
# Remove modified sddm.conf to let sddm use the defaults.
rm -f $TARGETDIR/etc/sddm.conf
# Remove live user.
echo "Removing $USERNAME live user from targetdir ..." >$LOG
chroot $TARGETDIR userdel -r $USERNAME >$LOG 2>&1
rm -f $TARGETDIR/etc/sudoers.d/99-void-live
rm -f $TARGETDIR/etc/sudoers.d/99-pep-live
sed -i "s,GETTY_ARGS=\"--noclear -a $USERNAME\",GETTY_ARGS=\"--noclear\",g" $TARGETDIR/etc/sv/agetty-tty1/conf
TITLE="Check $LOG for details ..."
INFOBOX "Rebuilding initramfs for target ..." 4 60
@ -1378,7 +1378,7 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return
elif [ -n "$_dev" -a "$_type" = "static" ]; then
# static IP through dhcpcd.
mv $TARGETDIR/etc/dhcpcd.conf $TARGETDIR/etc/dhcpcd.conf.orig
echo "# Static IP configuration set by the void-installer for $_dev." \
echo "# Static IP configuration set by the pep-installer for $_dev." \
>$TARGETDIR/etc/dhcpcd.conf
echo "interface $_dev" >>$TARGETDIR/etc/dhcpcd.conf
echo "static ip_address=$_ip" >>$TARGETDIR/etc/dhcpcd.conf
@ -1402,7 +1402,7 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return
fi
# clean up polkit rule - it's only useful in live systems
rm -f $TARGETDIR/etc/polkit-1/rules.d/void-live.rules
rm -f $TARGETDIR/etc/polkit-1/rules.d/pep-live.rules
# enable text console for grub if chosen
if [ "$(get_option TEXTCONSOLE)" = "1" ]; then
@ -1419,7 +1419,7 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return
umount_filesystems
# installed successfully.
DIALOG --yesno "${BOLD}Void Linux has been installed successfully!${RESET}\n
DIALOG --yesno "${BOLD}Peppermintos has been installed successfully!${RESET}\n
Do you want to reboot the system?" ${YESNOSIZE}
if [ $? -eq 0 ]; then
shutdown -r now
@ -1463,7 +1463,7 @@ menu() {
AFTER_HOSTNAME="Timezone"
DIALOG --default-item $DEFITEM \
--extra-button --extra-label "Settings" \
--title " Void Linux installation menu " \
--title " Peppermintos installation menu " \
--menu "$MENULABEL" 10 70 0 \
"Keyboard" "Set system keyboard" \
"Network" "Set up the network" \
@ -1482,7 +1482,7 @@ menu() {
AFTER_HOSTNAME="Locale"
DIALOG --default-item $DEFITEM \
--extra-button --extra-label "Settings" \
--title " Void Linux installation menu " \
--title " Peppermintos installation menu " \
--menu "$MENULABEL" 10 70 0 \
"Keyboard" "Set system keyboard" \
"Network" "Set up the network" \
@ -1536,20 +1536,20 @@ if ! command -v dialog >/dev/null; then
fi
if [ "$(id -u)" != "0" ]; then
echo "void-installer must run as root" 1>&2
echo "pep-installer must run as root" 1>&2
exit 1
fi
#
# main()
#
DIALOG --title "${BOLD}${RED} Enter the void ... ${RESET}" --msgbox "\n
Welcome to the Void Linux installation. A simple and minimal \
DIALOG --title "${BOLD}${RED} Enter the pep ... ${RESET}" --msgbox "\n
Welcome to the Peppermintos installation. A simple and minimal \
Linux distribution made from scratch and built from the source package tree \
available for XBPS, a new alternative binary package system.\n\n
The installation should be pretty straightforward. If you are in trouble \
please join us at ${BOLD}#voidlinux${RESET} on ${BOLD}irc.libera.chat${RESET}.\n\n
${BOLD}https://www.voidlinux.org${RESET}\n\n" 16 80
please join us at ${BOLD}#Peppermintos${RESET} on ${BOLD}irc.libera.chat${RESET}.\n\n
${BOLD}https://peppermintos.com/${RESET}\n\n" 16 80
while true; do
menu

View File

@ -111,7 +111,7 @@ fi
# Setup the platform variable. Here we want just the name and
# optionally -musl if this is the musl variant.
PLATFORM="${ROOTFS_TARBALL#void-}"
PLATFORM="${ROOTFS_TARBALL#pep-}"
PLATFORM="${PLATFORM%-PLATFORMFS*}"
# Be absolutely certain the platform is supported before continuing
@ -150,7 +150,7 @@ fi
# will include the platform the image is being built for and the date
# on which it was built.
if [ -z "$FILENAME" ]; then
FILENAME="void-${PLATFORM}-$(date -u +%Y%m%d).img"
FILENAME="pep-${PLATFORM}-$(date -u +%Y%m%d).img"
fi
# Create the base image. This was previously accomplished with dd,
@ -233,7 +233,7 @@ if [ "$ROOT_FSTYPE" = "f2fs" ]; then
fspassno="0"
fi
# Void images prefer uuids to nodes in /dev since these are not
# Peppermintos images prefer uuids to nodes in /dev since these are not
# dependent on the hardware layout. On a single board computer this
# may not matter much but it makes the cloud images easier to manage.
echo "UUID=$ROOT_UUID / $ROOT_FSTYPE defaults 0 ${fspassno}" >> "${ROOTFS}/etc/fstab"
@ -344,7 +344,7 @@ GCP*)
rm -f "${ROOTFS}/etc/ssh/moduli"
# Force the hostname since this isn't read from DHCP
echo void-GCE > "${ROOTFS}/etc/hostname"
echo pep-GCE > "${ROOTFS}/etc/hostname"
# Cleanup the chroot from anything that was setup for the
# run_cmd_chroot commands

View File

@ -69,7 +69,7 @@ usage() {
cat <<-EOH
Usage: $PROGNAME [options]
Generates a basic live ISO image of Void Linux. This ISO image can be written
Generates a basic live ISO image of Peppermintos. This ISO image can be written
to a CD/DVD-ROM or any USB stick.
To generate a more complete live ISO image, use build-x86-images.sh.
@ -110,7 +110,7 @@ copy_pep_face() {
copy_pep_settings() {
mkdir -p "$1"/etc/skel/.config
cp xfce/* "$1"/etc/skel/.config
cp -r xfce/* "$1"/etc/skel/.config
}
copy_pep_backgrounds() {
@ -120,30 +120,32 @@ copy_pep_backgrounds() {
copy_pep_icons() {
mkdir -p "$1"/usr/share/icons
cp icons/* "$1"/usr/share/icons
cp -r icons/* "$1"/usr/share/icons
}
copy_pep_themes() {
mkdir -p "$1"/usr/share/themes
cp theme/* "$1"/usr/share/themes
cp -r theme/* "$1"/usr/share/themes
}
copy_pep_polkit() {
mkdir -p "$1"/usr/share/polkit-1/actions
cp polkit/* "$1"/usr/share/polkit-1/actions
}
copy_pep_pylibraries() {
mkdir -p "$1"/usr/lib/python3/dist-packages
cp pylibraries/* "$1"//usr/lib/python3/dist-packages
cp -r pylibraries/* "$1"//usr/lib/python3/dist-packages
}
copy_pep_pmostools() {
mkdir -p "$1"/etc/skel/.local/share/pmostools
cp pmostools/* "$1"/etc/skel/.local/share/pmostools
cp -r pmostools/* "$1"/etc/skel/.local/share/pmostools
}
copy_pep_PepProPixMaps() {
mkdir -p "$1"/usr/share/pixmaps
cp PepProPixMaps/* "$1"/usr/share/pixmaps
cp -r PepProPixMaps/* "$1"/usr/share/pixmaps
}
copy_pep_autostart() {
@ -168,7 +170,7 @@ copy_pep_application() {
copy_pep_PepProTools() {
mkdir -p "$1"/usr/local/bin
cp PepProTools/* "$1"/usr/local/bin
cp -r PepProTools/* "$1"/usr/local/bin
}
copy_pep_lightdm() {
@ -183,7 +185,7 @@ copy_pep_aliases() {
copy_pep_artwork() {
mkdir -p "$1"/usr/share/pep-artwork
cp artwork/* "$1"/usr/share/pep-artwork
cp -r artwork/* "$1"/usr/share/pep-artwork
}
copy_void_keys() {

View File

@ -198,11 +198,11 @@ run_cmd_chroot "$ROOTFS" "xbps-reconfigure -a"
# chrooted. We also remove the lock file in this step to clean up the
# lock on the passwd database, lest it be left in the system and
# propogated to other points.
info_msg "Setting the default root password ('peppermintos')"
info_msg "Setting the default root password ('root')"
if [ ! -f "$ROOTFS/etc/shadow" ] ; then
run_cmd_chroot "$ROOTFS" pwconv
fi
echo root:peppermintos | run_cmd_chroot "$ROOTFS" "chpasswd -c SHA512" || die "Could not set default credentials"
echo root:root | run_cmd_chroot "$ROOTFS" "chpasswd -c SHA512" || die "Could not set default credentials"
rm -f "$ROOTFS/etc/.pwd.lock"
# At this point we're done running things in the chroot and we can