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
@@ -59,7 +59,8 @@ LN_COMMITPKG = \
multilib-testingpkg \
multilib-stagingpkg \
kde-unstablepkg \
gnome-unstablepkg
gnome-unstablepkg \
rebuildpkg
LN_BUILDPKG = \
buildpkg-system \
@@ -95,7 +96,8 @@ PKG_LIBS = \
PKG_UTIL = lib/util-pkg.sh
PKG_DATA = \
data/pacman/makepkg.conf
data/pacman/makepkg.conf \
data/valid-names.conf
PATCHES = \
$(wildcard data/patches/*.patch)

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (C) 2018-19 artoo@artixlinux.org
# Copyright (C) 2018-20 artoo@artixlinux.org
# Copyright (C) 2018 Artix Linux Developers
#
# This program is free software; you can redistribute it and/or modify
@@ -33,34 +33,66 @@ batch_move() {
done < $pkglist
}
# batch_upgrade() {
# local pkglist=${TREE_DIR_ARTIX}/pkg_upgrades.list
# [[ -f $pkglist ]] || die "%s does not exist!" "$pkglist"
# while read entry;do
# local pkg=${entry#*:}
# local dest=${entry%:*}
# echo "buildtree -i -p ${pkg}"
# echo "${dest}pkg -u -p ${pkg}"
# done < $pkglist
# }
batch_create() {
local name="${1:-pkg_create}"
local pkglist=${TREE_DIR_ARTIX}/$name.list
[[ -f $pkglist ]] || die "%s does not exist!" "$pkglist"
while read entry;do
local pkg=${entry##*:}
local group=${entry%:*}
group=${group#*:}
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() {
echo "Usage: ${0##*/} [optional listname]"
echo ' -r Run generated commands'
echo ' -c Create subrepos from list'
echo ' -u Update subrepos from list'
echo ' -h This help'
echo ''
echo ''
exit $1
}
movelistname=pkg_moves
runlist=false
create=false
update=false
opts='rh'
opts='rcuh'
while getopts "${opts}" arg; do
case "${arg}" in
r) runlist=true ;;
c) create=true ;;
u) update=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
esac
@@ -68,6 +100,12 @@ done
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
mkdir "$CARCH/${r%-*}"
cp repos/${r}/* $CARCH/${r%-*}/
git add $CARCH/${r%-*}
cp repos/"${r}"/* "$CARCH/${r%-*}/"
git add "$CARCH/${r%-*}"
done
git rm -r repos
@@ -40,6 +40,16 @@ prepare_commit(){
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(){
if [[ "${REPO_SRC}" == "core" && "${REPO_DEST}" == "extra" ]] || \
[[ "${REPO_SRC}" == "extra" && "${REPO_DEST}" == "core" ]] || \
@@ -88,7 +98,10 @@ commit_pkg() {
repo_commit_pkg() {
if [[ "${REPO_SRC}" == 'trunk' ]];then
action='add'
prepare_commit
check_rebuild
cp trunk/* "$CARCH/${REPO_DEST}"/
else
action='move'
@@ -141,10 +154,15 @@ run(){
}
is_valid_repo(){
case "${REPO_SRC}" in
core|extra|community|multilib|testing|community-testing|multilib-testing|staging|community-staging|multilib-staging|gnome-unstable|kde-unstable|trunk) return 0 ;;
. "${DATADIR}"/valid-names.conf
local _valid=trunk
for repo in ${valid_names[@]}; do
_valid=${repo:-}${repo:+|}$_valid
done
eval "case ${REPO_SRC} in
${_valid}) return 0 ;;
*) return 1 ;;
esac
esac"
}
load_makepkg_config

View File

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

View File

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

View File

@@ -25,11 +25,13 @@ get_compliant_name(){
set_arch_repos(){
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)
$y && ARCH_REPOS+=(staging community-staging multilib-staging)
$z && ARCH_REPOS+=(gnome-unstable kde-unstable)
ARCH_REPOS=(${stable[@]})
$x && ARCH_REPOS+=(${gremlins[@]})
$y && ARCH_REPOS+=(${goblins[@]})
$z && ARCH_REPOS+=(${unstable[@]})
}
find_repo(){

View File

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