Compare commits

...

12 Commits
0.20 ... 0.21

Author SHA1 Message Date
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
887a587954 buildtree (#36)
reorder repos

shorten repo defaults

rename var

always enable essential repos
2020-09-20 10:25:19 +02:00
59c664fb30 update TREE_NAMES_ARTIX 2020-09-19 21:41:39 +02:00
75a9c79c72 add new repos support 2020-09-14 11:05:37 +02:00
00821f6e26 data: rm arch repos from pacman.conf 2020-09-04 00:38:20 +02:00
18 changed files with 176 additions and 379 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

@@ -55,7 +55,7 @@ patch_pkg(){
pull_tree_arch(){
cd ${TREE_DIR_ARCH}
for tree in ${TREE_NAMES_ARCH[@]};do
for tree in ${ARCH_TREE[@]};do
if [[ -d ${tree} ]];then
cd ${tree}
pull_tree "${tree}" "$(get_local_head)" "Arch"
@@ -176,7 +176,7 @@ sync_repos(){
if ${sync_group}; then
pull_tree_artix "${GROUP}"
else
pull_tree_artix "${TREE_NAMES_ARTIX[*]}"
pull_tree_artix "${ARTIX_TREE[*]}"
fi
fi
}
@@ -199,7 +199,7 @@ check=false
PACKAGE=''
TEAM='community'
GROUP=${TREE_NAMES_ARTIX[0]}
GROUP=${ARTIX_TREE[0]}
usage() {
echo "Usage: ${0##*/} [options]"

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

@@ -19,7 +19,7 @@ prepare_artools
get_import_path(){
local pkg="$1" import_path=
for tree in ${TREE_NAMES_ARCH[@]};do
for tree in ${ARCH_TREE[@]};do
[[ -d ${TREE_DIR_ARCH}/$tree/$pkg/repos ]] && import_path=${TREE_DIR_ARCH}/$tree/$pkg
done
echo $import_path
@@ -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 ${TREE_NAMES_ARTIX[@]};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

@@ -9,32 +9,28 @@
# TREE_DIR_ARTIX=${WORKSPACE_DIR}/artixlinux
# customize buildtree, packages and community should be enabled
# customize buildtree; uncomment to include
# TREE_NAMES_ARTIX=(
# packages
# community
# packages-kernel
# packages-net
# packages-gfx
# packages-openrc
# packages-runit
# packages-s6
# packages-media
# packages-xorg
# packages-python
# packages-perl
# packages-java
# packages-qt5
# packages-devel
# packages-ruby
# packages-gtk
# packages-kf5
# packages-plasma
# packages-kde
# packages-gnome
# packages-cinnamon
# packages-lxqt
# packages-mate
# packages-kde
# packages-xfce
# packages-wm
# packages-devel
# packages-lib32
# packages-qt6
# )
# HOST_TREE_ARCH=git://git.archlinux.org/svntogit

View File

@@ -97,25 +97,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
#[community-testing]
#Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -109,37 +109,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[gnome-unstable]
#Include = /etc/pacman.d/mirrorlist-arch
#[staging]
#Include = /etc/pacman.d/mirrorlist-arch
#[testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
[community-staging]
Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
#[multilib-staging]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -106,34 +106,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[staging]
#Include = /etc/pacman.d/mirrorlist-arch
#[testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
[community-staging]
Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
#[multilib-staging]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -97,25 +97,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -109,37 +109,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[kde-unstable]
#Include = /etc/pacman.d/mirrorlist-arch
#[staging]
#Include = /etc/pacman.d/mirrorlist-arch
#[testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
[community-staging]
Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
#[multilib-staging]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -106,34 +106,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[staging]
#Include = /etc/pacman.d/mirrorlist-arch
#[testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
[community-staging]
Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
[multilib-staging]
Include = /etc/pacman.d/mirrorlist-arch
[multilib-testing]
Include = /etc/pacman.d/mirrorlist-arch
[multilib]
Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -97,25 +97,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
[multilib-testing]
Include = /etc/pacman.d/mirrorlist-arch
[multilib]
Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -97,25 +97,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
#[community-testing]
#Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch
[multilib]
Include = /etc/pacman.d/mirrorlist-arch

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

@@ -103,83 +103,3 @@ config_tree(){
fi
cd ..
}
# write_gitignore() {
# local pkg="$1"
# local gitignore=$pkg/.gitignore
# echo '# ---> ArchLinuxPackages' > $gitignore
# echo '*.tar' >> $gitignore
# echo '*.tar.*' >> $gitignore
# echo '*.jar' >> $gitignore
# echo '*.exe' >> $gitignore
# echo '*.msi' >> $gitignore
# echo '*.zip' >> $gitignore
# echo '*.tgz' >> $gitignore
# echo '*.log' >> $gitignore
# echo '*.log.*' >> $gitignore
# echo '*.sig' >> $gitignore
# echo '' >> $gitignore
# echo 'pkg/' >> $gitignore
# echo 'src/' >> $gitignore
# echo '' >> $gitignore
# echo '# ---> Archives' >> $gitignore
# echo '*.7z' >> $gitignore
# echo '*.rar' >> $gitignore
# echo '*.gz' >> $gitignore
# echo '*.bzip' >> $gitignore
# echo '*.bz2' >> $gitignore
# echo '*.xz' >> $gitignore
# echo '*.lzma' >> $gitignore
# echo '*.cab' >> $gitignore
# echo '' >> $gitignore
# echo '# ---> systemd' >> $gitignore
# echo '*.service' >> $gitignore
# echo '*.socket' >> $gitignore
# echo '*.timer' >> $gitignore
# echo '' >> $gitignore
# echo '# ---> snap' >> $gitignore
# echo '*.snap' >> $gitignore
# echo '' >> $gitignore
#
# git add $gitignore
# }
#
# write_readme(){
# local pkg="$1"
# local readme=$pkg/README.md
#
# echo "# $pkg" > $readme
# echo '' >> $readme
#
# git add $readme
# }
#
# subrepo_new2(){
# local group="${1:-$GROUP}" team="${2:-$TEAM}"
# local dest=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk
#
# cd ${TREE_DIR_ARTIX}/$group
#
# local org=$(get_pkg_org "${PACKAGE}")
#
# prepare_dir "$dest"
#
# subrepo_init "${PACKAGE}" "$org"
#
# commit_jenkins_files2 "${PACKAGE}"
#
# subrepo_push "${PACKAGE}"
#
# add_repo_to_team "${PACKAGE}" "$org" "$team"
# }
#
# commit_jenkins_files2(){
# local pkg="$1"
#
# write_jenkinsfile "$pkg"
# write_agentyaml "$pkg"
# write_readme "$pkg"
# write_gitignore "$pkg"
#
# git commit -m "initial commit"
# }

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

@@ -36,39 +36,37 @@ load_pkg_config(){
TREE_DIR_ARTIX=${TREE_DIR_ARTIX:-"${WORKSPACE_DIR}/artixlinux"}
ARTIX_TREE=(
packages community
packages-{gfx,gtk,media,net,qt5,xorg}
)
local dev_tree=(packages-{python,perl,java,ruby})
local init_tree=(packages-{openrc,runit,s6})
local desktop_tree=(
packages-{kf5,plasma,kde,qt6}
packages-{lxqt,gnome,cinnamon,mate,xfce,wm}
)
[[ -z ${TREE_NAMES_ARTIX[@]} ]] && \
TREE_NAMES_ARTIX=(
packages
community
packages-kernel
packages-net
packages-gfx
packages-openrc
packages-runit
packages-s6
packages-xorg
packages-python
packages-perl
packages-java
packages-qt5
packages-devel
packages-ruby
packages-gtk
packages-gnome
packages-cinnamon
packages-lxqt
packages-mate
packages-kde
packages-xfce
packages-wm
# packages-haskell
packages-kernel
"${init_tree[@]}"
"${dev_tree[@]}"
"${desktop_tree[@]}"
packages-devel
packages-lib32
)
ARTIX_TREE+=("${TREE_NAMES_ARTIX[@]}")
HOST_TREE_ARTIX=${HOST_TREE_ARTIX:-"gitea@${GIT_DOMAIN}:artixlinux"}
TREE_DIR_ARCH=${TREE_DIR_ARCH:-"${WORKSPACE_DIR}/archlinux"}
TREE_NAMES_ARCH=(packages community)
ARCH_TREE=(packages community)
HOST_TREE_ARCH=${HOST_TREE_ARCH:-'git://git.archlinux.org/svntogit'}