Merge branch 'main' of git.acoroslinux.xyz:AcorOS/Build-configs

ass new contribuitor
This commit is contained in:
manuel 2023-12-06 16:12:48 -01:00
commit 9565064561
7 changed files with 469 additions and 0 deletions

52
Lxqt-arm64/BldHelper.sh Normal file
View File

@ -0,0 +1,52 @@
#!/bin/bash
################################################################################
# Title: Bldhelper.sh
# Description: Script to build AçorOS ISO image
# Author: PeppermintOS Team <peppermintosteam@proton.me>
# Date: May 10, 2023
# License: GPL-3.0-or-later
################################################################################
# Set environment variables
PREFIX=AcorOS-lxqt
SUFFIX=amd64
BUILD=lxqt
TODAY=$(date -u +"%Y-%m-%d")
FileName="${PREFIX}-${SUFFIX}"
LOCATION=/var/www/html/nightly/AcorOS/${BUILD}
LogDir=/var/log/Live-Build
WorkingDir=/home/pepadmin/Build-configs/Lxqt
# Execute the ISO building script
cd ${WorkingDir}
./build.sh
# Move and rename the ISO file
cd build
mv *.iso ${FileName}-${TODAY}.iso
# Create the checksum file for the ISO
sha512sum ${FileName}-${TODAY}.iso > ${FileName}-${TODAY}-sha512.checksum
# Remove old ISO and checksum files from the desired location
rm -f ${LOCATION}/${FileName}*.iso
rm -f ${LOCATION}/${FileName}*-sha512.checksum
# Move the ISO and checksum files to the desired location
mkdir -p ${LOCATION}
mv ${FileName}-${TODAY}.iso ${LOCATION}
mv ${FileName}-${TODAY}-sha512.checksum ${LOCATION}
# Move the log file to the log directory (if it exists)
if [ -f /tmp/${PREFIX}${SUFFIX}.out ]; then
mv /tmp/${PREFIX}${SUFFIX}.out ${LogDir}/${PREFIX}-${SUFFIX}-${BUILD}.log
fi
# Clean the build folder
lb clean
# Remove the "build" directory and its contents
cd ..
rm -rf build

View File

@ -0,0 +1,101 @@
#!/bin/sh
. /lib/live/config.sh
## live-config(7) - System Configuration Components
## Copyright (C) 2016-2020 The Debian Live team
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.
#set -e
Cmdline ()
{
# Reading kernel command line
for _PARAMETER in ${LIVE_CONFIG_CMDLINE}
do
case "${_PARAMETER}" in
live-config.user-default-groups=*|user-default-groups=*)
LIVE_USER_DEFAULT_GROUPS="${_PARAMETER#*user-default-groups=}"
;;
live-config.user-fullname=*|user-fullname=*)
LIVE_USER_FULLNAME="${_PARAMETER#*user-fullname=}"
;;
live-config.username=*|username=*)
LIVE_USERNAME="${_PARAMETER#*username=}"
;;
esac
done
}
Init ()
{
# Checking if package is installed or already configured
if ! pkg_is_installed "user-setup" || \
component_was_executed "user-setup"
then
exit 0
fi
echo -n " user-setup"
}
Config ()
{
# Checking if package is already configured differently
if grep -q "^${LIVE_USERNAME}:" /etc/passwd
then
exit 0
fi
# Adjust formating of groups
if [ -n "${LIVE_USER_DEFAULT_GROUPS}" ]
then
LIVE_USER_DEFAULT_GROUPS="$(echo ${LIVE_USER_DEFAULT_GROUPS} | sed -e 's|,| |g')"
fi
# Make sure user is not in sudo group if sudo is disabled
case "${LIVE_CONFIG_NOROOT}" in
true)
LIVE_USER_DEFAULT_GROUPS="$(echo ${LIVE_USER_DEFAULT_GROUPS} | sed -e 's|sudo||')"
;;
esac
# Default password is: live
# passwords can be generated with 'echo "live" | mkpasswd -s',
# a blank password is 'U6aMy0wojraho'.
# _PASSWORD="8Ab05sVQ4LLps"
_PASSWORD="U6aMy0wojraho"
cat > /tmp/live-config.cfg << EOF
user-setup passwd/make-user boolean true
user-setup passwd/root-password-crypted string *
user-setup passwd/user-password-crypted string ${_PASSWORD}
user-setup passwd/user-default-groups string ${LIVE_USER_DEFAULT_GROUPS}
user-setup passwd/user-fullname string ${LIVE_USER_FULLNAME}
user-setup passwd/username string ${LIVE_USERNAME}
user-setup passwd/user-uid string 1000
EOF
debconf-set-selections < /tmp/live-config.cfg
rm -f /tmp/live-config.cfg
# Workaround for bug in shadow
set +e
/usr/lib/user-setup/user-setup-apply 2>&1 \
| grep -v "Shadow passwords are now on"
set -e
# Creating state file
touch /var/lib/live/config/user-setup
}
Cmdline
Init
Config

View File

@ -0,0 +1,36 @@
#!/bin/bash
### Error checking added to "lint-trap" section.
### Missing files no longer cause builds to fail.
# Remove software
# apt remove -y firefox-esr
# apt remove -y termit
apt --purge --yes autoremove vim vim-tiny nautilus hv3 mpv murrine-themes smplayer deluge picom gnome-calculator konsole malcontent termit raspi-firmware smtube audacious nvidia*
# Remove /boot/firmware folder
rm -r /boot/firmware
## This section is the "lint-trap" to remove files and/or
## directories not associated with or required by AcorOS.
## Followed by \ , add files to be removed, one per line.
for i in \
/usr/share/applications/kdesystemsettings.desktop \
/usr/share/applications/systemsettings.desktop \
do [ -e $i ] &&
rm -rf ${i} ||
echo " The path ${i} was not found and couldn't be removed."
done
# Lowers the footprint in RAM at the small expense of added size to the ISO.
#update-icon-caches /usr/share/icons/*
find /usr/share/icons -type d -exec gtk-update-icon-cache -f {} \;
#add flatpak repo to gnome-software
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
#add-architecture i386
dpkg --add-architecture i386

View File

@ -0,0 +1,11 @@
#!/bin/bash
# Workaround for using snapd on debian. Thank You - @stevesveryown and peppermint team..
[ ! -e /etc/skel/.local/share ] && mkdir -p /etc/skel/.local/share
[ ! -e /var/lib/snapd/desktop/applications ] &&
mkdir -p /var/lib/snapd/desktop/applications &&
chmod 777 /var/lib/snapd/desktop/applications
ln -s /var/lib/snapd/desktop/applications /etc/skel/.local/share/applications
ln -s snap /usr/bin/snap-store

View File

@ -0,0 +1,7 @@
#!/bin/bash
#John's note: this will not harm the other architectures.
rm live/initrd.img
rm live/vmlinuz
cp live/initrd.img-* live/initrd.img
cp live/vmlinuz-* live/vmlinuz

241
Lxqt-arm64/build.sh Normal file
View File

@ -0,0 +1,241 @@
#!/bin/bash
PATH="/sbin:/usr/sbin:/usr/local/sbin:$PATH"
# Set the working folder variable
acorbuild="$(pwd)"
# Create the build folder, move into it removing stale mountpoints and files there.
[ -e build ] && [ ! -d build ] && rm -f build || [ ! -e build ] && mkdir build
cd build
umount $(mount | grep "${PWD}/chroot" | tac | cut -f3 -d" ") 2>/dev/null
for i in ./* ./.build ./cache/bootstrap ; do [ $i = ./cache ] && continue || rm -rf $i ; done
# Set of the structure to be used for the ISO and Live system.
# See /usr/lib/live/build/config for a full list of examples.
# Up above is the manual description of what options I used so far.
lb config noauto \
--binary-images iso-hybrid \
--mode debian \
--bootstrap-qemu-arch arm64 \
--architectures arm64 \
--linux-flavours arm64 \
--bootloaders grub-efi \
--distribution bookworm \
--archive-areas "main contrib non-free non-free-firmware" \
--mirror-bootstrap https://deb.debian.org/debian \
--bootstrap-qemu-static /usr/sbin/qemu-debootstrap \
--parent-mirror-bootstrap https://deb.debian.org/debian \
--parent-mirror-chroot https://deb.debian.org/debian \
--parent-mirror-chroot-security https://security.debian.org/debian-security \
--parent-mirror-binary https://deb.debian.org/debian \
--parent-mirror-binary-security https://security.debian.org/debian-security \
--mirror-chroot https://deb.debian.org/debian \
--mirror-chroot-security https://security.debian.org/debian-security \
--updates true \
--security true \
--backports false \
--cache true \
--apt-recommends true \
--iso-application AcorOS \
--win32-loader false \
--iso-preparer acoros-https://sourceforge.net/projects/acor-os/ \
--iso-publisher acoros-https://sourceforge.net/projects/acor-os/ \
--iso-volume AcorOS \
--image-name "AcorOS" \
--win32-loader false \
--checksums sha512 \
--zsync false \
"${@}"
# Install the Lxqt Desktop
mkdir -p $acorbuild/build/config/package-lists
echo lxqt > $acorbuild/build/config/package-lists/desktop.list.chroot
# Install software
echo "# Install software to the squashfs for calamares to unpack to the OS.
linux-headers-arm64
lxqt-archiver
lxqt-archiver-l10n
locales
nala
dbus-x11
ntp
acoros-keyring
xorg
xserver-xorg
xserver-xorg-input-synaptics
xserver-xorg-input-all
xserver-xorg-video-all
pulseaudio
pavucontrol-qt
alsa-utils
aptitude
synaptic
gparted
apt-config-auto-update
libelf-dev
htop
package-update-indicator
desktop-base
gnome-packagekit
gvfs-backends
samba
gnome-packagekit
sambashare
network-manager
network-manager-gnome
bluez
blueman
gufw
acoros-icons
materia-kde
qt5-style-kvantum
qt5-style-kvantum-l10n
qt5-style-kvantum-themes
materia-gtk-theme
tela-icon-theme
tela-circle-icon-theme
teja-gtk-theme
gtk2-engines-aurora
gtk2-engines
acoros-backgrounds
plymouth
plymouth-themes
cups
system-config-printer
lightdm
lightdm-gtk-greeter
lightdm-gtk-greeter-settings
dbus-tests
xscreensaver
xscreensaver-data
xscreensaver-data-extra
xscreensaver-gl
xscreensaver-gl-extra
gnome-system-tools
gnome-disk-utility
gnome-calculator
neofetch
accountsservice
timeshift
gnome-software
gnome-software-plugin-flatpak
gnome-software-plugin-snap
fwupd
bleachbit
dconf-editor
gimp
gimp-data-extras
xsane
transmission-gtk
thunderbird
thunderbird-l10n-all
firefox-esr
firefox-esr-l10n-all
libreoffice
libreoffice-gtk3
libreoffice-l10n*
printer-driver-cups-pdf
gnome-2048
gnome-chess
gnome-mahjongg
gnome-sudoku
guvcview
vlc
xfburn
calamares-settings-debian
calamares
gdebi
f2fs-tools
xfsprogs
xfsdump
xterm
xsettingsd
console-setup
spice-vdagent
" > $acorbuild/build/config/package-lists/packages.list.chroot
# Packages to be stored in /pool but not installed in the OS .
echo "# These packages are available to the installer, for offline use.
efibootmgr
grub-common
grub2-common
grub-efi
grub-efi-arm64
grub-efi-arm64-bin
grub-efi-arm64-signed
libefiboot1
libefivar1
mokutil
os-prober
shim-helpers-arm64-signed
shim-signed
shim-signed-common
shim-unsigned
" > $acorbuild/build/config/package-lists/installer.list.binary
# Setup the chroot structure
mkdir -p $acorbuild/build/config/archives
mkdir -p $acorbuild/build/config/includes.binary
mkdir -p $acorbuild/build/config/hooks/live
mkdir -p $acorbuild/build/config/hooks/normal
mkdir -p $acorbuild/build/config/includes.chroot/usr/share/applications
mkdir -p $acorbuild/build/config/includes.chroot/etc/live/config.conf.d
mkdir -p $acorbuild/build/config/includes.chroot/usr/share/distro-info
mkdir -p $acorbuild/build/config/includes.chroot/usr/share/python-apt/templates
mkdir -p $acorbuild/build/config/includes.chroot/etc/dpkg/origins
mkdir -p $acorbuild/build/config/includes.chroot/usr/bin
mkdir -p $acorbuild/build/config/includes.chroot/usr/local/bin
mkdir -p $acorbuild/build/config/includes.chroot/etc/lightdm
mkdir -p $acorbuild/build/config/includes.chroot/boot/grub
mkdir -p $acorbuild/build/config/includes.chroot/etc/default
mkdir -p $acorbuild/build/config/includes.chroot/boot/grub
mkdir -p $acorbuild/build/config/includes.chroot/usr/sbin
mkdir -p $acorbuild/build/config/includes.chroot/usr/share
mkdir -p $acorbuild/build/config/includes.chroot/etc/skel/Desktop
mkdir -p $acorbuild/build/config/includes.chroot/etc/skel/.config
mkdir -p $acorbuild/build/config/includes.chroot/lib/x86_64-linux-gnu/calamares/modules/fstab
# Copy Configs to the chroot
cp $acorbuild/acoruserconfig/* $acorbuild/build/config/includes.chroot/etc/live/config.conf.d
cp $acorbuild/acorapplication/* $acorbuild/build/config/includes.chroot/usr/share/applications
cp $acorbuild/acorhooks/live/* $acorbuild/build/config/hooks/live
cp $acorbuild/acorhooks/normal/* $acorbuild/build/config/hooks/normal
cp $acorbuild/acorlightdm/* $acorbuild/build/config/includes.chroot/etc/lightdm
cp $acorbuild/acorgrub/grub $acorbuild/build/config/includes.chroot/etc/default
cp $acorbuild/acorinstaller/bootloader-config-arm64 $acorbuild/build/config/includes.chroot/usr/sbin/bootloader-config
cp $acorbuild/acorinstaller/add-calamares-desktop-icon $acorbuild/build/config/includes.chroot/usr/bin
cp $acorbuild/acorinstaller/install-debian $acorbuild/build/config/includes.chroot/usr/bin
cp $acorbuild/acorinstaller/sources-final $acorbuild/build/config/includes.chroot/usr/sbin
cp $acorbuild/acorconfigs/.face $acorbuild/build/config/includes.chroot/etc/skel
cp $acorbuild/acorconfigs/.gtkrc-2.0 $acorbuild/build/config/includes.chroot/etc/skel
cp $acorbuild/acorinstaller/main.py $acorbuild/build/config/includes.chroot/lib/x86_64-linux-gnu/calamares/modules/fstab
cp -r $acorbuild/acorbootloaders/* $acorbuild/build/config/includes.binary
cp -r $acorbuild/acorrepos/* $acorbuild/build/config/archives
cp -r $acorbuild/acorcsv/* $acorbuild/build/config/includes.chroot/usr/share/distro-info
cp -r $acorbuild/acorgrub/themes $acorbuild/build/config/includes.chroot/boot/grub
cp -r $acorbuild/acorconfigs/lxqt/* $acorbuild/build/config/includes.chroot/etc/skel/.config
cp -r $acorbuild/acorinstaller/calamares $acorbuild/build/config/includes.chroot/etc
cp -r $acorbuild/acorinstaller/pixmaps $acorbuild/build/config/includes.chroot/usr/share
#symlinks chroot
ln -s Debian.info $acorbuild/build/config/includes.chroot/usr/share/python-apt/templates/Acoros.info
ln -s Debian.mirrors $acorbuild/build/config/includes.chroot/usr/share/python-apt/templates/Acoros.mirrors
ln -s debian.csv $acorbuild/build/config/includes.chroot/usr/share/distro-info/acoros.csv
ln -s acoros $acorbuild/build/config/includes.chroot/etc/dpkg/origins/default
# Build the ISO #
lb build #--debug --verbose

View File

@ -0,0 +1,21 @@
#!/bin/bash
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
# Set secure permissions for the initramfs if we're configuring
# full-disk-encryption. The initramfs is re-generated later in the
# installation process so we only set the permissions snippet without
# regenerating the initramfs right now:
if [ "$(mount | grep $CHROOT" " | cut -c -16)" = "/dev/mapper/luks" ]; then
echo "UMASK=0077" > $CHROOT/etc/initramfs-tools/conf.d/initramfs-permissions
fi
echo "Running bootloader-config..."
if [ -d /sys/firmware/efi/efivars ]; then
echo " * Installing grub-efi (uefi)..."
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-efi-arm64 cryptsetup keyutils
else
echo " * install grub... (bios)"
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-pc cryptsetup keyutils
fi