forked from artix/artools
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
fade611ae7 | |||
8cdb68ce6a
|
|||
7d949afeb7 | |||
6f037f6faf | |||
ba1e6644ea |
9
Makefile
9
Makefile
@@ -1,4 +1,4 @@
|
|||||||
VERSION=0.24
|
V=0.26
|
||||||
|
|
||||||
TOOLS = artools
|
TOOLS = artools
|
||||||
PREFIX ?= /usr
|
PREFIX ?= /usr
|
||||||
@@ -22,6 +22,8 @@ BASE_DATA = \
|
|||||||
PKG_CONF = \
|
PKG_CONF = \
|
||||||
data/conf/artools-pkg.conf
|
data/conf/artools-pkg.conf
|
||||||
|
|
||||||
|
SETARCH_ALIASES = \
|
||||||
|
|
||||||
PKG_BIN = \
|
PKG_BIN = \
|
||||||
bin/pkg/buildpkg \
|
bin/pkg/buildpkg \
|
||||||
bin/pkg/deploypkg \
|
bin/pkg/deploypkg \
|
||||||
@@ -105,7 +107,7 @@ FILEMODE = -m0644
|
|||||||
MODE = -m0755
|
MODE = -m0755
|
||||||
LN = ln -sf
|
LN = ln -sf
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
M4 = m4 -P
|
M4 = m4 -P --define=m4_artools_pkg_version=$V
|
||||||
CHMODAW = chmod a-w
|
CHMODAW = chmod a-w
|
||||||
CHMODX = chmod +x
|
CHMODX = chmod +x
|
||||||
|
|
||||||
@@ -137,6 +139,9 @@ install_base:
|
|||||||
install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
|
install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
|
||||||
install $(FILEMODE) $(BASE_DATA) $(DESTDIR)$(DATADIR)/$(TOOLS)
|
install $(FILEMODE) $(BASE_DATA) $(DESTDIR)$(DATADIR)/$(TOOLS)
|
||||||
|
|
||||||
|
install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)/setarch-aliases.d
|
||||||
|
for a in ${SETARCH_ALIASES}; do install $(FILEMODE) setarch-aliases.d/$$a $(DESTDIR)$(DATADIR)/$(TOOLS)/setarch-aliases.d; done
|
||||||
|
|
||||||
install_pkg:
|
install_pkg:
|
||||||
install $(DIRMODE) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
|
install $(DIRMODE) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
|
||||||
install $(FILEMODE) $(PKG_CONF) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
|
install $(FILEMODE) $(PKG_CONF) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
|
||||||
|
@@ -168,7 +168,13 @@ eval "$(grep '^CARCH=' "$working_dir/etc/makepkg.conf")"
|
|||||||
|
|
||||||
[[ -z $nosetarch ]] || unset CARCH
|
[[ -z $nosetarch ]] || unset CARCH
|
||||||
|
|
||||||
${CARCH:+setarch "$CARCH"} chroot "${working_dir}" "$@"
|
if [[ -f "@datadir@/artools/setarch-aliases.d/${CARCH}" ]]; then
|
||||||
|
read -r set_arch < "@datadir@/artools/setarch-aliases.d/${CARCH}"
|
||||||
|
else
|
||||||
|
set_arch="${CARCH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
${CARCH:+setarch "${set_arch}"} chroot "${working_dir}" "$@"
|
||||||
|
|
||||||
ret=$?
|
ret=$?
|
||||||
|
|
||||||
|
@@ -72,6 +72,12 @@ get_pacman_conf "${repo}"
|
|||||||
|
|
||||||
get_makepkg_conf
|
get_makepkg_conf
|
||||||
|
|
||||||
|
if [[ -f "${DATADIR}/setarch-aliases.d/${arch}" ]]; then
|
||||||
|
read -r set_arch < "${DATADIR}/setarch-aliases.d/${arch}"
|
||||||
|
else
|
||||||
|
set_arch="${arch}"
|
||||||
|
fi
|
||||||
|
|
||||||
check_root SOURCE_DATE_EPOCH,SRCDEST,SRCPKGDEST,PKGDEST,LOGDEST,MAKEFLAGS,PACKAGER,GNUPGHOME
|
check_root SOURCE_DATE_EPOCH,SRCDEST,SRCPKGDEST,PKGDEST,LOGDEST,MAKEFLAGS,PACKAGER,GNUPGHOME
|
||||||
|
|
||||||
mkchrootpkg_args+=("${@:$OPTIND}")
|
mkchrootpkg_args+=("${@:$OPTIND}")
|
||||||
@@ -92,7 +98,7 @@ if ${create_first} || [[ ! -d "${chroots_pkg}/${repo}-${arch}" ]];then
|
|||||||
|
|
||||||
rm -rf --one-file-system "${chroots_pkg}/${repo}-${arch}"
|
rm -rf --one-file-system "${chroots_pkg}/${repo}-${arch}"
|
||||||
(umask 0022; mkdir -p "${chroots_pkg}/${repo}-${arch}")
|
(umask 0022; mkdir -p "${chroots_pkg}/${repo}-${arch}")
|
||||||
setarch "${arch}" mkchroot \
|
setarch "${set_arch}" mkchroot \
|
||||||
-C "${pacman_conf}" \
|
-C "${pacman_conf}" \
|
||||||
-M "${makepkg_conf}" \
|
-M "${makepkg_conf}" \
|
||||||
"${chroots_pkg}/${repo}-${arch}/root" \
|
"${chroots_pkg}/${repo}-${arch}/root" \
|
||||||
|
@@ -50,18 +50,23 @@ is_db_entry() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_db(){
|
check_db(){
|
||||||
local pkgpath="${1%/*}"
|
local pkgpath="${1}" oldpath="${1%/*}"/repos
|
||||||
|
|
||||||
for repo in "${!REPOS[@]}"; do
|
for repo in "${!REPOS[@]}"; do
|
||||||
local pkgbuild artixver
|
|
||||||
[[ -f $pkgpath/$CARCH/$repo/PKGBUILD ]] && pkgbuild=$pkgpath/$CARCH/$repo/PKGBUILD
|
|
||||||
[[ -f $pkgpath/repos/$repo-$CARCH/PKGBUILD ]] && pkgbuild=$pkgpath/repos/$repo-$CARCH/PKGBUILD
|
|
||||||
[[ -f $pkgpath/repos/$repo-any/PKGBUILD ]] && pkgbuild=$pkgpath/repos/$repo-any/PKGBUILD
|
|
||||||
|
|
||||||
|
local pkgbuild artixver
|
||||||
|
if [[ -f $pkgpath/$repo/PKGBUILD ]]; then
|
||||||
|
pkgbuild=$pkgpath/$repo/PKGBUILD
|
||||||
|
elif [[ -f $oldpath/$repo-$CARCH/PKGBUILD ]]; then
|
||||||
|
pkgbuild=$oldpath/$repo-$CARCH/PKGBUILD
|
||||||
|
elif [[ -f $oldpath/$repo-any/PKGBUILD ]]; then
|
||||||
|
pkgbuild=$oldpath/$repo-any/PKGBUILD
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "$pkgbuild" ]]; then
|
||||||
# shellcheck disable=1090
|
# shellcheck disable=1090
|
||||||
. "$pkgbuild" 2>/dev/null
|
. "$pkgbuild" 2>/dev/null
|
||||||
artixver=$(get_full_version)
|
artixver=$(get_full_version)
|
||||||
|
|
||||||
for name in "${pkgname[@]}"; do
|
for name in "${pkgname[@]}"; do
|
||||||
if ! is_db_entry "$name-$artixver" "$repo"; then
|
if ! is_db_entry "$name-$artixver" "$repo"; then
|
||||||
msg_row_red "${tableU}" "$repo" "$name" "$artixver" "false"
|
msg_row_red "${tableU}" "$repo" "$name" "$artixver" "false"
|
||||||
@@ -70,6 +75,7 @@ check_db(){
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
unset artixver pkgbuild pkgver epoch pkgname pkgbase
|
unset artixver pkgbuild pkgver epoch pkgname pkgbase
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -15,6 +15,9 @@
|
|||||||
m4_include(lib/base/message.sh)
|
m4_include(lib/base/message.sh)
|
||||||
m4_include(lib/base/chroot.sh)
|
m4_include(lib/base/chroot.sh)
|
||||||
|
|
||||||
|
export BUILDTOOL=artools-pkg
|
||||||
|
export BUILDTOOLVER=m4_artools_pkg_version
|
||||||
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
|
|
||||||
default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg)
|
default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg)
|
||||||
@@ -193,6 +196,8 @@ EOF
|
|||||||
printf '#!/bin/bash\n'
|
printf '#!/bin/bash\n'
|
||||||
declare -f _chrootbuild
|
declare -f _chrootbuild
|
||||||
declare -p SOURCE_DATE_EPOCH 2>/dev/null || true
|
declare -p SOURCE_DATE_EPOCH 2>/dev/null || true
|
||||||
|
declare -p BUILDTOOL 2>/dev/null
|
||||||
|
declare -p BUILDTOOLVER 2>/dev/null
|
||||||
printf '_chrootbuild "$@" || exit\n'
|
printf '_chrootbuild "$@" || exit\n'
|
||||||
|
|
||||||
if (( run_namcap )); then
|
if (( run_namcap )); then
|
||||||
@@ -218,7 +223,10 @@ _chrootbuild() {
|
|||||||
# use "$" in arguments to commands with "sudo -i". ${foo} or
|
# use "$" in arguments to commands with "sudo -i". ${foo} or
|
||||||
# ${1} is OK, but $foo or $1 isn't.
|
# ${1} is OK, but $foo or $1 isn't.
|
||||||
# https://bugzilla.sudo.ws/show_bug.cgi?id=765
|
# https://bugzilla.sudo.ws/show_bug.cgi?id=765
|
||||||
sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
|
sudo --preserve-env=SOURCE_DATE_EPOCH \
|
||||||
|
-preserve-env=BUILDTOOL \
|
||||||
|
--preserve-env=BUILDTOOLVER \
|
||||||
|
-iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
|
||||||
ret=$?
|
ret=$?
|
||||||
case $ret in
|
case $ret in
|
||||||
0|14)
|
0|14)
|
||||||
@@ -305,7 +313,7 @@ done
|
|||||||
[[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.'
|
[[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.'
|
||||||
makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}}
|
makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}}
|
||||||
|
|
||||||
check_root SOURCE_DATE_EPOCH,GNUPGHOME,SRCDEST,SRCPKGDEST,PKGDEST,LOGDEST,MAKEFLAGS,PACKAGER
|
check_root SOURCE_DATE_EPOCH,BUILDTOOL,BUILDTOOLVER,GNUPGHOME,SRCDEST,SRCPKGDEST,PKGDEST,LOGDEST,MAKEFLAGS,PACKAGER
|
||||||
|
|
||||||
# Canonicalize chrootdir, getting rid of trailing /
|
# Canonicalize chrootdir, getting rid of trailing /
|
||||||
chrootdir=$(readlink -e "$passeddir")
|
chrootdir=$(readlink -e "$passeddir")
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
# the dist release; default: auto
|
# the dist release; default: auto
|
||||||
# ISO_VERSION=$(date +%Y%m%d)
|
# ISO_VERSION=$(date +%Y%m%d)
|
||||||
|
|
||||||
# possible values: openrc, runit, s6, suite66
|
# possible values: openrc, runit, s6, suite66, dinit
|
||||||
# INITSYS="openrc"
|
# INITSYS="openrc"
|
||||||
|
|
||||||
# gpg key; leave empty or commented to skip img signing
|
# gpg key; leave empty or commented to skip img signing
|
||||||
|
@@ -36,6 +36,11 @@ write_services_suite66_conf(){
|
|||||||
write_services_conf 'svDir' '/etc/66/service' 'runsvDir' '/var/lib/66/system' > "$conf"
|
write_services_conf 'svDir' '/etc/66/service' 'runsvDir' '/var/lib/66/system' > "$conf"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
write_services_dinit_conf(){
|
||||||
|
local conf="$1"/services-dinit.conf
|
||||||
|
write_services_conf 'initdDir' '/etc/dinit.d' 'runsvDir' '/etc/dinit.d/boot.d' > "$conf"
|
||||||
|
}
|
||||||
|
|
||||||
configure_calamares(){
|
configure_calamares(){
|
||||||
local mods="$1/etc/calamares/modules"
|
local mods="$1/etc/calamares/modules"
|
||||||
if [[ -d "$mods" ]];then
|
if [[ -d "$mods" ]];then
|
||||||
|
@@ -10,7 +10,7 @@ prepare_initramfs_dracut(){
|
|||||||
printf "%s\n" 'add_dracutmodules+=" dmsquash-live"' > "$mnt"/etc/dracut.conf.d/50-live.conf
|
printf "%s\n" 'add_dracutmodules+=" dmsquash-live"' > "$mnt"/etc/dracut.conf.d/50-live.conf
|
||||||
|
|
||||||
msg "Starting build: %s" "${kver}"
|
msg "Starting build: %s" "${kver}"
|
||||||
artools-chroot "$mnt" dracut -fqM /boot/initramfs.img "$kver"
|
artix-chroot "$mnt" dracut -fqM /boot/initramfs.img "$kver"
|
||||||
msg "Image generation successful"
|
msg "Image generation successful"
|
||||||
|
|
||||||
cp "$mnt"/boot/initramfs.img "${iso_root}"/boot/initramfs-"${arch}".img
|
cp "$mnt"/boot/initramfs.img "${iso_root}"/boot/initramfs-"${arch}".img
|
||||||
|
@@ -40,7 +40,7 @@ prepare_initramfs_mkinitcpio() {
|
|||||||
export ARTIX_GNUPG_FD
|
export ARTIX_GNUPG_FD
|
||||||
fi
|
fi
|
||||||
|
|
||||||
artools-chroot "$mnt" mkinitcpio -k "$k" \
|
artix-chroot "$mnt" mkinitcpio -k "$k" \
|
||||||
-c /etc/"$mkinitcpio_conf" \
|
-c /etc/"$mkinitcpio_conf" \
|
||||||
-g /boot/initramfs.img
|
-g /boot/initramfs.img
|
||||||
|
|
||||||
|
@@ -53,4 +53,14 @@ add_svc_suite66(){
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
add_svc_dinit(){
|
||||||
|
local mnt="$1" names="$2"
|
||||||
|
for svc in $names; do
|
||||||
|
if [[ -d $mnt/etc/dinit.d/boot.d ]]; then
|
||||||
|
msg2 "Setting %s: [%s]" "${INITSYS}" "$svc"
|
||||||
|
chroot "$mnt" ln -s ../"$svc" /etc/dinit.d/boot.d/"$svc" &>/dev/null
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
#}}}
|
#}}}
|
||||||
|
@@ -31,7 +31,7 @@ load_pkg_config(){
|
|||||||
python-{world,galaxy}
|
python-{world,galaxy}
|
||||||
)
|
)
|
||||||
|
|
||||||
local init_tree=(packages-{openrc,runit,s6,suite66})
|
local init_tree=(packages-{openrc,runit,s6,suite66,dinit})
|
||||||
|
|
||||||
local desktop_tree=(
|
local desktop_tree=(
|
||||||
packages-{kf5,plasma,kde,qt6}
|
packages-{kf5,plasma,kde,qt6}
|
||||||
|
Reference in New Issue
Block a user