diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4187f88..2423a17 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,10 +1,15 @@ -# This workflow will build an Arch Linux ISO file when a release is created. +# This workflow will build an Arch Linux ISO file with the commit on it name: build parchiso per release on: release: types: - created +env: + api_key: ${{ secrets.GITHUB_TOKEN }} + name: ${{ github.event.repository.name }} + release_name: ${{ github.ref_name }} + GH_TOKEN: ${{ github.token }} jobs: build: permissions: @@ -16,18 +21,17 @@ jobs: steps: - uses: actions/checkout@v3 - name: Install Packages via Pacman - run: | - pacman -Suy --noconfirm --noprogressbar - pacman -Sy --noconfirm --noprogressbar --needed git archiso python python-pygithub reflector - - name: Change pacman mirrors - run: | - reflector -n 3 --protocol https --save /etc/pacman.d/mirrorlist - pacman -Syy + run: pacman -Sy; pacman --noconfirm -S git archiso python python-pygithub github-cli reflector p7zip + - name: Change Arch docker mirror + run: reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist - name: Build image run: mkarchiso -v iso/ - name: Upload iso to the release - env: - API_KEY: ${{ secrets.GITHUB_TOKEN }} - REPO_NAME: ${{ github.repository }} - RELEASE_NAME: ${{ github.ref_name }} - run: python tools/upload_asset.py + run: | + cd ./out + mkdir iso_parts + # split -d -b 2000M "$(ls *.iso)" iso_parts/"$(ls *.iso)"_part + #zip -s 2000m iso_parts/"$(ls *.iso)".zip "$(ls *.iso)" + 7z -v1000m a iso_parts/"$(ls *.iso)".zip "$(ls *.iso)" + md5sum iso_parts/* > iso_parts/md5sums.txt + gh release upload ${{ github.event.release.tag_name }} ./iso_parts/* -R ${{ github.repository }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4cb60ed --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +out/ +work/ diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..c865e6e --- /dev/null +++ b/build.sh @@ -0,0 +1,60 @@ +#!/usr/bin/bash +main() { + set -e + local Black DarkGray Red LightRed Green LightGreen Brown Yellow Blue LightBlue Purple Light Purple Cyan LightCyan LightGray White reset + ## save colors + Black="\e[0;30m" + DarkGray="\e[1;30m" + Red="\e[0;31m" + LightRed="\e[1;31m" + Green="\e[0;32m" + LightGreen="\e[1;32m" + Brown="\e[0;33m" + Yellow="\e[1;33m" + Blue="\e[0;34m" + LightBlue="\e[1;34m" + Purple="\e[0;35m" + Light=Purple="\e[1;35m" + Cyan="\e[0;36m" + LightCyan="\e[1;36m" + LightGray="\e[0;37m" + White="\e[1;37m" + reset="\e[0m" + local reponame + reponame=${PWD##*/} + + echo -e "$Green### start install packeges for build $reponame ###$reset" + echo -e "$Brown### checking your os ###$reset" + if type pacman >/dev/null 2>&1;then + if [ "$(id -u)" != "0" ]; then + echo -e "$Red### you are not in root$reset" + exit 1 + else + install + echo -e "$Blue### install complete ###$reset" + echo -e "$Green### start build $reponame with archiso ###$reset" + build + makezip + fi + else + echo -e "$Red###os cant supported###$reset" + exit 1 + fi + +} +install() { + set -e + pacman -Sy; pacman --noconfirm -S --needed git archiso github-cli p7zip +} +build() { + set -e + mkarchiso -v iso/ +} +makezip() { + cd out + 7z -v500m a "$(ls *.iso)".zip "$(ls *.iso)" + md5sum * > md5sums.txt +} + + +main diff --git a/iso/airootfs/etc/pacman.d/mirrorlist b/iso/airootfs/etc/pacman.d/mirrorlist new file mode 100644 index 0000000..8ab9347 --- /dev/null +++ b/iso/airootfs/etc/pacman.d/mirrorlist @@ -0,0 +1,30 @@ +################################################################################ +################# Arch Linux mirrorlist generated by Reflector ################# +################################################################################ + +# With: reflector @/etc/xdg/reflector/reflector.conf +# When: 2023-11-09 08:09:08 UTC +# From: https://archlinux.org/mirrors/status/json/ +# Retrieved: 2023-11-09 08:06:51 UTC +# Last Check: 2023-11-09 07:54:59 UTC +Server = https://mirror.arvancloud.ir/archlinux/$repo/os/$arch +Server = https://america.mirror.pkgbuild.com/$repo/os/$arch +Server = https://sydney.mirror.pkgbuild.com/$repo/os/$arch +Server = https://archlinux.thaller.ws/$repo/os/$arch +Server = https://mirror.f4st.host/archlinux/$repo/os/$arch +Server = https://mirror.cyberbits.eu/archlinux/$repo/os/$arch +Server = https://mirror.moson.org/arch/$repo/os/$arch +Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +Server = https://mirror.theo546.fr/archlinux/$repo/os/$arch +Server = https://london.mirror.pkgbuild.com/$repo/os/$arch +Server = https://seoul.mirror.pkgbuild.com/$repo/os/$arch +Server = https://archlinux.mailtunnel.eu/$repo/os/$arch +Server = https://md.mirrors.hacktegic.com/archlinux/$repo/os/$arch +Server = https://mirror.sunred.org/archlinux/$repo/os/$arch +Server = https://dist-mirror.fem.tu-ilmenau.de/archlinux/$repo/os/$arch +Server = https://mirrors.niyawe.de/archlinux/$repo/os/$arch +Server = https://mirror.pseudoform.org/$repo/os/$arch +Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch +Server = https://at.arch.mirror.kescher.at/$repo/os/$arch +Server = https://de.arch.mirror.kescher.at/$repo/os/$arch +Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch diff --git a/iso/packages.x86_64 b/iso/packages.x86_64 index 0061cb6..96ec522 100644 --- a/iso/packages.x86_64 +++ b/iso/packages.x86_64 @@ -1,14 +1,13 @@ alsa-utils -ark amd-ucode arch-install-scripts -#archinstall +archinstall b43-fwcutter base base-devel bind brltty -#broadcom-wl +broadcom-wl-dkms btrfs-progs clonezilla cloud-init @@ -44,22 +43,6 @@ intel-ucode #ipw2100-fw #ipw2200-fw irssi -pipewire -pipewire-pulse -gst-plugin-pipewire -libpipewire -pipewire-alsa -pipewire-audio -pipewire-ffado -pipewire-jack -pipewire-media-session -pipewire-roc -pipewire-v4l2 -pipewire-x11-bell -pipewire-zeroconf -alsa-ucm-conf -dkms -sof-firmware iw iwd jfsutils @@ -96,7 +79,6 @@ nmap ntfs-3g nvme-cli open-iscsi -open-vm-tools openconnect openssh openvpn @@ -110,7 +92,6 @@ pv python python-psutil python-systemd -qterminal refind #reflector reiserfsprogs @@ -152,9 +133,15 @@ zsh archlinux-keyring openssl-1.1 openssl -android-file-transfer +gvfs gvfs-mtp -broadcom-wl-dkms +networkmanager +android-file-transfer +calamares +calamares-parch +boost +boost-libs +device-mapper #Desktop sddm @@ -166,13 +153,15 @@ plasma-nm konsole firefox + + #cutefish-desktop cutefish-calculator cutefish-core cutefish-dock cutefish-filemanager cutefish-icons -cutefish-kwin-plugins +#cutefish-kwin-plugins cutefish-launcher cutefish-qt-plugins cutefish-screenlocker @@ -182,33 +171,17 @@ cutefish-wallpapers konsole parch-cutefish-fix + #systemutils btop xdg-user-dirs packagekit-qt5 neofetch-git -keepassxc -leafpad -gwenview -okular -mpv -parch-mpv -ibus -ttf-dejavu -juk -#parchlinuxstuff -calamares -parch-grub -parch-dorood -python-pyqt6 -qt6-base -parchlinux-cala-config +#ParchLinux Core Packages os-prober paru +parch-emoji-ios +vazirmatn-fonts parch-branding parch-pacman -parch-os-wallpapers -parch-emoji-ios -estedad-fonts -vazirmatn-fonts diff --git a/iso/pacman.conf b/iso/pacman.conf index 12b4c71..7337268 100644 --- a/iso/pacman.conf +++ b/iso/pacman.conf @@ -34,7 +34,7 @@ Architecture = auto #NoProgressBar CheckSpace #VerbosePkgLists -ParallelDownloads = 5 +#ParallelDownloads = 5 # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. diff --git a/iso/profiledef.sh b/iso/profiledef.sh index 9887625..7cb690e 100644 --- a/iso/profiledef.sh +++ b/iso/profiledef.sh @@ -9,8 +9,8 @@ iso_version="$(date +%Y.%m.%d)" install_dir="arch" buildmodes=('iso') bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' - 'uefi-ia32.grub.esp' 'uefi-x64.systemd-boot.esp' - 'uefi-ia32.grub.eltorito' 'uefi-x64.systemd-boot.eltorito') + 'uefi-x64.systemd-boot.esp' + 'uefi-x64.systemd-boot.eltorito') arch="x86_64" pacman_conf="pacman.conf" airootfs_image_type="squashfs" diff --git a/iso/syslinux/splash.png b/iso/syslinux/splash.png index 0ee436c..885cf10 100644 Binary files a/iso/syslinux/splash.png and b/iso/syslinux/splash.png differ