Compare commits
36 commits
2024-06-02
...
main
Author | SHA1 | Date | |
---|---|---|---|
ca0d2d0a30 | |||
23b49dc379 | |||
bc01c3c60d | |||
085f89a5d8 | |||
4237588d3a | |||
a776ad4a95 | |||
76f5aa6b6d | |||
a131e380fa | |||
341feaab43 | |||
36fac961c1 | |||
3b8b359356 | |||
7ff8cb4f5c | |||
543e939e02 | |||
7ad4f6b811 | |||
cd81e1ada8 | |||
673fa4c828 | |||
9adc5d14a9 | |||
607eb83050 | |||
07b0d66092 | |||
0f244bceb9 | |||
8559f51d7f | |||
3dde326825 | |||
10579893f9 | |||
04c3084b5e | |||
e8479cd2e1 | |||
94b368a759 | |||
1771a6f5e4 | |||
90d55a8604 | |||
5df46d809f | |||
055cce2cec | |||
c331d57a93 | |||
e301283fb5 | |||
e550c510df | |||
|
79286f1d43 | ||
82d4ad132f | |||
645f0625d5 |
10 changed files with 153 additions and 31 deletions
2
.github/workflows/build.yaml
vendored
2
.github/workflows/build.yaml
vendored
|
@ -21,7 +21,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install Packages via Pacman
|
- name: Install Packages via Pacman
|
||||||
run: pacman -Sy; pacman --noconfirm -S git archiso python python-pygithub github-cli reflector p7zip
|
run: pacman -Syu --noconfirm; pacman --noconfirm -S git archiso python python-pygithub github-cli reflector p7zip
|
||||||
- name: Change Arch docker mirror
|
- name: Change Arch docker mirror
|
||||||
run: reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
|
run: reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
|
||||||
- name: Build image
|
- name: Build image
|
||||||
|
|
43
.gitlab-ci.yml
Normal file
43
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- deploy
|
||||||
|
|
||||||
|
image: archlinux/archlinux:base-devel
|
||||||
|
|
||||||
|
variables:
|
||||||
|
Desktop: "cosmic"
|
||||||
|
|
||||||
|
build_iso:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- ./build.sh
|
||||||
|
- echo "Renaming the output ISO file"
|
||||||
|
- mv out/*.iso out/ParchLinux-$Desktop-latest.iso
|
||||||
|
- echo "Generating MD5 checksum"
|
||||||
|
- md5sum out/ParchLinux-$Desktop-latest.iso > out/md5sum.txt
|
||||||
|
- echo "Build completed. Files generated:"
|
||||||
|
- ls -lh out/
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- out/ParchLinux-$Desktop-latest.iso
|
||||||
|
- out/md5sum.txt
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
|
||||||
|
deploy_iso:
|
||||||
|
stage: deploy
|
||||||
|
dependencies:
|
||||||
|
- build_iso
|
||||||
|
script:
|
||||||
|
- echo "Installing sshpass and rsync"
|
||||||
|
- pacman -Syu --noconfirm sshpass rsync
|
||||||
|
- echo "Determining the remote directory based on the tag"
|
||||||
|
- if [[ "$CI_COMMIT_TAG" == *"beta"* ]]; then export REMOTE_DIR="/srv/http/beta/$Desktop/"; else export REMOTE_DIR="/srv/http/$Desktop/"; fi
|
||||||
|
- echo "Removing old ISO files from remote directory"
|
||||||
|
- sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$SSH_ROOT rm -rf "$REMOTE_DIR/"
|
||||||
|
- echo "Creating new directory on remote host"
|
||||||
|
- sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$SSH_ROOT mkdir -p "$REMOTE_DIR/"
|
||||||
|
- echo "Uploading new ISO via rsync"
|
||||||
|
- sshpass -p "$PASS" rsync -r out/ParchLinux-$Desktop-latest.iso out/md5sum.txt parch@$SSH_ROOT:"$REMOTE_DIR/"
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
11
README.md
11
README.md
|
@ -1,3 +1,10 @@
|
||||||
# Parch Linux iso template
|
# Parch Linux Cosmic
|
||||||
|
|
||||||
## Use this template for making releases
|
Cosmic is a DE made by System76 in Rust and Iced.
|
||||||
|
|
||||||
|
|
||||||
|
Parch Linux Cosmic features Cosmic DE with a Touch of Parch Linux itself.
|
||||||
|
|
||||||
|
|
||||||
|
## Note:
|
||||||
|
> currently cosmic is in alpha stage and it is not fully finished, use Parch Linux Cosmic only for testing.
|
||||||
|
|
15
build.sh
15
build.sh
|
@ -33,8 +33,7 @@ main() {
|
||||||
install
|
install
|
||||||
echo -e "$Blue### Install complete ###$reset"
|
echo -e "$Blue### Install complete ###$reset"
|
||||||
echo -e "$Green### Start build $reponame with archiso ###$reset"
|
echo -e "$Green### Start build $reponame with archiso ###$reset"
|
||||||
build
|
build
|
||||||
makezip
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo -e "$Red###OS can't supported###$reset"
|
echo -e "$Red###OS can't supported###$reset"
|
||||||
|
@ -42,19 +41,19 @@ main() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install() {
|
install() {
|
||||||
set -e
|
set -e
|
||||||
pacman -Sy; pacman --noconfirm -S --needed git archiso github-cli p7zip
|
pacman -Sy; pacman --noconfirm -S --needed git wget github-cli p7zip reflector rsync
|
||||||
|
wget https://git.parchlinux.com/repo/ppr/-/raw/main/x86_64/archiso-99-1-any.pkg.tar.zst
|
||||||
|
sudo pacman -U archiso-99-1-any.pkg.tar.zst --noconfirm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
set -e
|
set -e
|
||||||
mkarchiso -v iso/
|
mkarchiso -v iso/
|
||||||
}
|
}
|
||||||
makezip() {
|
|
||||||
cd out
|
|
||||||
7z -v500m a "$(ls *.iso)".zip "$(ls *.iso)"
|
|
||||||
md5sum * > md5sums.txt
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
main
|
main
|
||||||
|
|
73
iso/airootfs/etc/mkinitcpio.conf
Normal file
73
iso/airootfs/etc/mkinitcpio.conf
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
# vim:set ft=sh
|
||||||
|
# MODULES
|
||||||
|
# The following modules are loaded before any boot hooks are
|
||||||
|
# run. Advanced users may wish to specify all system modules
|
||||||
|
# in this array. For instance:
|
||||||
|
# MODULES=(usbhid xhci_hcd)
|
||||||
|
MODULES=()
|
||||||
|
|
||||||
|
# BINARIES
|
||||||
|
# This setting includes any additional binaries a given user may
|
||||||
|
# wish into the CPIO image. This is run last, so it may be used to
|
||||||
|
# override the actual binaries included by a given hook
|
||||||
|
# BINARIES are dependency parsed, so you may safely ignore libraries
|
||||||
|
BINARIES=(setfont)
|
||||||
|
|
||||||
|
# FILES
|
||||||
|
# This setting is similar to BINARIES above, however, files are added
|
||||||
|
# as-is and are not parsed in any way. This is useful for config files.
|
||||||
|
FILES=()
|
||||||
|
|
||||||
|
# HOOKS
|
||||||
|
# This is the most important setting in this file. The HOOKS control the
|
||||||
|
# modules and scripts added to the image, and what happens at boot time.
|
||||||
|
# Order is important, and it is recommended that you do not change the
|
||||||
|
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
|
||||||
|
# help on a given hook.
|
||||||
|
# 'base' is _required_ unless you know precisely what you are doing.
|
||||||
|
# 'udev' is _required_ in order to automatically load modules
|
||||||
|
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
|
||||||
|
# Examples:
|
||||||
|
## This setup specifies all modules in the MODULES setting above.
|
||||||
|
## No RAID, lvm2, or encrypted root is needed.
|
||||||
|
# HOOKS=(base)
|
||||||
|
#
|
||||||
|
## This setup will autodetect all modules for your system and should
|
||||||
|
## work as a sane default
|
||||||
|
# HOOKS=(base udev autodetect modconf block filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup will generate a 'full' image which supports most systems.
|
||||||
|
## No autodetection is done.
|
||||||
|
# HOOKS=(base udev modconf block filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup assembles a mdadm array with an encrypted root file system.
|
||||||
|
## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
|
||||||
|
# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup loads an lvm2 volume group.
|
||||||
|
# HOOKS=(base udev modconf block lvm2 filesystems fsck)
|
||||||
|
#
|
||||||
|
## NOTE: If you have /usr on a separate partition, you MUST include the
|
||||||
|
# usr and fsck hooks.
|
||||||
|
HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard)
|
||||||
|
|
||||||
|
# COMPRESSION
|
||||||
|
# Use this to compress the initramfs image. By default, zstd compression
|
||||||
|
# is used. Use 'cat' to create an uncompressed image.
|
||||||
|
COMPRESSION="zstd"
|
||||||
|
#COMPRESSION="gzip"
|
||||||
|
#COMPRESSION="bzip2"
|
||||||
|
#COMPRESSION="lzma"
|
||||||
|
#COMPRESSION="xz"
|
||||||
|
#COMPRESSION="lzop"
|
||||||
|
#COMPRESSION="lz4"
|
||||||
|
|
||||||
|
# COMPRESSION_OPTIONS
|
||||||
|
# Additional options for the compressor
|
||||||
|
#COMPRESSION_OPTIONS=()
|
||||||
|
|
||||||
|
# MODULES_DECOMPRESS
|
||||||
|
# Decompress kernel modules during initramfs creation.
|
||||||
|
# Enable to speedup boot process, disable to save RAM
|
||||||
|
# during early userspace. Switch (yes/no).
|
||||||
|
#MODULES_DECOMPRESS="yes"
|
|
@ -1,2 +0,0 @@
|
||||||
HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard)
|
|
||||||
COMPRESSION="xz"
|
|
|
@ -1,9 +1,5 @@
|
||||||
# mkinitcpio preset file for the 'linux' package on archiso
|
# mkinitcpio preset file for the 'linux' package on archiso
|
||||||
|
|
||||||
PRESETS=('archiso')
|
PRESETS=('archiso')
|
||||||
|
|
||||||
ALL_kver='/boot/vmlinuz-linux'
|
ALL_kver='/boot/vmlinuz-linux'
|
||||||
archiso_config='/etc/mkinitcpio.conf.d/archiso.conf'
|
archiso_config='/etc/mkinitcpio.conf'
|
||||||
|
|
||||||
archiso_image="/boot/initramfs-linux.img"
|
archiso_image="/boot/initramfs-linux.img"
|
||||||
|
|
||||||
|
|
7
iso/airootfs/etc/mkinitcpio.d/parchlinux
Normal file
7
iso/airootfs/etc/mkinitcpio.d/parchlinux
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# mkinitcpio preset file for the kernel
|
||||||
|
ALL_kver='/boot/vmlinuz-linux'
|
||||||
|
#PRESETS=('default' 'fallback')
|
||||||
|
PRESETS=('default')
|
||||||
|
default_image="/boot/initramfs-linux.img"
|
||||||
|
#fallback_image="/boot/initramfs-linux-fallback.img"
|
||||||
|
#fallback_options="-S autodetect"
|
|
@ -31,7 +31,6 @@ f2fs-tools
|
||||||
fatresize
|
fatresize
|
||||||
fsarchiver
|
fsarchiver
|
||||||
git
|
git
|
||||||
gnu-netcat
|
|
||||||
gpart
|
gpart
|
||||||
gpm
|
gpm
|
||||||
gptfdisk
|
gptfdisk
|
||||||
|
@ -93,8 +92,6 @@ python
|
||||||
python-psutil
|
python-psutil
|
||||||
python-systemd
|
python-systemd
|
||||||
refind
|
refind
|
||||||
#reflector
|
|
||||||
reiserfsprogs
|
|
||||||
rp-pppoe
|
rp-pppoe
|
||||||
rsync
|
rsync
|
||||||
rxvt-unicode-terminfo
|
rxvt-unicode-terminfo
|
||||||
|
@ -136,18 +133,22 @@ openssl
|
||||||
gvfs
|
gvfs
|
||||||
gvfs-mtp
|
gvfs-mtp
|
||||||
networkmanager
|
networkmanager
|
||||||
android-file-transfer
|
|
||||||
boost
|
boost
|
||||||
sddm
|
sddm
|
||||||
|
|
||||||
#Desktop
|
#Desktop
|
||||||
cosmic-epoch-git
|
cosmic
|
||||||
|
|
||||||
|
#Essential Apps
|
||||||
|
nheko
|
||||||
|
firefox
|
||||||
|
|
||||||
#systemutils
|
#systemutils
|
||||||
btop
|
btop
|
||||||
xdg-user-dirs
|
xdg-user-dirs
|
||||||
neofetch-git
|
neofetch-git
|
||||||
fastfetch
|
fastfetch
|
||||||
|
kernel-install-mkinitcpio
|
||||||
|
|
||||||
#ParchLinux Core Packages
|
#ParchLinux Core Packages
|
||||||
parch-welcome
|
parch-welcome
|
||||||
|
@ -156,6 +157,6 @@ calamares
|
||||||
os-prober
|
os-prober
|
||||||
paru
|
paru
|
||||||
parch-emoji-ios
|
parch-emoji-ios
|
||||||
vazirmatn-fonts
|
ttf-vazirmatn
|
||||||
parch-branding
|
parch-branding
|
||||||
parch-pacman
|
parch-pacman-systemd
|
||||||
|
|
|
@ -38,7 +38,7 @@ CheckSpace
|
||||||
|
|
||||||
# By default, pacman accepts packages signed by keys that its local keyring
|
# 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.
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
SigLevel = Required DatabaseOptional
|
SigLevel = Never
|
||||||
LocalFileSigLevel = Optional
|
LocalFileSigLevel = Optional
|
||||||
#RemoteFileSigLevel = Required
|
#RemoteFileSigLevel = Required
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ LocalFileSigLevel = Optional
|
||||||
|
|
||||||
[ppr]
|
[ppr]
|
||||||
SigLevel = Optional TrustedOnly
|
SigLevel = Optional TrustedOnly
|
||||||
Server = https://raw.githubusercontent.com/parchlinux/ppr/main/x86_64/
|
Server = https://git.parchlinux.com/repo/ppr/-/raw/main/x86_64/
|
||||||
|
|
||||||
[core]
|
[core]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
@ -96,11 +96,9 @@ Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
[pcp]
|
[pcp]
|
||||||
SigLevel = Optional TrustedOnly
|
SigLevel = Optional TrustedOnly
|
||||||
Server = https://raw.githubusercontent.com/parchlinux/pcp/main/x86_64/
|
Server = https://git.parchlinux.com/repo/pcp/-/raw/main/x86_64/
|
||||||
|
|
||||||
|
|
||||||
[chaotic-aur]
|
|
||||||
SigLevel = Never
|
|
||||||
Server = https://geo-mirror.chaotic.cx/$repo/$arch
|
|
||||||
# An example of a custom package repository. See the pacman manpage for
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
# tips on creating your own repositories.
|
# tips on creating your own repositories.
|
||||||
#[custom]
|
#[custom]
|
||||||
|
|
Loading…
Add table
Reference in a new issue