Compare commits

..

2 Commits
0.21 ... 0.19

Author SHA1 Message Date
98ad5abd88 dpcker: upd pacman.conf 2020-06-08 02:15:45 +02:00
660a7025a7 add docker data 2020-06-08 02:10:01 +02:00
23 changed files with 658 additions and 365 deletions

View File

@@ -1,4 +1,4 @@
VERSION=0.21
VERSION=0.19
CHROOT_VERSION=0.10
@@ -59,8 +59,7 @@ LN_COMMITPKG = \
multilib-testingpkg \
multilib-stagingpkg \
kde-unstablepkg \
gnome-unstablepkg \
rebuildpkg
gnome-unstablepkg
LN_BUILDPKG = \
buildpkg-system \
@@ -96,8 +95,7 @@ PKG_LIBS = \
PKG_UTIL = lib/util-pkg.sh
PKG_DATA = \
data/pacman/makepkg.conf \
data/valid-names.conf
data/pacman/makepkg.conf
PATCHES = \
$(wildcard data/patches/*.patch)
@@ -118,6 +116,12 @@ ISO_LIBS = \
ISO_UTIL = lib/util-iso.sh
DOCKER_DATA = \
data/docker/pacman-docker.conf
DOCKER_ALPM = \
data/docker/package-cleanup.hook
DIRMODE = -dm0755
FILEMODE = -m0644
MODE = -m0755
@@ -155,6 +159,13 @@ $(BIN): %: %.in Makefile
clean:
$(RM) $(BIN) $(UTIL)
install_docker:
install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
install $(FILEMODE) $(DOCKER_DATA) $(DESTDIR)$(DATADIR)/$(TOOLS)
install $(DIRMODE) $(DESTDIR)$(DATADIR)/libalpm/hooks
install $(FILEMODE) $(DOCKER_ALPM) $(DESTDIR)$(DATADIR)/libalpm/hooks
install_base:
install $(DIRMODE) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
install $(FILEMODE) $(BASE_CONF) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (C) 2018-20 artoo@artixlinux.org
# Copyright (C) 2018-19 artoo@artixlinux.org
# Copyright (C) 2018 Artix Linux Developers
#
# This program is free software; you can redistribute it and/or modify
@@ -33,66 +33,34 @@ batch_move() {
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
}
# 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
# }
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='rcuh'
opts='rh'
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
@@ -100,12 +68,6 @@ done
shift $(($OPTIND - 1))
listname="$1"; shift
movelistname="$1"; shift
if ${create};then
batch_create "${listname}"
elif ${update};then
batch_update "${listname}"
else
batch_move "${listname}"
fi
batch_move "$movelistname"

View File

@@ -55,7 +55,7 @@ patch_pkg(){
pull_tree_arch(){
cd ${TREE_DIR_ARCH}
for tree in ${ARCH_TREE[@]};do
for tree in ${TREE_NAMES_ARCH[@]};do
if [[ -d ${tree} ]];then
cd ${tree}
pull_tree "${tree}" "$(get_local_head)" "Arch"
@@ -94,13 +94,15 @@ show_deps(){
. $src/PKGBUILD 2>/dev/null
[[ $arch == 'any' ]] && CARCH=any
local archver=$(get_full_version)
[[ -n ${pkgbase} ]] && msg2 "pkgbase: %s" "${pkgbase}"
msg2 "pkgname: %s" "${pkgname[*]}"
[[ -n $pkgdesc ]] && msg2 "pkgdesc: %s" "${pkgdesc}"
msg2 "Arch Version: %s" "$archver"
msg2 "arch: %s" "$arch"
msg2 "arch: %s" "$CARCH"
[[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
[[ -n ${checkdepends[@]} ]] && msg2 "checkdepends: %s" "${checkdepends[*]}"
@@ -131,9 +133,9 @@ from_arch(){
[[ -z $srcpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
local repo=$(find_repo "$srcpath")
msg "repo: %s" "${repo#*/}"
msg "repo: %s" "$repo"
local archpath=$srcpath/$repo
local archpath=$srcpath/repos/$repo
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
show_deps "$archpath"
@@ -154,8 +156,8 @@ view_build(){
local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}")
[[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
local repo=$(find_repo "${archpath}")
archpath=$archpath/$repo
msg "repo: %s" "${repo#*/}"
archpath=$archpath/repos/$repo
msg2 "repo: %s" "$repo"
show_deps "$archpath"
}
@@ -176,7 +178,7 @@ sync_repos(){
if ${sync_group}; then
pull_tree_artix "${GROUP}"
else
pull_tree_artix "${ARTIX_TREE[*]}"
pull_tree_artix "${TREE_NAMES_ARTIX[*]}"
fi
fi
}
@@ -199,7 +201,7 @@ check=false
PACKAGE=''
TEAM='community'
GROUP=${ARTIX_TREE[0]}
GROUP=${TREE_NAMES_ARTIX[0]}
usage() {
echo "Usage: ${0##*/} [options]"

View File

@@ -16,45 +16,31 @@
prepare_artools
prepare_commit(){
# create new layout, copy & remove repos
if [[ -d repos ]]; then
msg "Switching to new layout ..."
[[ ! -d "$CARCH" ]] && mkdir "$CARCH"
for r in $(ls repos); do
mkdir "$CARCH/${r%-*}"
cp repos/"${r}"/* "$CARCH/${r%-*}/"
git add "$CARCH/${r%-*}"
done
git rm -r repos
git commit -m "switch to new repo layout"
msg "Done switch"
fi
if [[ $action == 'add' ]] || [[ $action == 'move' ]] ;then
[[ -d "$CARCH/${REPO_DEST}" ]] && git rm -r "$CARCH/${REPO_DEST}"
[[ ! -d "$CARCH" ]] && mkdir "$CARCH"
[[ ! -d "$CARCH/${REPO_DEST}" ]] && mkdir "$CARCH/${REPO_DEST}"
get_path(){
local repo="$1" pkg=trunk/PKGBUILD
if [[ $repo != trunk ]]; then
[[ -f repos/$repo-${ARCH}/PKGBUILD ]] && pkg=repos/$repo-${ARCH}/PKGBUILD
[[ -f repos/$repo-any/PKGBUILD ]] && pkg=repos/$repo-any/PKGBUILD
fi
echo $pkg
}
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"
prepare_commit(){
local dest="$1" to_rm="${2:-none}"
if [[ -d repos/$to_rm ]]; then
git rm -r repos/$to_rm
git commit -m "change of package arch"
fi
[[ -d repos/$dest ]] && git rm -r repos/$dest
[[ ! -d repos ]] && mkdir repos
[[ ! -d repos/$dest ]] && mkdir repos/$dest
}
check_team(){
if [[ "${REPO_SRC}" == "core" && "${REPO_DEST}" == "extra" ]] || \
[[ "${REPO_SRC}" == "extra" && "${REPO_DEST}" == "core" ]] || \
[[ "${REPO_SRC}" == "extra" && "${REPO_DEST}" == "community" ]] || \
[[ "${REPO_SRC}" == "community" && "${REPO_DEST}" == "extra" ]] ;then
if [[ ${REPO_SRC} == "core" && ${REPO_DEST} == "extra" ]] || \
[[ ${REPO_SRC} == "extra" && ${REPO_DEST} == "core" ]] || \
[[ ${REPO_SRC} == "extra" && ${REPO_DEST} == "community" ]] || \
[[ ${REPO_SRC} == "community" && ${REPO_DEST} == "extra" ]] ;then
local org=$(get_pkg_org "${PACKAGE}")
add_repo_to_team "${PACKAGE}" "$org" "${REPO_DEST}"
@@ -62,83 +48,118 @@ check_team(){
fi
}
config() {
[[ "${REPO_SRC}" != 'trunk' ]] && pkgbuild="$CARCH/${REPO_SRC}"/PKGBUILD
if [[ ! -f "$pkgbuild" ]]; then
pkgbuild=repos/"${REPO_SRC}-${CARCH}"/PKGBUILD
[[ -f repos/"${REPO_SRC}"-any/PKGBUILD ]] && pkgbuild=repos/"${REPO_SRC}"-any/PKGBUILD
fi
}
commit_pkg() {
if ${remove};then
action='remove'
if [[ "${REPO_SRC}" == 'trunk' ]];then
local pkg=${PACKAGE}
git rm -r trunk
else
local pkg="${PACKAGE}-$(get_full_version)"
prepare_commit
git rm -r "$CARCH/${REPO_SRC}"
fi
local commit_msg="[${REPO_SRC}] '$pkg' ${action}"
msg "Action: %s" "$commit_msg"
else
action='modify'
local commit_msg="[${REPO_SRC}] '${PACKAGE}-$(get_full_version)' ${action}"
msg "Action: %s" "$commit_msg"
git add .
fi
git commit -m "$commit_msg"
}
repo_commit_pkg() {
if [[ "${REPO_SRC}" == 'trunk' ]];then
action='add'
prepare_commit
check_rebuild
cp trunk/* "$CARCH/${REPO_DEST}"/
else
action='move'
[[ ! -f $pkgbuild ]] && die "%s does not exist!" "$pkgbuild"
prepare_commit
cp "$CARCH/${REPO_SRC}"/* "$CARCH/${REPO_DEST}"/
git rm -r "$CARCH/${REPO_SRC}"
fi
local commit_msg="[${REPO_SRC}] -> [${REPO_DEST}] '${PACKAGE}-$(get_full_version)' ${action}"
msg "Action: %s" "$commit_msg"
git add .
git commit -m "$commit_msg"
}
run(){
commit_pkg(){
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
if [[ -n ${artixpath} ]];then
local group=${artixpath%/*}
cd ${group}
local head=$(get_local_head)
cd ${artixpath}
config
. $pkgbuild
if [[ "${cmd}" == 'commitpkg' ]];then
commit_pkg
local pkgbuild=$(get_path "${REPO_SRC}")
. $pkgbuild
[[ $arch == 'any' ]] && CARCH=any
local version=$(get_full_version)
local commit_msg=""
if ${remove};then
local action='remove'
if [[ "${REPO_SRC}" == 'trunk' ]];then
local pkg=${PACKAGE}
git rm -r trunk
else
local pkg="${PACKAGE}-$version"
git rm -r repos/"${REPO_SRC}-$CARCH"
fi
commit_msg="[${REPO_SRC}] '$pkg' ${action}"
msg "Action: %s" "$commit_msg"
else
repo_commit_pkg
local action='modify'
commit_msg="[${REPO_SRC}] '${PACKAGE}-$version' ${action}"
msg "Action: %s" "$commit_msg"
git add .
fi
git commit -m "$commit_msg"
cd ${group}
${push} && pull_tree "${group##*/}" "$head"
# subrepo_pull "${PACKAGE}"
subrepo_push "${PACKAGE}"
subrepo_clean "${PACKAGE}"
${push} && push_tree "${group##*/}"
git prune
else
error "Package '%s' does not exist!" "${PACKAGE}"
fi
}
get_rm_arch(){
local rm_arch='none'
case "$CARCH" in
'any') rm_arch="${REPO_DEST}-x86_64" ;;
'x86_64') rm_arch="${REPO_DEST}-any" ;;
esac
echo $rm_arch
}
repo_commit_pkg(){
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
if [[ -n ${artixpath} ]];then
local group=${artixpath%/*}
cd ${group}
local head=$(get_local_head)
cd ${artixpath}
local pkgbuild=$(get_path "${REPO_SRC}")
. $pkgbuild
[[ $arch == 'any' ]] && CARCH=any
local version=$(get_full_version)
if [[ ${REPO_SRC} == 'trunk' ]];then
local action='add'
local dest="${REPO_DEST}-$CARCH"
prepare_commit "$dest" "$(get_rm_arch)"
cp trunk/* repos/$dest/
else
local action='move'
local src="${REPO_SRC}-$CARCH" dest="${REPO_DEST}-$CARCH"
[[ ! -f repos/$src/PKGBUILD ]] && die "%s does not exist!" "repos/$src/PKGBUILD"
prepare_commit "$dest" "$(get_rm_arch)"
cp repos/$src/* repos/$dest/
git rm -r repos/$src
fi
local commit_msg="[${REPO_SRC}] -> [${REPO_DEST}] '${PACKAGE}-$version' ${action}"
msg "Action: %s" "$commit_msg"
git add .
git commit -m "$commit_msg"
cd ${group}
${push} && pull_tree "${group##*/}" "$head"
# subrepo_pull "${PACKAGE}"
subrepo_push "${PACKAGE}"
subrepo_clean "${PACKAGE}"
@@ -147,20 +168,20 @@ run(){
git prune
[[ "${cmd}" != 'commitpkg' ]] && check_team
check_team
else
die "Package '%s' does not exist!" "${PACKAGE}"
error "Package '%s' does not exist!" "${PACKAGE}"
fi
}
is_valid_repo(){
. "${DATADIR}"/valid-names.conf
local _valid=trunk
for repo in ${valid_names[@]}; do
_valid=${repo:-}${repo:+|}$_valid
local src="$1" cases=
set_arch_repos true true true
for r in ${ARCH_REPOS[@]};do
cases=${cases:-}${cases:+|}${r}
done
eval "case ${REPO_SRC} in
${_valid}) return 0 ;;
eval "case $src in
${cases}|trunk) return 0 ;;
*) return 1 ;;
esac"
}
@@ -172,8 +193,6 @@ PACKAGE=''
remove=false
push=false
pkgbuild=trunk/PKGBUILD
cmd=${0##*/}
REPO_DEST=${cmd%pkg}
@@ -206,8 +225,12 @@ done
shift $(($OPTIND - 1))
if $(is_valid_repo);then
run
if $(is_valid_repo "${REPO_SRC}");then
if [[ "${cmd}" == 'commitpkg' ]];then
commit_pkg
else
repo_commit_pkg
fi
else
die "source repository '%s' is not valid!" "${REPO_SRC}"
error "source repository '%s' is not valid!" "${REPO_SRC}"
fi

View File

@@ -19,41 +19,46 @@ prepare_artools
get_import_path(){
local pkg="$1" import_path=
for tree in ${ARCH_TREE[@]};do
for tree in ${TREE_NAMES_ARCH[@]};do
[[ -d ${TREE_DIR_ARCH}/$tree/$pkg/repos ]] && import_path=${TREE_DIR_ARCH}/$tree/$pkg
done
echo $import_path
}
compare_m(){
local artixver="$1" artixrepo="$2" archver="$3" archrepo="$4"
local result=$(vercmp "$artixver" "$archver")
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
if [[ $artixrepo == *testing* ]] || [[ $artixrepo == *staging* ]]; then
if [[ "$archrepo" == "$artixrepo" ]]; then
msg_row "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
else
msg_row_notify "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
if [[ -n "$archrepo" ]]; then
printf "%s\n" "${archrepo%-*}:${artixrepo%-*}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_moves.list
fi
;;
esac
fi
fi
}
compare_u(){
local artixver="$1" artixrepo="$2" archver="$3" archrepo="$4"
local result=$(vercmp "$artixver" "$archver")
if [ $result -eq -1 ];then
msg_row_upgrade "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
printf "%s\n" "${a}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_upgrades.list
msg_row_upgrade "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
printf "%s\n" "${archrepo%-*}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_upgrades.list
fi
}
compare_d(){
local artixver="$1" artixrepo="$2" archver="$3" archrepo="$4"
local result=$(vercmp "$artixver" "$archver")
if [ $result -eq 1 ];then
if [[ -n "$archver" ]] && [[ -n "$archrepo" ]];then
msg_row_downgrade "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
msg_row_downgrade "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
fi
fi
}
@@ -64,27 +69,22 @@ pre_compare(){
group=${group##*/}
local pkg=${pkgpath##*/}
local artixrepo=$(find_repo "$pkgpath")
local pkgbuild=$pkgpath/$artixrepo/PKGBUILD
local pkgbuild=$pkgpath/repos/$artixrepo/PKGBUILD
if [[ -f $pkgbuild ]]; then
if [[ -f $pkgbuild ]];then
. $pkgbuild 2>/dev/null
local artixver=$(get_full_version)
local archpath=$(get_import_path $pkg)
local archrepo=$(find_repo "${archpath}")
pkgbuild=$archpath/$archrepo/PKGBUILD
local node=${artixrepo%/*}
local a=${archrepo#*/} b=${artixrepo#*/}
a="${a%-*}"
pkgbuild=$archpath/repos/$archrepo/PKGBUILD
[[ "$node" != "$CARCH" ]] && b=${b%-*}
if [[ -f "$pkgbuild" ]]; then
if [[ -f "$pkgbuild" ]];then
. $pkgbuild 2>/dev/null
local archver=$(get_full_version)
fi
"$func"
"$func" "$artixver" "$artixrepo" "$archver" "$archrepo"
unset pkgver epoch pkgrel artixver archver pkgbuild archpath
fi
@@ -107,7 +107,7 @@ compare_move(){
tree_loop(){
local func="$1"
for tree in ${ARTIX_TREE[@]}; do
for tree in ${TREE_NAMES_ARTIX[@]};do
local pkgs=$(find ${TREE_DIR_ARTIX}/$tree -name trunk)
for package in ${pkgs[@]}; do
"$func" "$package"
@@ -139,11 +139,11 @@ show_move_table(){
update_db_cache(){
msg "Updating database cache"
for repo in "${searchrepos[@]}"; do
local cachedir=${db_cache_dir}/${LINKSDBEXT}/${CARCH}/${repo}
local cachedir=${db_cache_dir}/${LINKSDBEXT}/${ARCH}/${repo}
rm -rf "$cachedir"
mkdir -p "$cachedir"
msg2 "%s" "$repo"
curl -L -s "${REPOS_MIRROR}/${repo}/os/${CARCH}/${repo}.${LINKSDBEXT}" \
curl -L -s "${REPOS_MIRROR}/${repo}/os/${ARCH}/${repo}.${LINKSDBEXT}" \
| bsdtar -xf - -C "$cachedir"
done
msg "Done"
@@ -152,7 +152,7 @@ update_db_cache(){
query_db() {
for repo in "${searchrepos[@]}"; do
local prefix=
local db=${db_cache_dir}/${LINKSDBEXT}/${CARCH}/${repo}/
local db=${db_cache_dir}/${LINKSDBEXT}/${ARCH}/${repo}/
if [[ -d ${db} ]]; then
while read -rd '' pkg; do
read -r match
@@ -173,7 +173,7 @@ show_lib_table() {
is_db_entry() {
local pkgname="$1" repo="${REPOS[$2]}"
if [[ -d ${db_cache_dir}/${LINKSDBEXT}/${CARCH}/$repo/$pkgname ]];then
if [[ -d ${db_cache_dir}/${LINKSDBEXT}/${ARCH}/$repo/$pkgname ]];then
return 0
fi
return 1
@@ -181,23 +181,33 @@ is_db_entry() {
check_db(){
local pkgpath="${1%/*}"
local pkg=${pkgpath##*/}
local sarch=(any ${ARCH})
for repo in ${!REPOS[@]};do
local pkgbuild=
[[ -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
for repo in ${ARCH_REPOS[@]};do
for a in ${sarch[@]};do
. $pkgbuild 2>/dev/null
local artixver=$(get_full_version)
for name in ${pkgname[@]};do
local pkgbuild=$pkgpath/repos/$repo-$a/PKGBUILD
if ! is_db_entry "$name-$artixver" "$repo"; then
msg_row "${tableU}" "$repo" "$name" "$artixver" "false"
if [[ -f $pkgbuild ]];then
. $pkgbuild 2>/dev/null
local artixver=$(get_full_version)
local is_entry=false
for name in ${pkgname[@]};do
if is_db_entry "$name-$artixver" "$repo";then
is_entry=true
fi
if ! $is_entry;then
msg_row "${tableU}" "$repo" "$name" "$artixver" "$is_entry"
fi
done
unset artixver is_entry pkgbuild pkgver epoch pkgname pkgbase
fi
done
unset artixver pkgbuild pkgver epoch pkgname pkgbase
done
}

View File

@@ -16,28 +16,46 @@
prepare_artools
get_pkgbasename(){
local pkg="$1"
local pkgbasename name ver rel arch
pkgbasename=${pkg%.pkg.tar*}
arch=${pkgbasename##*-}
pkgbasename=${pkgbasename%-"$arch"}
rel=${pkgbasename##*-}
pkgbasename=${pkgbasename%-"$rel"}
ver=${pkgbasename##*-}
name=${pkgbasename%-"$ver"}
echo $name
}
add(){
pkg=${pkgname%.*}
for ext in zst xz;do
if pkgfile=$(find_cached_pkgfile "$pkg.$ext");then
msg "Found: %s" "${pkgfile}"
packages+=("$pkg.$ext")
action='add'
ln -sf "${pkgfile}"{,.sig} "$repo_path"/
fi
done
packages+=("$pkg.$ext")
action='add'
ln -sf "${pkgfile}"{,.sig} "$repo_path"/
}
remove(){
packages+=("$pkgname")
local to_remove=$(get_pkgbasename "$pkg.$ext")
packages+=("$to_remove")
action='remove'
rm "$repo_path"/"$pkgname"*pkg.tar*
rm "$repo_path"/"$to_remove"*pkg.tar*
}
repo_action(){
local packages=() action= func="$1"
for pkgname in ${passfiles[@]}; do
"$func"
pkg=${pkgname%.*}
for ext in zst xz;do
if pkgfile=$(find_cached_pkgfile "$pkg.$ext");then
msg "Found: %s" "${pkgfile}"
"$func"
fi
done
done
cd $repo_path
if [[ -n "$action" ]]; then
@@ -86,7 +104,7 @@ passfiles="$@"
prepare_dir "${REPOS_ROOT}"
repo_path=${REPOS_ROOT}/${dest_repo}/os/${CARCH}
repo_path=${REPOS_ROOT}/${dest_repo}/os/${ARCH}
if [[ -n ${passfiles[@]} ]]; then
if ${add_pkg}; then

View File

@@ -14,7 +14,7 @@
. @libdir@/artools/util-base.sh
srcyaml_write_attr(){
write_attr(){
local ident1="$1" ident2="$2" ident3="$3"
local attrname=$4 attrvalues=("${@:5}")
@@ -24,41 +24,47 @@ srcyaml_write_attr(){
attrvalues=("${attrvalues[@]%[[:space:]]}")
case $attrname in
pkgver|pkgrel|epoch|url|install|changelog)
for v in ${attrvalues[@]};do
Yaml+=$(write_yaml_map $ident3 "$attrname" "$v")
done
;;
*)
makedepends|checkdepends|depends|provides|arch)
Yaml+=$(write_yaml_map $ident1 "$attrname")
for v in ${attrvalues[@]};do
Yaml+=$(write_yaml_seq $ident2 "$v")
done
;;
*)
for v in ${attrvalues[@]};do
Yaml+=$(write_yaml_map $ident3 "$attrname" "$v")
done
;;
esac
}
pkgbuild_extract_to_yaml() {
extract_info() {
local pkgname=$1 attrname=$2 isarray=$3 outvalue=
if get_pkgbuild_attribute "$pkgname" "$attrname" "$isarray" 'outvalue'; then
[[ -z $pkgname ]] && srcyaml_write_attr 2 4 2 "$attrname" "${outvalue[@]}"
[[ -n $pkgname ]] && srcyaml_write_attr 4 6 2 "$attrname" "${outvalue[@]}"
[[ -z $pkgname ]] && write_attr 2 4 2 "$attrname" "${outvalue[@]}"
[[ -n $pkgname ]] && write_attr 4 6 2 "$attrname" "${outvalue[@]}"
fi
}
srcyaml_write_section_details() {
write_details() {
local attr package_arch a
local multivalued_arch_attrs=(source provides conflicts depends replaces
optdepends makedepends checkdepends)
# "${known_hash_algos[@]/%/sums}")
local multivalued_arch_attrs=(provides depends makedepends checkdepends)
local singlevalued=()
local multivalued=(arch provides depends checkdepends)
if [[ -z "$1" ]];then
singlevalued=(pkgver pkgrel epoch)
multivalued=(arch provides depends makedepends checkdepends)
fi
for attr in "${singlevalued[@]}"; do
pkgbuild_extract_to_yaml "$1" "$attr" 0
extract_info "$1" "$attr" 0
done
for attr in "${multivalued[@]}"; do
pkgbuild_extract_to_yaml "$1" "$attr" 1
extract_info "$1" "$attr" 1
done
get_pkgbuild_attribute "$1" 'arch' 1 'package_arch'
@@ -67,56 +73,47 @@ srcyaml_write_section_details() {
[[ $a = any ]] && continue
for attr in "${multivalued_arch_attrs[@]}"; do
pkgbuild_extract_to_yaml "$1" "${attr}_$a" 1
extract_info "$1" "${attr}_$a" 1
done
done
}
yaml_write_global() {
local singlevalued=(pkgver pkgrel epoch url install changelog) #pkgdesc
local multivalued=(arch groups license checkdepends makedepends
depends provides conflicts replaces)
#noextract options backup optdepends
#source validpgpkeys "${known_hash_algos[@]/%/sums}")
write_pkg_yaml(){
Yaml=$(write_yaml_header)
Yaml+=$(write_empty_line)
local full=$(get_full_version)
local ver=${full:-0}
pkgbase=${pkgbase:-${pkgname[0]}}
Yaml+=$(write_yaml_map 0 "pkgbase")
Yaml+=$(write_yaml_map 2 "name" "${pkgbase:-$pkgname}")
${details} && srcyaml_write_section_details ''
Yaml+=$(write_yaml_map 2 "pkgname" "${pkgbase}")
${details} && write_details ''
Yaml+=$(write_yaml_map 2 "fullver" "${ver}")
Yaml+=$(write_empty_line)
}
yaml_write_package() {
local singlevalued=(url install changelog) #pkgdesc
local multivalued=(arch groups license checkdepends depends
provides conflicts replaces) #options backup optdepends)
Yaml+=$(write_yaml_map 0 "packages")
Yaml+=$(write_yaml_map 0 "package")
for pkg in "${pkgname[@]}"; do
Yaml+=$(write_yaml_seq_map 2 "pkgname" "$pkg")
${details} && srcyaml_write_section_details "$pkg"
${details} && write_details "$pkg"
done
Yaml+=$(write_empty_line)
}
yaml_write_fileinfo(){
local version=$(get_full_version)
pkgbase=${pkgbase:-$pkgname}
Yaml+=$(write_yaml_map 0 "version" "${version:-0}")
Yaml+=$(write_empty_line)
local pkgfile=$(print_all_package_names)
Yaml+=$(write_yaml_map 0 "files")
Yaml+=$(write_yaml_map 0 "pkgfile")
for f in ${pkgfile[@]};do
Yaml+=$(write_yaml_seq 2 "${f##*/}")
done
Yaml+=$(write_empty_line)
}
write_srcyaml(){
Yaml=$(write_yaml_header)
yaml_write_global
yaml_write_package
yaml_write_fileinfo
Yaml+=$(write_empty_line)
printf '%s' "${Yaml}"
}
@@ -142,13 +139,11 @@ done
shift $(( $OPTIND - 1 ))
srcpath=$(readlink -f "$1")
[[ -f "$srcpath"/PKGBUILD ]] || die "%s/PKGBUILD does not exist!" "$srcpath"
PACKAGE="$srcpath"/PKGBUILD; shift
[[ -f "$1"/PKGBUILD ]] || die "%s/PKGBUILD does not exist!" "$1"
PACKAGE="$1"/PKGBUILD; shift
. "$PACKAGE"
load_makepkg_config
write_srcyaml
write_pkg_yaml

View File

@@ -9,28 +9,32 @@
# TREE_DIR_ARTIX=${WORKSPACE_DIR}/artixlinux
# customize buildtree; uncomment to include
# customize buildtree, packages and community should be enabled
# 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-kf5
# packages-plasma
# packages-kde
# packages-gtk
# 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

@@ -0,0 +1,11 @@
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = Cleaning up package cache...
Depends = coreutils
When = PostTransaction
Exec = /usr/bin/find /var/cache/pacman/pkg/ -type f -delete

View File

@@ -97,3 +97,25 @@ 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,3 +109,37 @@ 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,3 +106,34 @@ 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,3 +97,25 @@ 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,3 +109,37 @@ 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,3 +106,34 @@ 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,3 +97,25 @@ 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,3 +97,25 @@ 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

@@ -1,40 +0,0 @@
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

@@ -15,8 +15,9 @@
prepare_boot_extras(){
local src="$1" dest=${iso_root}/boot
for fw in intel amd; do
cp $src/boot/$fw-ucode.img $dest/$fw-ucode.img
for u in intel amd;do
cp $src/boot/$u-ucode.img $dest/$u-ucode.img
cp $src/usr/share/licenses/$u-ucode/LICENSE $dest/$u-ucode.LICENSE
done
cp $src/boot/memtest86+/memtest.bin $dest/memtest

View File

@@ -103,3 +103,83 @@ 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

@@ -17,29 +17,25 @@ shopt -s extglob
get_compliant_name(){
local gitname="$1"
case "$gitname" in
*+) gitname=${gitname//+/plus} ;;
*+*) gitname=${gitname//+/-} ;;
*+) gitname=${gitname//+/plus}
esac
echo "$gitname"
}
set_arch_repos(){
local x="$1" y="$2" z="$3"
. "${DATADIR}"/valid-names.conf
ARCH_REPOS=(core extra community multilib)
ARCH_REPOS=(${stable[@]})
$x && ARCH_REPOS+=(${gremlins[@]})
$y && ARCH_REPOS+=(${goblins[@]})
$z && ARCH_REPOS+=(${unstable[@]})
$x && ARCH_REPOS+=(testing community-testing multilib-testing)
$y && ARCH_REPOS+=(staging community-staging multilib-staging)
$z && ARCH_REPOS+=(gnome-unstable kde-unstable)
}
find_repo(){
local pkg="$1" repo= pkgarch="${2:-${CARCH}}"
local pkg="$1" repo=
for r in ${ARCH_REPOS[@]};do
[[ -f $pkg/repos/$r-$pkgarch/PKGBUILD ]] && repo=repos/"$r-$pkgarch"
[[ -f $pkg/repos/$r-any/PKGBUILD ]] && repo=repos/"$r"-any
[[ -f $pkg/$pkgarch/$r/PKGBUILD ]] && repo="$pkgarch/$r"
[[ -f $pkg/repos/$r-${ARCH}/PKGBUILD ]] && repo=$r-${ARCH}
[[ -f $pkg/repos/$r-any/PKGBUILD ]] && repo=$r-any
done
echo $repo
}

View File

@@ -36,37 +36,39 @@ 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-kernel
"${init_tree[@]}"
"${dev_tree[@]}"
"${desktop_tree[@]}"
packages-devel
packages-lib32
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
)
ARTIX_TREE+=("${TREE_NAMES_ARTIX[@]}")
HOST_TREE_ARTIX=${HOST_TREE_ARTIX:-"gitea@${GIT_DOMAIN}:artixlinux"}
TREE_DIR_ARCH=${TREE_DIR_ARCH:-"${WORKSPACE_DIR}/archlinux"}
ARCH_TREE=(packages community)
TREE_NAMES_ARCH=(packages community)
HOST_TREE_ARCH=${HOST_TREE_ARCH:-'git://git.archlinux.org/svntogit'}