Compare commits

..

10 Commits

Author SHA1 Message Date
6721a997bd Merge pull request 's6: use s6-rc-bundle-update to add services' (#40) from Dudemanguy/artools:master into master
Reviewed-on: #40
2020-11-29 19:31:46 +01:00
6da82fb56b s6: use s6-rc-bundle-update to add services
The s6 part of the buildiso script was originally added before the
s6-rc-bundle-update script was written which allows adding/removing
services from bundles on the fly. The s6/s6-rc/s6-linux-init backend is
being changed to always have the "default" runlevel defined so this
change in the buildiso script is necessary. The previous way of calling
s6-rc-bundle at the end of the loop will fail because the bundle will
already exist. Instead, we need to use the s6-rc-bundle-update script.
2020-11-29 12:15:31 -06:00
07ad0ef44a commitpkg: fix conditional (#39)
commitpkg: quote vars

commitpkg, support switching rebuild/stable both ways

commitpkg: fix conditional

Reviewed-on: #39
2020-11-24 17:30:09 +01:00
6e5e89f164 commitpk: cover case if rebuild changes to staging on possible update 2020-11-23 11:31:20 +01:00
6494c1f787 split out repo defs (#38)
comparepkg: revert display name manipulation and show rebuild

valid-names: fix order

valid-names: use array data

split out repo defs

Reviewed-on: #38
2020-11-23 00:55:25 +01:00
5d7abf194a rebuilds (#37)
use file based repo definitions

comparepkg: use case statement

comparepkg: support rebuild dir

add support for rebuild dir

Reviewed-on: #37
2020-11-22 20:32:47 +01:00
12fb8aa279 batchpkg: add missing -u flag 2020-11-09 16:42:15 +01:00
d5e3d86210 add qt6 support 2020-10-18 17:38:17 +02:00
bfb20645c6 batchpkg: add update option 2020-10-07 22:05:50 +02:00
0b2973e802 batchpkg: add create option 2020-10-06 20:57:08 +02:00
9 changed files with 146 additions and 45 deletions

View File

@@ -1,4 +1,4 @@
VERSION=0.20 VERSION=0.21
CHROOT_VERSION=0.10 CHROOT_VERSION=0.10
@@ -59,7 +59,8 @@ LN_COMMITPKG = \
multilib-testingpkg \ multilib-testingpkg \
multilib-stagingpkg \ multilib-stagingpkg \
kde-unstablepkg \ kde-unstablepkg \
gnome-unstablepkg gnome-unstablepkg \
rebuildpkg
LN_BUILDPKG = \ LN_BUILDPKG = \
buildpkg-system \ buildpkg-system \
@@ -95,7 +96,8 @@ PKG_LIBS = \
PKG_UTIL = lib/util-pkg.sh PKG_UTIL = lib/util-pkg.sh
PKG_DATA = \ PKG_DATA = \
data/pacman/makepkg.conf data/pacman/makepkg.conf \
data/valid-names.conf
PATCHES = \ PATCHES = \
$(wildcard data/patches/*.patch) $(wildcard data/patches/*.patch)

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (C) 2018-19 artoo@artixlinux.org # Copyright (C) 2018-20 artoo@artixlinux.org
# Copyright (C) 2018 Artix Linux Developers # Copyright (C) 2018 Artix Linux Developers
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@@ -33,34 +33,66 @@ batch_move() {
done < $pkglist done < $pkglist
} }
# batch_upgrade() { batch_create() {
# local pkglist=${TREE_DIR_ARTIX}/pkg_upgrades.list local name="${1:-pkg_create}"
# [[ -f $pkglist ]] || die "%s does not exist!" "$pkglist" local pkglist=${TREE_DIR_ARTIX}/$name.list
# while read entry;do [[ -f $pkglist ]] || die "%s does not exist!" "$pkglist"
# local pkg=${entry#*:} while read entry;do
# local dest=${entry%:*} local pkg=${entry##*:}
# echo "buildtree -i -p ${pkg}" local group=${entry%:*}
# echo "${dest}pkg -u -p ${pkg}" group=${group#*:}
# done < $pkglist local team=${entry%%:*}
# } if ${runlist}; then
buildtree -n -p "${pkg}" -t "${team}" -g "${group}"
buildtree -i -p "${pkg}"
commitpkg -p "${pkg}"
else
msg "%s" "buildtree -n -p ${pkg} -t ${team} -g ${group}"
msg2 "%s" "buildtree -i -p ${pkg}"
msg2 "%s" "commitpkg -p ${pkg}"
fi
done < $pkglist
}
batch_update() {
local name="${1:-pkg_upgrades}"
local pkglist=${TREE_DIR_ARTIX}/$name.list
[[ -f $pkglist ]] || die "%s does not exist!" "$pkglist"
while read entry;do
local pkg=${entry#*:}
local dest=${entry%:*}
if ${runlist}; then
buildtree -i -p "${pkg}"
"${dest}"pkg -u -p "${pkg}"
else
msg "buildtree -i -p ${pkg}"
msg2 "${dest}pkg -u -p ${pkg}"
fi
done < $pkglist
}
usage() { usage() {
echo "Usage: ${0##*/} [optional listname]" echo "Usage: ${0##*/} [optional listname]"
echo ' -r Run generated commands' echo ' -r Run generated commands'
echo ' -c Create subrepos from list'
echo ' -u Update subrepos from list'
echo ' -h This help' echo ' -h This help'
echo '' echo ''
echo '' echo ''
exit $1 exit $1
} }
movelistname=pkg_moves
runlist=false runlist=false
create=false
update=false
opts='rh' opts='rcuh'
while getopts "${opts}" arg; do while getopts "${opts}" arg; do
case "${arg}" in case "${arg}" in
r) runlist=true ;; r) runlist=true ;;
c) create=true ;;
u) update=true ;;
h|?) usage 0 ;; h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;; *) echo "invalid argument '${arg}'"; usage 1 ;;
esac esac
@@ -68,6 +100,12 @@ done
shift $(($OPTIND - 1)) shift $(($OPTIND - 1))
movelistname="$1"; shift listname="$1"; shift
batch_move "$movelistname" if ${create};then
batch_create "${listname}"
elif ${update};then
batch_update "${listname}"
else
batch_move "${listname}"
fi

View File

@@ -24,8 +24,8 @@ prepare_commit(){
for r in $(ls repos); do for r in $(ls repos); do
mkdir "$CARCH/${r%-*}" mkdir "$CARCH/${r%-*}"
cp repos/${r}/* $CARCH/${r%-*}/ cp repos/"${r}"/* "$CARCH/${r%-*}/"
git add $CARCH/${r%-*} git add "$CARCH/${r%-*}"
done done
git rm -r repos git rm -r repos
@@ -40,6 +40,16 @@ prepare_commit(){
fi fi
} }
check_rebuild(){
if [[ -d "$CARCH"/rebuild ]] && [[ "${REPO_DEST}" == 'staging' ]]; then
git rm -r "$CARCH"/rebuild
git commit -m "switch from rebuild to staging"
elif [[ -d "$CARCH"/staging ]] && [[ "${REPO_DEST}" == 'rebuild' ]]; then
git rm -r "$CARCH"/staging
git commit -m "switch from staging to rebuild"
fi
}
check_team(){ check_team(){
if [[ "${REPO_SRC}" == "core" && "${REPO_DEST}" == "extra" ]] || \ if [[ "${REPO_SRC}" == "core" && "${REPO_DEST}" == "extra" ]] || \
[[ "${REPO_SRC}" == "extra" && "${REPO_DEST}" == "core" ]] || \ [[ "${REPO_SRC}" == "extra" && "${REPO_DEST}" == "core" ]] || \
@@ -88,7 +98,10 @@ commit_pkg() {
repo_commit_pkg() { repo_commit_pkg() {
if [[ "${REPO_SRC}" == 'trunk' ]];then if [[ "${REPO_SRC}" == 'trunk' ]];then
action='add' action='add'
prepare_commit prepare_commit
check_rebuild
cp trunk/* "$CARCH/${REPO_DEST}"/ cp trunk/* "$CARCH/${REPO_DEST}"/
else else
action='move' action='move'
@@ -141,10 +154,15 @@ run(){
} }
is_valid_repo(){ is_valid_repo(){
case "${REPO_SRC}" in . "${DATADIR}"/valid-names.conf
core|extra|community|multilib|testing|community-testing|multilib-testing|staging|community-staging|multilib-staging|gnome-unstable|kde-unstable|trunk) return 0 ;; local _valid=trunk
for repo in ${valid_names[@]}; do
_valid=${repo:-}${repo:+|}$_valid
done
eval "case ${REPO_SRC} in
${_valid}) return 0 ;;
*) return 1 ;; *) return 1 ;;
esac esac"
} }
load_makepkg_config load_makepkg_config

View File

@@ -27,17 +27,18 @@ get_import_path(){
compare_m(){ compare_m(){
local result=$(vercmp "$artixver" "$archver") local result=$(vercmp "$artixver" "$archver")
if [[ $artixrepo == *testing* ]] || [[ $artixrepo == *staging* ]]; then case ${artixrepo} in
if [[ "${a}" == "${b}" ]]; then *testing*|*staging*|*rebuild)
msg_row "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" if [[ "${a}" == "${b}" ]] || [[ "${a}" == 'staging' && "${b}" == 'rebuild' ]]; then
else msg_row "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
msg_row_notify "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" else
if [[ -n "$archrepo" ]]; then msg_row_notify "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
printf "%s\n" "${a}:${b}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_moves.list if [[ -n "$archrepo" ]]; then
printf "%s\n" "${a}:${b}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_moves.list
fi
fi fi
fi ;;
esac
fi
} }
compare_u(){ compare_u(){
@@ -65,7 +66,7 @@ pre_compare(){
local artixrepo=$(find_repo "$pkgpath") local artixrepo=$(find_repo "$pkgpath")
local pkgbuild=$pkgpath/$artixrepo/PKGBUILD local pkgbuild=$pkgpath/$artixrepo/PKGBUILD
if [[ -f $pkgbuild ]];then if [[ -f $pkgbuild ]]; then
. $pkgbuild 2>/dev/null . $pkgbuild 2>/dev/null
local artixver=$(get_full_version) local artixver=$(get_full_version)
@@ -78,7 +79,7 @@ pre_compare(){
[[ "$node" != "$CARCH" ]] && b=${b%-*} [[ "$node" != "$CARCH" ]] && b=${b%-*}
if [[ -f "$pkgbuild" ]];then if [[ -f "$pkgbuild" ]]; then
. $pkgbuild 2>/dev/null . $pkgbuild 2>/dev/null
local archver=$(get_full_version) local archver=$(get_full_version)
fi fi
@@ -106,7 +107,7 @@ compare_move(){
tree_loop(){ tree_loop(){
local func="$1" local func="$1"
for tree in ${ARTIX_TREE[@]};do for tree in ${ARTIX_TREE[@]}; do
local pkgs=$(find ${TREE_DIR_ARTIX}/$tree -name trunk) local pkgs=$(find ${TREE_DIR_ARTIX}/$tree -name trunk)
for package in ${pkgs[@]}; do for package in ${pkgs[@]}; do
"$func" "$package" "$func" "$package"
@@ -191,7 +192,7 @@ check_db(){
local artixver=$(get_full_version) local 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 "${tableU}" "$repo" "$name" "$artixver" "false" msg_row "${tableU}" "$repo" "$name" "$artixver" "false"
fi fi

View File

@@ -30,6 +30,7 @@
# packages-wm # packages-wm
# packages-devel # packages-devel
# packages-lib32 # packages-lib32
# packages-qt6
# ) # )
# HOST_TREE_ARCH=git://git.archlinux.org/svntogit # HOST_TREE_ARCH=git://git.archlinux.org/svntogit

40
data/valid-names.conf Normal file
View File

@@ -0,0 +1,40 @@
valid_names=(
core
extra
community
multilib
testing
community-testing
multilib-testing
staging
community-staging
multilib-staging
rebuild
gnome-unstable
kde-unstable
)
stable=(
${valid_names[0]}
${valid_names[1]}
${valid_names[2]}
${valid_names[3]}
)
gremlins=(
${valid_names[4]}
${valid_names[5]}
${valid_names[6]}
)
goblins=(
${valid_names[7]}
${valid_names[8]}
${valid_names[9]}
${valid_names[10]}
)
unstable=(
${valid_names[11]}
${valid_names[12]}
)

View File

@@ -34,16 +34,15 @@ add_svc_runit(){
} }
add_svc_s6(){ add_svc_s6(){
local mnt="$1" names="$2" valid="" rlvl="${3:-default}" local mnt="$1" names="$2" rlvl="${3:-default}"
for svc in $names; do for svc in $names; do
error=false error=false
chroot $mnt s6-rc-db -c /etc/s6/rc/compiled type $svc &> /dev/null || error=true chroot $mnt s6-rc-db -c /etc/s6/rc/compiled type $svc &> /dev/null || error=true
if [ $? == 0 ] && [[ $error == false ]]; then if [ $? == 0 ] && [[ $error == false ]]; then
msg2 "Setting %s ..." "$svc" msg2 "Setting %s ..." "$svc"
valid=${valid:-}${valid:+' '}${svc} chroot $mnt s6-rc-bundle-update -c /etc/s6/rc/compiled add $rlvl $svc
fi fi
done done
chroot $mnt s6-rc-bundle -c /etc/s6/rc/compiled add $rlvl $valid
# rebuild s6-linux-init binaries # rebuild s6-linux-init binaries
chroot $mnt rm -r /etc/s6/current chroot $mnt rm -r /etc/s6/current

View File

@@ -25,11 +25,13 @@ get_compliant_name(){
set_arch_repos(){ set_arch_repos(){
local x="$1" y="$2" z="$3" local x="$1" y="$2" z="$3"
ARCH_REPOS=(core extra community multilib) . "${DATADIR}"/valid-names.conf
$x && ARCH_REPOS+=(testing community-testing multilib-testing) ARCH_REPOS=(${stable[@]})
$y && ARCH_REPOS+=(staging community-staging multilib-staging)
$z && ARCH_REPOS+=(gnome-unstable kde-unstable) $x && ARCH_REPOS+=(${gremlins[@]})
$y && ARCH_REPOS+=(${goblins[@]})
$z && ARCH_REPOS+=(${unstable[@]})
} }
find_repo(){ find_repo(){

View File

@@ -46,7 +46,7 @@ load_pkg_config(){
local init_tree=(packages-{openrc,runit,s6}) local init_tree=(packages-{openrc,runit,s6})
local desktop_tree=( local desktop_tree=(
packages-{kf5,plasma,kde} packages-{kf5,plasma,kde,qt6}
packages-{lxqt,gnome,cinnamon,mate,xfce,wm} packages-{lxqt,gnome,cinnamon,mate,xfce,wm}
) )