forked from artix/artools
Compare commits
34 Commits
Author | SHA1 | Date | |
---|---|---|---|
d5e3d86210 | |||
bfb20645c6 | |||
0b2973e802 | |||
887a587954 | |||
59c664fb30 | |||
75a9c79c72 | |||
00821f6e26 | |||
ceb83ff765 | |||
8b3f5899d3 | |||
c1956b0139 | |||
4206fdeff1 | |||
ae41ba16c6 | |||
cf87f88580 | |||
76e97b3702 | |||
d1b2da317f | |||
e59680bf11 | |||
defafdecce | |||
2c21030758 | |||
e29cd8817a | |||
e551f42888 | |||
ad33bccd49 | |||
31eeaa9a0d | |||
f5daac0d67 | |||
2484ea39a4 | |||
9b222bdb83 | |||
a3e6b17c5f | |||
21a37f6b00 | |||
80416b76d5 | |||
2113ffe4c6 | |||
438473c878 | |||
86c5c2f47b | |||
d333c245c0 | |||
4a650f00d7 | |||
1a250c2167 |
7
Makefile
7
Makefile
@@ -1,4 +1,4 @@
|
|||||||
VERSION=0.17
|
VERSION=0.20
|
||||||
|
|
||||||
CHROOT_VERSION=0.10
|
CHROOT_VERSION=0.10
|
||||||
|
|
||||||
@@ -14,7 +14,6 @@ BASE_CONF = \
|
|||||||
data/conf/artools-base.conf
|
data/conf/artools-base.conf
|
||||||
|
|
||||||
BASE_BIN = \
|
BASE_BIN = \
|
||||||
bin/base/signfile \
|
|
||||||
bin/base/chroot-run \
|
bin/base/chroot-run \
|
||||||
bin/base/mkchroot \
|
bin/base/mkchroot \
|
||||||
bin/base/basestrap \
|
bin/base/basestrap \
|
||||||
@@ -45,7 +44,8 @@ PKG_BIN = \
|
|||||||
bin/pkg/checkpkg \
|
bin/pkg/checkpkg \
|
||||||
bin/pkg/finddeps \
|
bin/pkg/finddeps \
|
||||||
bin/pkg/find-libdeps \
|
bin/pkg/find-libdeps \
|
||||||
bin/pkg/batchpkg
|
bin/pkg/batchpkg \
|
||||||
|
bin/pkg/signpkg
|
||||||
|
|
||||||
LN_COMMITPKG = \
|
LN_COMMITPKG = \
|
||||||
extrapkg \
|
extrapkg \
|
||||||
@@ -116,7 +116,6 @@ ISO_LIBS = \
|
|||||||
|
|
||||||
ISO_UTIL = lib/util-iso.sh
|
ISO_UTIL = lib/util-iso.sh
|
||||||
|
|
||||||
|
|
||||||
DIRMODE = -dm0755
|
DIRMODE = -dm0755
|
||||||
FILEMODE = -m0644
|
FILEMODE = -m0644
|
||||||
MODE = -m0755
|
MODE = -m0755
|
||||||
|
@@ -1,32 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; version 2 of the License.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
. @libdir@/artools/util-base.sh
|
|
||||||
|
|
||||||
load_makepkg_config
|
|
||||||
|
|
||||||
file_to_sign="$1"
|
|
||||||
|
|
||||||
if [ ! -e "$1" ]; then
|
|
||||||
error "%s does not exist!" "$file_to_sign"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n "${BUILDBOT_GPGP}" ]]; then
|
|
||||||
msg2 "Signing [%s]" "${file_to_sign##*/}"
|
|
||||||
gpg --batch --passphrase "${BUILDBOT_GPGP}" --detach-sign "$file_to_sign"
|
|
||||||
else
|
|
||||||
msg2 "Signing [%s] with key %s" "${file_to_sign##*/}" "${GPGKEY}..."
|
|
||||||
gpg --detach-sign --use-agent -u "${GPGKEY}" "$file_to_sign"
|
|
||||||
fi
|
|
@@ -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,65 @@ 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 ;;
|
||||||
h|?) usage 0 ;;
|
h|?) usage 0 ;;
|
||||||
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
||||||
esac
|
esac
|
||||||
@@ -68,6 +99,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
|
||||||
|
@@ -30,6 +30,7 @@ base_devel=('base-devel')
|
|||||||
usage() {
|
usage() {
|
||||||
echo "Usage: ${0##*/} [options] -- [mkchrootpkg_args]"
|
echo "Usage: ${0##*/} [options] -- [mkchrootpkg_args]"
|
||||||
echo " -r <dir> Create chroots in this directory"
|
echo " -r <dir> Create chroots in this directory"
|
||||||
|
echo " -d <dir> Destination repo chroot"
|
||||||
echo ' -c Recreate the chroot before building'
|
echo ' -c Recreate the chroot before building'
|
||||||
echo ' -m Major rebuild'
|
echo ' -m Major rebuild'
|
||||||
echo ' -N Disable check() function'
|
echo ' -N Disable check() function'
|
||||||
@@ -43,11 +44,12 @@ usage() {
|
|||||||
|
|
||||||
orig_argv=("$0" "$@")
|
orig_argv=("$0" "$@")
|
||||||
|
|
||||||
opts='hcCNmr:'
|
opts='hcCNmr:d:'
|
||||||
|
|
||||||
while getopts "${opts}" arg; do
|
while getopts "${opts}" arg; do
|
||||||
case "${arg}" in
|
case "${arg}" in
|
||||||
r) CHROOTS_PKG="$OPTARG" ;;
|
r) CHROOTS_PKG="$OPTARG" ;;
|
||||||
|
d) repo="$OPTARG" ;;
|
||||||
c) create_first=true ;;
|
c) create_first=true ;;
|
||||||
m) rebuild=true ;;
|
m) rebuild=true ;;
|
||||||
C) is_checkpkg=true; mkchrootpkg_args+=(-C) ;;
|
C) is_checkpkg=true; mkchrootpkg_args+=(-C) ;;
|
||||||
|
@@ -55,7 +55,7 @@ patch_pkg(){
|
|||||||
|
|
||||||
pull_tree_arch(){
|
pull_tree_arch(){
|
||||||
cd ${TREE_DIR_ARCH}
|
cd ${TREE_DIR_ARCH}
|
||||||
for tree in ${TREE_NAMES_ARCH[@]};do
|
for tree in ${ARCH_TREE[@]};do
|
||||||
if [[ -d ${tree} ]];then
|
if [[ -d ${tree} ]];then
|
||||||
cd ${tree}
|
cd ${tree}
|
||||||
pull_tree "${tree}" "$(get_local_head)" "Arch"
|
pull_tree "${tree}" "$(get_local_head)" "Arch"
|
||||||
@@ -85,7 +85,7 @@ pull_tree_artix(){
|
|||||||
sync_pkg(){
|
sync_pkg(){
|
||||||
local rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
|
local rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
|
||||||
local src="$1" dest="$2"
|
local src="$1" dest="$2"
|
||||||
|
msg "Sync from Arch [%s] to Artix [%s]" "${src##*archlinux/}" "${dest##*artixlinux/}"
|
||||||
rsync "${rsync_args[@]}" $src/ $dest/
|
rsync "${rsync_args[@]}" $src/ $dest/
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,15 +94,13 @@ show_deps(){
|
|||||||
|
|
||||||
. $src/PKGBUILD 2>/dev/null
|
. $src/PKGBUILD 2>/dev/null
|
||||||
|
|
||||||
[[ $arch == 'any' ]] && CARCH=any
|
|
||||||
|
|
||||||
local archver=$(get_full_version)
|
local archver=$(get_full_version)
|
||||||
|
|
||||||
[[ -n ${pkgbase} ]] && msg2 "pkgbase: %s" "${pkgbase}"
|
[[ -n ${pkgbase} ]] && msg2 "pkgbase: %s" "${pkgbase}"
|
||||||
msg2 "pkgname: %s" "${pkgname[*]}"
|
msg2 "pkgname: %s" "${pkgname[*]}"
|
||||||
[[ -n $pkgdesc ]] && msg2 "pkgdesc: %s" "${pkgdesc}"
|
[[ -n $pkgdesc ]] && msg2 "pkgdesc: %s" "${pkgdesc}"
|
||||||
msg2 "Arch Version: %s" "$archver"
|
msg2 "Arch Version: %s" "$archver"
|
||||||
msg2 "arch: %s" "$CARCH"
|
msg2 "arch: %s" "$arch"
|
||||||
|
|
||||||
[[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
|
[[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
|
||||||
[[ -n ${checkdepends[@]} ]] && msg2 "checkdepends: %s" "${checkdepends[*]}"
|
[[ -n ${checkdepends[@]} ]] && msg2 "checkdepends: %s" "${checkdepends[*]}"
|
||||||
@@ -111,85 +109,21 @@ show_deps(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
subrepo_new(){
|
subrepo_new(){
|
||||||
local group="${1:-$GROUP}" team="${2:-$TEAM}"
|
cd ${TREE_DIR_ARTIX}/${GROUP}
|
||||||
local dest=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk
|
|
||||||
|
|
||||||
cd ${TREE_DIR_ARTIX}/$group
|
|
||||||
|
|
||||||
msg2 "team: %s" "$team"
|
|
||||||
msg2 "group: %s" "$group"
|
|
||||||
|
|
||||||
local org=$(get_pkg_org "${PACKAGE}")
|
local org=$(get_pkg_org "${PACKAGE}")
|
||||||
|
|
||||||
create_repo "${PACKAGE}" "$org"
|
create_repo "${PACKAGE}" "$org"
|
||||||
|
|
||||||
add_repo_to_team "${PACKAGE}" "$org" "$team"
|
add_repo_to_team "${PACKAGE}" "$org" "${TEAM}"
|
||||||
|
|
||||||
subrepo_clone "${PACKAGE}" "$org"
|
subrepo_clone "${PACKAGE}" "$org"
|
||||||
|
|
||||||
prepare_dir "$dest"
|
prepare_dir "${TREE_DIR_ARTIX}/${GROUP}/${PACKAGE}/trunk"
|
||||||
|
|
||||||
commit_jenkins_files "${PACKAGE}"
|
commit_jenkins_files "${PACKAGE}"
|
||||||
}
|
}
|
||||||
|
|
||||||
get_group_packages(){
|
|
||||||
local pkglist="${SYSCONFDIR}/pkglist.d/$1.list"
|
|
||||||
|
|
||||||
local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g"
|
|
||||||
|
|
||||||
local pkgs=($(sed "$_com_rm" "$pkglist" | sed "$_space" | sed "$_clean"))
|
|
||||||
|
|
||||||
local cases=
|
|
||||||
for p in ${pkgs[@]};do
|
|
||||||
cases=${cases:-}${cases:+|}${p}
|
|
||||||
done
|
|
||||||
echo $cases
|
|
||||||
}
|
|
||||||
|
|
||||||
get_group(){
|
|
||||||
local pkg="$1" fallback="${2##*/}" tree=
|
|
||||||
eval "case $pkg in
|
|
||||||
$(get_group_packages kernel)) tree=packages-kernel ;;
|
|
||||||
$(get_group_packages net)) tree=packages-net ;;
|
|
||||||
$(get_group_packages gfx)) tree=packages-gfx ;;
|
|
||||||
$(get_group_packages python)) tree=packages-python ;;
|
|
||||||
$(get_group_packages perl)) tree=packages-perl ;;
|
|
||||||
$(get_group_packages ruby)) tree=packages-ruby ;;
|
|
||||||
$(get_group_packages openrc)) tree=packages-openrc ;;
|
|
||||||
$(get_group_packages runit)) tree=packages-runit ;;
|
|
||||||
$(get_group_packages s6)) tree=packages-s6 ;;
|
|
||||||
$(get_group_packages media)) tree=packages-media ;;
|
|
||||||
$(get_group_packages xorg)) tree=packages-xorg ;;
|
|
||||||
$(get_group_packages qt5)) tree=packages-qt5 ;;
|
|
||||||
$(get_group_packages gtk)) tree=packages-gtk ;;
|
|
||||||
$(get_group_packages java)) tree=packages-java ;;
|
|
||||||
$(get_group_packages haskell)) tree=packages-haskell ;;
|
|
||||||
$(get_group_packages devel)) tree=packages-devel ;;
|
|
||||||
$(get_group_packages lxqt)) tree=packages-lxqt ;;
|
|
||||||
$(get_group_packages cinnamon)) tree=packages-cinnamon ;;
|
|
||||||
$(get_group_packages kde)) tree=packages-kde ;;
|
|
||||||
$(get_group_packages gnome)) tree=packages-gnome ;;
|
|
||||||
$(get_group_packages mate)) tree=packages-mate ;;
|
|
||||||
$(get_group_packages xfce)) tree=packages-xfce ;;
|
|
||||||
$(get_group_packages wm)) tree=packages-wm ;;
|
|
||||||
*) tree=$fallback ;;
|
|
||||||
esac"
|
|
||||||
echo $tree
|
|
||||||
}
|
|
||||||
|
|
||||||
get_team(){
|
|
||||||
local repo="$1" team=
|
|
||||||
case $repo in
|
|
||||||
*testing*|*staging*)
|
|
||||||
set_arch_repos false false false
|
|
||||||
team=$(find_repo "$srcpath")
|
|
||||||
team=${team%-*}
|
|
||||||
;;
|
|
||||||
*) team=${repo%-*} ;;
|
|
||||||
esac
|
|
||||||
echo $team
|
|
||||||
}
|
|
||||||
|
|
||||||
from_arch(){
|
from_arch(){
|
||||||
cd ${TREE_DIR_ARTIX}
|
cd ${TREE_DIR_ARTIX}
|
||||||
|
|
||||||
@@ -197,48 +131,38 @@ from_arch(){
|
|||||||
[[ -z $srcpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
|
[[ -z $srcpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
|
||||||
|
|
||||||
local repo=$(find_repo "$srcpath")
|
local repo=$(find_repo "$srcpath")
|
||||||
|
msg "repo: %s" "${repo#*/}"
|
||||||
|
|
||||||
archpath=$srcpath/repos/$repo
|
local archpath=$srcpath/$repo
|
||||||
local artixpath=$(find_pkg ${TREE_DIR_ARTIX} ${PACKAGE})
|
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
|
||||||
local tree=${srcpath%/*}
|
|
||||||
local tree=${tree##*/}
|
|
||||||
local group=$(get_group "${PACKAGE}" "$tree")
|
|
||||||
|
|
||||||
msg "repo: %s" "$repo"
|
|
||||||
artixpath=$artixpath/trunk
|
|
||||||
|
|
||||||
show_deps "$archpath"
|
show_deps "$archpath"
|
||||||
|
|
||||||
if [[ -f $artixpath/PKGBUILD ]];then
|
if [[ -f "$artixpath"/.gitrepo ]]; then
|
||||||
|
artixpath="$artixpath"/trunk
|
||||||
. $artixpath/PKGBUILD 2>/dev/null
|
|
||||||
local artixver=$(get_full_version)
|
|
||||||
|
|
||||||
msg2 "Artix Version: %s" "$artixver"
|
|
||||||
else
|
|
||||||
artixpath=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk
|
|
||||||
subrepo_new "${group}" "$(get_team $repo)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
msg "Sync (%s) from Arch [%s] to Artix [%s]" "${PACKAGE}" "${archpath##*archlinux/}" "${artixpath##*artixlinux/}"
|
|
||||||
|
|
||||||
|
if [[ -d "$artixpath" ]];then
|
||||||
sync_pkg "$archpath" "$artixpath"
|
sync_pkg "$archpath" "$artixpath"
|
||||||
patch_pkg "$artixpath"
|
patch_pkg "$artixpath"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
die "Package '%s' does not exist!" "${PACKAGE}"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
view_build(){
|
view_build(){
|
||||||
local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}")
|
local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}")
|
||||||
[[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
|
[[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
|
||||||
local repo=$(find_repo "${archpath}")
|
local repo=$(find_repo "${archpath}")
|
||||||
archpath=$archpath/repos/$repo
|
archpath=$archpath/$repo
|
||||||
msg2 "repo: %s" "$repo"
|
msg "repo: %s" "${repo#*/}"
|
||||||
show_deps "$archpath"
|
show_deps "$archpath"
|
||||||
}
|
}
|
||||||
|
|
||||||
check_tree(){
|
check_tree(){
|
||||||
local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}")
|
local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}")
|
||||||
[[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
|
[[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
|
||||||
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" ${PACKAGE})
|
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
|
||||||
local group=${artixpath%/*}
|
local group=${artixpath%/*}
|
||||||
msg "group: %s" "${group##*/}"
|
msg "group: %s" "${group##*/}"
|
||||||
|
|
||||||
@@ -252,7 +176,7 @@ sync_repos(){
|
|||||||
if ${sync_group}; then
|
if ${sync_group}; then
|
||||||
pull_tree_artix "${GROUP}"
|
pull_tree_artix "${GROUP}"
|
||||||
else
|
else
|
||||||
pull_tree_artix "${TREE_NAMES_ARTIX[*]}"
|
pull_tree_artix "${ARTIX_TREE[*]}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -275,7 +199,7 @@ check=false
|
|||||||
PACKAGE=''
|
PACKAGE=''
|
||||||
|
|
||||||
TEAM='community'
|
TEAM='community'
|
||||||
GROUP=${TREE_NAMES_ARTIX[0]}
|
GROUP=${ARTIX_TREE[0]}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage: ${0##*/} [options]"
|
echo "Usage: ${0##*/} [options]"
|
||||||
@@ -289,7 +213,7 @@ usage() {
|
|||||||
echo " -a Don't clone or pull arch repos"
|
echo " -a Don't clone or pull arch repos"
|
||||||
echo " -b Don't clone or pull artix repos"
|
echo " -b Don't clone or pull artix repos"
|
||||||
echo ' -i Import a package from arch repos'
|
echo ' -i Import a package from arch repos'
|
||||||
echo ' -n Make new remote subrepo and clone it'
|
echo ' -n New remote subrepo and clone it'
|
||||||
echo ' -v Check if a package is in the artix tree(s)'
|
echo ' -v Check if a package is in the artix tree(s)'
|
||||||
echo ' -c View package depends'
|
echo ' -c View package depends'
|
||||||
echo ' -x Exclude testing (only with -i)'
|
echo ' -x Exclude testing (only with -i)'
|
||||||
|
@@ -18,6 +18,68 @@ shopt -s extglob
|
|||||||
|
|
||||||
load_makepkg_config
|
load_makepkg_config
|
||||||
|
|
||||||
|
pkgver_equal() {
|
||||||
|
if [[ $1 = *-* && $2 = *-* ]]; then
|
||||||
|
# if both versions have a pkgrel, then they must be an exact match
|
||||||
|
[[ $1 = "$2" ]]
|
||||||
|
else
|
||||||
|
# otherwise, trim any pkgrel and compare the bare version.
|
||||||
|
[[ ${1%%-*} = "${2%%-*}" ]]
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
find_cached_package() {
|
||||||
|
local searchdirs=("$PKGDEST" "$PWD") results=()
|
||||||
|
local targetname=$1 targetver=$2 targetarch=$3
|
||||||
|
local dir pkg pkgbasename name ver rel arch r results
|
||||||
|
|
||||||
|
for dir in "${searchdirs[@]}"; do
|
||||||
|
[[ -d $dir ]] || continue
|
||||||
|
|
||||||
|
for pkg in "$dir"/*.pkg.tar?(.!(sig|*.*)); do
|
||||||
|
[[ -f $pkg ]] || continue
|
||||||
|
|
||||||
|
# avoid adding duplicates of the same inode
|
||||||
|
for r in "${results[@]}"; do
|
||||||
|
[[ $r -ef $pkg ]] && continue 2
|
||||||
|
done
|
||||||
|
|
||||||
|
# split apart package filename into parts
|
||||||
|
pkgbasename=${pkg##*/}
|
||||||
|
pkgbasename=${pkgbasename%.pkg.tar*}
|
||||||
|
|
||||||
|
arch=${pkgbasename##*-}
|
||||||
|
pkgbasename=${pkgbasename%-"$arch"}
|
||||||
|
|
||||||
|
rel=${pkgbasename##*-}
|
||||||
|
pkgbasename=${pkgbasename%-"$rel"}
|
||||||
|
|
||||||
|
ver=${pkgbasename##*-}
|
||||||
|
name=${pkgbasename%-"$ver"}
|
||||||
|
|
||||||
|
if [[ $targetname = "$name" && $targetarch = "$arch" ]] &&
|
||||||
|
pkgver_equal "$targetver" "$ver-$rel"; then
|
||||||
|
results+=("$pkg")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
case ${#results[*]} in
|
||||||
|
0)
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
printf '%s\n' "${results[0]}"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error 'Multiple packages found:'
|
||||||
|
printf '\t%s\n' "${results[@]}" >&2
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat <<- _EOF_
|
cat <<- _EOF_
|
||||||
Usage: ${BASH_SOURCE[0]##*/} [OPTIONS]
|
Usage: ${BASH_SOURCE[0]##*/} [OPTIONS]
|
||||||
|
@@ -16,27 +16,35 @@
|
|||||||
|
|
||||||
prepare_artools
|
prepare_artools
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
prepare_commit(){
|
prepare_commit(){
|
||||||
local dest="$1"
|
# create new layout, copy & remove repos
|
||||||
[[ -d repos/$dest ]] && git rm -r repos/$dest
|
if [[ -d repos ]]; then
|
||||||
[[ ! -d repos ]] && mkdir repos
|
msg "Switching to new layout ..."
|
||||||
[[ ! -d repos/$dest ]] && mkdir repos/$dest
|
[[ ! -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}"
|
||||||
|
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" ]] || \
|
||||||
[[ ${REPO_SRC} == "extra" && ${REPO_DEST} == "community" ]] || \
|
[[ "${REPO_SRC}" == "extra" && "${REPO_DEST}" == "community" ]] || \
|
||||||
[[ ${REPO_SRC} == "community" && ${REPO_DEST} == "extra" ]] ;then
|
[[ "${REPO_SRC}" == "community" && "${REPO_DEST}" == "extra" ]] ;then
|
||||||
|
|
||||||
local org=$(get_pkg_org "${PACKAGE}")
|
local org=$(get_pkg_org "${PACKAGE}")
|
||||||
add_repo_to_team "${PACKAGE}" "$org" "${REPO_DEST}"
|
add_repo_to_team "${PACKAGE}" "$org" "${REPO_DEST}"
|
||||||
@@ -44,109 +52,80 @@ check_team(){
|
|||||||
fi
|
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() {
|
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)
|
|
||||||
|
|
||||||
local commit_msg=""
|
|
||||||
|
|
||||||
if ${remove};then
|
if ${remove};then
|
||||||
local action='remove'
|
action='remove'
|
||||||
if [[ "${REPO_SRC}" == 'trunk' ]];then
|
if [[ "${REPO_SRC}" == 'trunk' ]];then
|
||||||
local pkg=${PACKAGE}
|
local pkg=${PACKAGE}
|
||||||
git rm -r trunk
|
git rm -r trunk
|
||||||
else
|
else
|
||||||
local pkg="${PACKAGE}-$version"
|
local pkg="${PACKAGE}-$(get_full_version)"
|
||||||
git rm -r repos/"${REPO_SRC}-$CARCH"
|
|
||||||
|
prepare_commit
|
||||||
|
|
||||||
|
git rm -r "$CARCH/${REPO_SRC}"
|
||||||
fi
|
fi
|
||||||
commit_msg="[${REPO_SRC}] '$pkg' ${action}"
|
local commit_msg="[${REPO_SRC}] '$pkg' ${action}"
|
||||||
msg "Action: %s" "$commit_msg"
|
msg "Action: %s" "$commit_msg"
|
||||||
else
|
else
|
||||||
local action='modify'
|
action='modify'
|
||||||
commit_msg="[${REPO_SRC}] '${PACKAGE}-$version' ${action}"
|
local commit_msg="[${REPO_SRC}] '${PACKAGE}-$(get_full_version)' ${action}"
|
||||||
msg "Action: %s" "$commit_msg"
|
msg "Action: %s" "$commit_msg"
|
||||||
git add .
|
git add .
|
||||||
fi
|
fi
|
||||||
git commit -m "$commit_msg"
|
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
repo_commit_pkg() {
|
repo_commit_pkg() {
|
||||||
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
|
if [[ "${REPO_SRC}" == 'trunk' ]];then
|
||||||
if [[ -n ${artixpath} ]];then
|
action='add'
|
||||||
|
prepare_commit
|
||||||
local group=${artixpath%/*}
|
cp trunk/* "$CARCH/${REPO_DEST}"/
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
cp trunk/* repos/$dest/
|
|
||||||
else
|
else
|
||||||
local action='move'
|
action='move'
|
||||||
local src="${REPO_SRC}-$CARCH" dest="${REPO_DEST}-$CARCH"
|
[[ ! -f $pkgbuild ]] && die "%s does not exist!" "$pkgbuild"
|
||||||
|
|
||||||
[[ ! -f repos/$src/PKGBUILD ]] && die "%s does not exist!" "repos/$src/PKGBUILD"
|
prepare_commit
|
||||||
prepare_commit "$dest"
|
|
||||||
|
|
||||||
cp repos/$src/* repos/$dest/
|
cp "$CARCH/${REPO_SRC}"/* "$CARCH/${REPO_DEST}"/
|
||||||
git rm -r repos/$src
|
git rm -r "$CARCH/${REPO_SRC}"
|
||||||
fi
|
fi
|
||||||
local commit_msg="[${REPO_SRC}] -> [${REPO_DEST}] '${PACKAGE}-$version' ${action}"
|
local commit_msg="[${REPO_SRC}] -> [${REPO_DEST}] '${PACKAGE}-$(get_full_version)' ${action}"
|
||||||
msg "Action: %s" "$commit_msg"
|
msg "Action: %s" "$commit_msg"
|
||||||
|
|
||||||
git add .
|
git add .
|
||||||
git commit -m "$commit_msg"
|
git commit -m "$commit_msg"
|
||||||
|
}
|
||||||
|
|
||||||
|
run(){
|
||||||
|
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
|
||||||
|
else
|
||||||
|
repo_commit_pkg
|
||||||
|
fi
|
||||||
|
|
||||||
cd ${group}
|
cd ${group}
|
||||||
|
|
||||||
${push} && pull_tree "${group##*/}" "$head"
|
${push} && pull_tree "${group##*/}" "$head"
|
||||||
|
|
||||||
# subrepo_pull "${PACKAGE}"
|
# subrepo_pull "${PACKAGE}"
|
||||||
subrepo_push "${PACKAGE}"
|
subrepo_push "${PACKAGE}"
|
||||||
subrepo_clean "${PACKAGE}"
|
subrepo_clean "${PACKAGE}"
|
||||||
@@ -155,22 +134,17 @@ repo_commit_pkg(){
|
|||||||
|
|
||||||
git prune
|
git prune
|
||||||
|
|
||||||
check_team
|
[[ "${cmd}" != 'commitpkg' ]] && check_team
|
||||||
else
|
else
|
||||||
error "Package '%s' does not exist!" "${PACKAGE}"
|
die "Package '%s' does not exist!" "${PACKAGE}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
is_valid_repo(){
|
is_valid_repo(){
|
||||||
local src="$1" cases=
|
case "${REPO_SRC}" in
|
||||||
set_arch_repos true true true
|
core|extra|community|multilib|testing|community-testing|multilib-testing|staging|community-staging|multilib-staging|gnome-unstable|kde-unstable|trunk) return 0 ;;
|
||||||
for r in ${ARCH_REPOS[@]};do
|
|
||||||
cases=${cases:-}${cases:+|}${r}
|
|
||||||
done
|
|
||||||
eval "case $src in
|
|
||||||
${cases}|trunk) return 0 ;;
|
|
||||||
*) return 1 ;;
|
*) return 1 ;;
|
||||||
esac"
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
load_makepkg_config
|
load_makepkg_config
|
||||||
@@ -180,6 +154,8 @@ PACKAGE=''
|
|||||||
remove=false
|
remove=false
|
||||||
push=false
|
push=false
|
||||||
|
|
||||||
|
pkgbuild=trunk/PKGBUILD
|
||||||
|
|
||||||
cmd=${0##*/}
|
cmd=${0##*/}
|
||||||
REPO_DEST=${cmd%pkg}
|
REPO_DEST=${cmd%pkg}
|
||||||
|
|
||||||
@@ -212,12 +188,8 @@ done
|
|||||||
|
|
||||||
shift $(($OPTIND - 1))
|
shift $(($OPTIND - 1))
|
||||||
|
|
||||||
if $(is_valid_repo "${REPO_SRC}");then
|
if $(is_valid_repo);then
|
||||||
if [[ "${cmd}" == 'commitpkg' ]];then
|
run
|
||||||
commit_pkg
|
|
||||||
else
|
else
|
||||||
repo_commit_pkg
|
die "source repository '%s' is not valid!" "${REPO_SRC}"
|
||||||
fi
|
|
||||||
else
|
|
||||||
error "source repository '%s' is not valid!" "${REPO_SRC}"
|
|
||||||
fi
|
fi
|
||||||
|
@@ -19,23 +19,21 @@ prepare_artools
|
|||||||
get_import_path(){
|
get_import_path(){
|
||||||
local pkg="$1" 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
|
[[ -d ${TREE_DIR_ARCH}/$tree/$pkg/repos ]] && import_path=${TREE_DIR_ARCH}/$tree/$pkg
|
||||||
done
|
done
|
||||||
echo $import_path
|
echo $import_path
|
||||||
}
|
}
|
||||||
|
|
||||||
compare_m(){
|
compare_m(){
|
||||||
local artixver="$1" artixrepo="$2" archver="$3" archrepo="$4"
|
|
||||||
|
|
||||||
local result=$(vercmp "$artixver" "$archver")
|
local result=$(vercmp "$artixver" "$archver")
|
||||||
if [[ $artixrepo == *testing* ]] || [[ $artixrepo == *staging* ]]; then
|
if [[ $artixrepo == *testing* ]] || [[ $artixrepo == *staging* ]]; then
|
||||||
if [[ "$archrepo" == "$artixrepo" ]]; then
|
if [[ "${a}" == "${b}" ]]; then
|
||||||
msg_row "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
msg_row "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||||
else
|
else
|
||||||
msg_row_notify "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
msg_row_notify "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||||
if [[ -n "$archrepo" ]]; then
|
if [[ -n "$archrepo" ]]; then
|
||||||
printf "%s\n" "${archrepo%-*}:${artixrepo%-*}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_moves.list
|
printf "%s\n" "${a}:${b}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_moves.list
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -43,22 +41,18 @@ compare_m(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
compare_u(){
|
compare_u(){
|
||||||
local artixver="$1" artixrepo="$2" archver="$3" archrepo="$4"
|
|
||||||
|
|
||||||
local result=$(vercmp "$artixver" "$archver")
|
local result=$(vercmp "$artixver" "$archver")
|
||||||
if [ $result -eq -1 ];then
|
if [ $result -eq -1 ];then
|
||||||
msg_row_upgrade "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
msg_row_upgrade "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||||
printf "%s\n" "${archrepo%-*}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_upgrades.list
|
printf "%s\n" "${a}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_upgrades.list
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
compare_d(){
|
compare_d(){
|
||||||
local artixver="$1" artixrepo="$2" archver="$3" archrepo="$4"
|
|
||||||
|
|
||||||
local result=$(vercmp "$artixver" "$archver")
|
local result=$(vercmp "$artixver" "$archver")
|
||||||
if [ $result -eq 1 ];then
|
if [ $result -eq 1 ];then
|
||||||
if [[ -n "$archver" ]] && [[ -n "$archrepo" ]];then
|
if [[ -n "$archver" ]] && [[ -n "$archrepo" ]];then
|
||||||
msg_row_downgrade "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
msg_row_downgrade "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -69,7 +63,7 @@ pre_compare(){
|
|||||||
group=${group##*/}
|
group=${group##*/}
|
||||||
local pkg=${pkgpath##*/}
|
local pkg=${pkgpath##*/}
|
||||||
local artixrepo=$(find_repo "$pkgpath")
|
local artixrepo=$(find_repo "$pkgpath")
|
||||||
local pkgbuild=$pkgpath/repos/$artixrepo/PKGBUILD
|
local pkgbuild=$pkgpath/$artixrepo/PKGBUILD
|
||||||
|
|
||||||
if [[ -f $pkgbuild ]];then
|
if [[ -f $pkgbuild ]];then
|
||||||
. $pkgbuild 2>/dev/null
|
. $pkgbuild 2>/dev/null
|
||||||
@@ -77,14 +71,19 @@ pre_compare(){
|
|||||||
|
|
||||||
local archpath=$(get_import_path $pkg)
|
local archpath=$(get_import_path $pkg)
|
||||||
local archrepo=$(find_repo "${archpath}")
|
local archrepo=$(find_repo "${archpath}")
|
||||||
pkgbuild=$archpath/repos/$archrepo/PKGBUILD
|
pkgbuild=$archpath/$archrepo/PKGBUILD
|
||||||
|
local node=${artixrepo%/*}
|
||||||
|
local a=${archrepo#*/} b=${artixrepo#*/}
|
||||||
|
a="${a%-*}"
|
||||||
|
|
||||||
|
[[ "$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
|
||||||
|
|
||||||
"$func" "$artixver" "$artixrepo" "$archver" "$archrepo"
|
"$func"
|
||||||
|
|
||||||
unset pkgver epoch pkgrel artixver archver pkgbuild archpath
|
unset pkgver epoch pkgrel artixver archver pkgbuild archpath
|
||||||
fi
|
fi
|
||||||
@@ -107,7 +106,7 @@ compare_move(){
|
|||||||
|
|
||||||
tree_loop(){
|
tree_loop(){
|
||||||
local func="$1"
|
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)
|
local pkgs=$(find ${TREE_DIR_ARTIX}/$tree -name trunk)
|
||||||
for package in ${pkgs[@]}; do
|
for package in ${pkgs[@]}; do
|
||||||
"$func" "$package"
|
"$func" "$package"
|
||||||
@@ -139,11 +138,11 @@ show_move_table(){
|
|||||||
update_db_cache(){
|
update_db_cache(){
|
||||||
msg "Updating database cache"
|
msg "Updating database cache"
|
||||||
for repo in "${searchrepos[@]}"; do
|
for repo in "${searchrepos[@]}"; do
|
||||||
local cachedir=${db_cache_dir}/${LINKSDBEXT}/${ARCH}/${repo}
|
local cachedir=${db_cache_dir}/${LINKSDBEXT}/${CARCH}/${repo}
|
||||||
rm -rf "$cachedir"
|
rm -rf "$cachedir"
|
||||||
mkdir -p "$cachedir"
|
mkdir -p "$cachedir"
|
||||||
msg2 "%s" "$repo"
|
msg2 "%s" "$repo"
|
||||||
curl -L -s "${REPOS_MIRROR}/${repo}/os/${ARCH}/${repo}.${LINKSDBEXT}" \
|
curl -L -s "${REPOS_MIRROR}/${repo}/os/${CARCH}/${repo}.${LINKSDBEXT}" \
|
||||||
| bsdtar -xf - -C "$cachedir"
|
| bsdtar -xf - -C "$cachedir"
|
||||||
done
|
done
|
||||||
msg "Done"
|
msg "Done"
|
||||||
@@ -152,7 +151,7 @@ update_db_cache(){
|
|||||||
query_db() {
|
query_db() {
|
||||||
for repo in "${searchrepos[@]}"; do
|
for repo in "${searchrepos[@]}"; do
|
||||||
local prefix=
|
local prefix=
|
||||||
local db=${db_cache_dir}/${LINKSDBEXT}/${ARCH}/${repo}/
|
local db=${db_cache_dir}/${LINKSDBEXT}/${CARCH}/${repo}/
|
||||||
if [[ -d ${db} ]]; then
|
if [[ -d ${db} ]]; then
|
||||||
while read -rd '' pkg; do
|
while read -rd '' pkg; do
|
||||||
read -r match
|
read -r match
|
||||||
@@ -173,7 +172,7 @@ show_lib_table() {
|
|||||||
is_db_entry() {
|
is_db_entry() {
|
||||||
local pkgname="$1" repo="${REPOS[$2]}"
|
local pkgname="$1" repo="${REPOS[$2]}"
|
||||||
|
|
||||||
if [[ -d ${db_cache_dir}/${LINKSDBEXT}/${ARCH}/$repo/$pkgname ]];then
|
if [[ -d ${db_cache_dir}/${LINKSDBEXT}/${CARCH}/$repo/$pkgname ]];then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
return 1
|
return 1
|
||||||
@@ -181,33 +180,23 @@ is_db_entry() {
|
|||||||
|
|
||||||
check_db(){
|
check_db(){
|
||||||
local pkgpath="${1%/*}"
|
local pkgpath="${1%/*}"
|
||||||
local pkg=${pkgpath##*/}
|
|
||||||
local sarch=(any ${ARCH})
|
|
||||||
|
|
||||||
for repo in ${ARCH_REPOS[@]};do
|
for repo in ${!REPOS[@]};do
|
||||||
for a in ${sarch[@]};do
|
local pkgbuild=
|
||||||
|
[[ -f $pkgpath/$CARCH/$repo/PKGBUILD ]] && pkgbuild=$pkgpath/$CARCH/$repo/PKGBUILD
|
||||||
local pkgbuild=$pkgpath/repos/$repo-$a/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
|
||||||
if [[ -f $pkgbuild ]];then
|
|
||||||
|
|
||||||
. $pkgbuild 2>/dev/null
|
. $pkgbuild 2>/dev/null
|
||||||
local artixver=$(get_full_version)
|
local artixver=$(get_full_version)
|
||||||
|
|
||||||
local is_entry=false
|
|
||||||
|
|
||||||
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
|
||||||
is_entry=true
|
msg_row "${tableU}" "$repo" "$name" "$artixver" "false"
|
||||||
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
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
unset artixver pkgbuild pkgver epoch pkgname pkgbase
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,127 +16,40 @@
|
|||||||
|
|
||||||
prepare_artools
|
prepare_artools
|
||||||
|
|
||||||
find_cached_pkgfile() {
|
add(){
|
||||||
local searchdirs=("$PKGDEST" "$PWD") results=()
|
pkg=${pkgname%.*}
|
||||||
local pkg="$1"
|
for ext in zst xz;do
|
||||||
local search=${pkg%.*}
|
if pkgfile=$(find_cached_pkgfile "$pkg.$ext");then
|
||||||
for dir in "${searchdirs[@]}"; do
|
msg "Found: %s" "${pkgfile}"
|
||||||
[[ -d $dir ]] || continue
|
packages+=("$pkg.$ext")
|
||||||
results+=$(find "$dir" -type f -name "$search.*" ! -path '*.sig' ! -path '*.log')
|
action='add'
|
||||||
|
ln -sf "${pkgfile}"{,.sig} "$repo_path"/
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
case ${#results[*]} in
|
|
||||||
0)
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
1)
|
|
||||||
printf '%s\n' "${results[0]}"
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
error 'Multiple packages found:'
|
|
||||||
printf '\t%s\n' "${results[@]}" >&2
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get_pkgbasename(){
|
remove(){
|
||||||
local pkg="$1"
|
packages+=("$pkgname")
|
||||||
local pkgbasename name ver rel arch
|
action='remove'
|
||||||
|
rm "$repo_path"/"$pkgname"*pkg.tar*
|
||||||
pkgbasename=${pkg%.pkg.tar.?z}
|
|
||||||
arch=${pkgbasename##*-}
|
|
||||||
pkgbasename=${pkgbasename%-"$arch"}
|
|
||||||
|
|
||||||
rel=${pkgbasename##*-}
|
|
||||||
pkgbasename=${pkgbasename%-"$rel"}
|
|
||||||
|
|
||||||
ver=${pkgbasename##*-}
|
|
||||||
|
|
||||||
name=${pkgbasename%-"$ver"}
|
|
||||||
echo $name
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update_repo2(){
|
repo_action(){
|
||||||
local repo="$1"
|
local packages=() action= func="$1"
|
||||||
local repo_path=${REPOS_ROOT}/$repo/os/${ARCH} packages=()
|
for pkgname in ${passfiles[@]}; do
|
||||||
|
"$func"
|
||||||
for name in ${passfiles[@]}; do
|
|
||||||
if pkgfile=$(find_cached_pkgfile "$name");then
|
|
||||||
info "Found: %s" "$name"
|
|
||||||
if ${add_pkg};then
|
|
||||||
local action='add'
|
|
||||||
packages+=("$name")
|
|
||||||
if ${sign_pkg};then
|
|
||||||
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
|
|
||||||
signfile ${pkgfile}
|
|
||||||
fi
|
|
||||||
ln -sf ${pkgfile}{,.sig} $repo_path/
|
|
||||||
elif ${del_pkg};then
|
|
||||||
local action='remove'
|
|
||||||
packages+=("$(get_pkgbasename "$name")")
|
|
||||||
[[ -e $repo_path/$name ]] && rm $repo_path/$name
|
|
||||||
[[ -e $repo_path/$name.sig ]] && rm $repo_path/$name.sig
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
cd $repo_path
|
cd $repo_path
|
||||||
if [[ -n $action ]]; then
|
if [[ -n "$action" ]]; then
|
||||||
repo-$action -R $repo.${PKGDBEXT} ${packages[@]}
|
repo-"$action" -R "${dest_repo}"."${PKGDBEXT}" "${packages[@]}"
|
||||||
${linksdb} && links-$action $repo.${LINKSDBEXT} ${packages[@]}
|
${linksdb} && links-"$action" "${dest_repo}"."${LINKSDBEXT}" "${packages[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
update_repo(){
|
|
||||||
local repo="$1" pkgfile ver
|
|
||||||
local repo_path=${REPOS_ROOT}/$repo/os/${ARCH} packages=()
|
|
||||||
|
|
||||||
. PKGBUILD
|
|
||||||
|
|
||||||
local pkgsearch=(${pkgname[@]})
|
|
||||||
if check_option "debug" "y"; then
|
|
||||||
pkgbase=${pkgbase:-${pkgname[@]}}
|
|
||||||
pkgsearch+=("${pkgbase}-debug")
|
|
||||||
fi
|
|
||||||
|
|
||||||
for name in ${pkgsearch[@]}; do
|
|
||||||
pkgarch=$(get_pkg_arch "$name")
|
|
||||||
ver=$(get_full_version)
|
|
||||||
if pkgfile=$(find_cached_package "$name" "$ver" "$pkgarch");then
|
|
||||||
local pkg=${pkgfile##*/}
|
|
||||||
info "Found: %s" "$pkg"
|
|
||||||
if ${add_pkg};then
|
|
||||||
local action='add'
|
|
||||||
packages+=("$pkg")
|
|
||||||
if ${sign_pkg};then
|
|
||||||
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
|
|
||||||
signfile ${pkgfile}
|
|
||||||
fi
|
|
||||||
ln -sf ${pkgfile}{,.sig} $repo_path/
|
|
||||||
elif ${del_pkg};then
|
|
||||||
local action='remove'
|
|
||||||
packages+=("$name")
|
|
||||||
[[ -e $repo_path/$pkg ]] && rm $repo_path/$pkg
|
|
||||||
[[ -e $repo_path/$pkg.sig ]] && rm $repo_path/$pkg.sig
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
cd $repo_path
|
|
||||||
if [[ -n $action ]]; then
|
|
||||||
repo-$action -R $repo.${PKGDBEXT} ${packages[@]}
|
|
||||||
${linksdb} && links-$action $repo.${LINKSDBEXT} ${packages[@]}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
load_makepkg_config
|
load_makepkg_config
|
||||||
|
|
||||||
add_pkg=false
|
add_pkg=false
|
||||||
del_pkg=false
|
rm_pkg=false
|
||||||
sign_pkg=false
|
|
||||||
linksdb=false
|
linksdb=false
|
||||||
|
|
||||||
cmd=${0##*/}
|
cmd=${0##*/}
|
||||||
@@ -144,24 +57,24 @@ dest_repo=${cmd#*-}
|
|||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage: ${cmd} [options]"
|
echo "Usage: ${cmd} [options]"
|
||||||
|
echo ' -d <dest> Destination repository'
|
||||||
echo ' -a Add package(s) to repository'
|
echo ' -a Add package(s) to repository'
|
||||||
echo ' -r Remove package(s) from repository'
|
echo ' -r Remove package(s) from repository'
|
||||||
echo ' -l Use links db'
|
echo ' -l Use links db'
|
||||||
echo ' -s Sign package(s)'
|
|
||||||
echo ' -h This help'
|
echo ' -h This help'
|
||||||
echo ''
|
echo ''
|
||||||
echo ''
|
echo ''
|
||||||
exit $1
|
exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
opts='arlsh'
|
opts='arlhd:'
|
||||||
|
|
||||||
while getopts "${opts}" arg; do
|
while getopts "${opts}" arg; do
|
||||||
case "${arg}" in
|
case "${arg}" in
|
||||||
a) add_pkg=true; del_pkg=false ;;
|
d) dest_repo="$OPTARG" ;;
|
||||||
r) del_pkg=true; add_pkg=false ;;
|
a) add_pkg=true; rm_pkg=false ;;
|
||||||
|
r) rm_pkg=true; add_pkg=false ;;
|
||||||
l) linksdb=true ;;
|
l) linksdb=true ;;
|
||||||
s) sign_pkg=true ;;
|
|
||||||
h|?) usage 0 ;;
|
h|?) usage 0 ;;
|
||||||
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
||||||
esac
|
esac
|
||||||
@@ -173,8 +86,13 @@ passfiles="$@"
|
|||||||
|
|
||||||
prepare_dir "${REPOS_ROOT}"
|
prepare_dir "${REPOS_ROOT}"
|
||||||
|
|
||||||
|
repo_path=${REPOS_ROOT}/${dest_repo}/os/${CARCH}
|
||||||
|
|
||||||
if [[ -n ${passfiles[@]} ]]; then
|
if [[ -n ${passfiles[@]} ]]; then
|
||||||
update_repo2 "${dest_repo}"
|
if ${add_pkg}; then
|
||||||
else
|
repo_action add
|
||||||
update_repo "${dest_repo}"
|
fi
|
||||||
|
if ${rm_pkg}; then
|
||||||
|
repo_action remove
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
. @libdir@/artools/util-base.sh
|
. @libdir@/artools/util-base.sh
|
||||||
|
|
||||||
write_attr(){
|
srcyaml_write_attr(){
|
||||||
local ident1="$1" ident2="$2" ident3="$3"
|
local ident1="$1" ident2="$2" ident3="$3"
|
||||||
local attrname=$4 attrvalues=("${@:5}")
|
local attrname=$4 attrvalues=("${@:5}")
|
||||||
|
|
||||||
@@ -24,47 +24,41 @@ write_attr(){
|
|||||||
attrvalues=("${attrvalues[@]%[[:space:]]}")
|
attrvalues=("${attrvalues[@]%[[:space:]]}")
|
||||||
|
|
||||||
case $attrname in
|
case $attrname in
|
||||||
makedepends|checkdepends|depends|provides|arch)
|
pkgver|pkgrel|epoch|url|install|changelog)
|
||||||
|
for v in ${attrvalues[@]};do
|
||||||
|
Yaml+=$(write_yaml_map $ident3 "$attrname" "$v")
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
*)
|
||||||
Yaml+=$(write_yaml_map $ident1 "$attrname")
|
Yaml+=$(write_yaml_map $ident1 "$attrname")
|
||||||
for v in ${attrvalues[@]};do
|
for v in ${attrvalues[@]};do
|
||||||
Yaml+=$(write_yaml_seq $ident2 "$v")
|
Yaml+=$(write_yaml_seq $ident2 "$v")
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
*)
|
|
||||||
for v in ${attrvalues[@]};do
|
|
||||||
Yaml+=$(write_yaml_map $ident3 "$attrname" "$v")
|
|
||||||
done
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
extract_info() {
|
pkgbuild_extract_to_yaml() {
|
||||||
local pkgname=$1 attrname=$2 isarray=$3 outvalue=
|
local pkgname=$1 attrname=$2 isarray=$3 outvalue=
|
||||||
|
|
||||||
if get_pkgbuild_attribute "$pkgname" "$attrname" "$isarray" 'outvalue'; then
|
if get_pkgbuild_attribute "$pkgname" "$attrname" "$isarray" 'outvalue'; then
|
||||||
[[ -z $pkgname ]] && write_attr 2 4 2 "$attrname" "${outvalue[@]}"
|
[[ -z $pkgname ]] && srcyaml_write_attr 2 4 2 "$attrname" "${outvalue[@]}"
|
||||||
[[ -n $pkgname ]] && write_attr 4 6 2 "$attrname" "${outvalue[@]}"
|
[[ -n $pkgname ]] && srcyaml_write_attr 4 6 2 "$attrname" "${outvalue[@]}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
write_details() {
|
srcyaml_write_section_details() {
|
||||||
local attr package_arch a
|
local attr package_arch a
|
||||||
local multivalued_arch_attrs=(provides depends makedepends checkdepends)
|
local multivalued_arch_attrs=(source provides conflicts depends replaces
|
||||||
|
optdepends makedepends checkdepends)
|
||||||
local singlevalued=()
|
# "${known_hash_algos[@]/%/sums}")
|
||||||
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
|
for attr in "${singlevalued[@]}"; do
|
||||||
extract_info "$1" "$attr" 0
|
pkgbuild_extract_to_yaml "$1" "$attr" 0
|
||||||
done
|
done
|
||||||
|
|
||||||
for attr in "${multivalued[@]}"; do
|
for attr in "${multivalued[@]}"; do
|
||||||
extract_info "$1" "$attr" 1
|
pkgbuild_extract_to_yaml "$1" "$attr" 1
|
||||||
done
|
done
|
||||||
|
|
||||||
get_pkgbuild_attribute "$1" 'arch' 1 'package_arch'
|
get_pkgbuild_attribute "$1" 'arch' 1 'package_arch'
|
||||||
@@ -73,47 +67,56 @@ write_details() {
|
|||||||
[[ $a = any ]] && continue
|
[[ $a = any ]] && continue
|
||||||
|
|
||||||
for attr in "${multivalued_arch_attrs[@]}"; do
|
for attr in "${multivalued_arch_attrs[@]}"; do
|
||||||
extract_info "$1" "${attr}_$a" 1
|
pkgbuild_extract_to_yaml "$1" "${attr}_$a" 1
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
write_pkg_yaml(){
|
yaml_write_global() {
|
||||||
|
local singlevalued=(pkgver pkgrel epoch url install changelog) #pkgdesc
|
||||||
Yaml=$(write_yaml_header)
|
local multivalued=(arch groups license checkdepends makedepends
|
||||||
|
depends provides conflicts replaces)
|
||||||
|
#noextract options backup optdepends
|
||||||
|
#source validpgpkeys "${known_hash_algos[@]/%/sums}")
|
||||||
|
|
||||||
Yaml+=$(write_empty_line)
|
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 0 "pkgbase")
|
||||||
Yaml+=$(write_yaml_map 2 "pkgname" "${pkgbase}")
|
Yaml+=$(write_yaml_map 2 "name" "${pkgbase:-$pkgname}")
|
||||||
${details} && write_details ''
|
${details} && srcyaml_write_section_details ''
|
||||||
Yaml+=$(write_yaml_map 2 "fullver" "${ver}")
|
|
||||||
|
|
||||||
Yaml+=$(write_empty_line)
|
Yaml+=$(write_empty_line)
|
||||||
|
}
|
||||||
|
|
||||||
Yaml+=$(write_yaml_map 0 "package")
|
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")
|
||||||
for pkg in "${pkgname[@]}"; do
|
for pkg in "${pkgname[@]}"; do
|
||||||
Yaml+=$(write_yaml_seq_map 2 "pkgname" "$pkg")
|
Yaml+=$(write_yaml_seq_map 2 "pkgname" "$pkg")
|
||||||
${details} && write_details "$pkg"
|
${details} && srcyaml_write_section_details "$pkg"
|
||||||
done
|
done
|
||||||
|
|
||||||
Yaml+=$(write_empty_line)
|
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)
|
local pkgfile=$(print_all_package_names)
|
||||||
|
Yaml+=$(write_yaml_map 0 "files")
|
||||||
Yaml+=$(write_yaml_map 0 "pkgfile")
|
|
||||||
for f in ${pkgfile[@]};do
|
for f in ${pkgfile[@]};do
|
||||||
Yaml+=$(write_yaml_seq 2 "${f##*/}")
|
Yaml+=$(write_yaml_seq 2 "${f##*/}")
|
||||||
done
|
done
|
||||||
|
|
||||||
Yaml+=$(write_empty_line)
|
Yaml+=$(write_empty_line)
|
||||||
|
}
|
||||||
|
|
||||||
|
write_srcyaml(){
|
||||||
|
Yaml=$(write_yaml_header)
|
||||||
|
yaml_write_global
|
||||||
|
yaml_write_package
|
||||||
|
yaml_write_fileinfo
|
||||||
printf '%s' "${Yaml}"
|
printf '%s' "${Yaml}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,11 +142,13 @@ done
|
|||||||
|
|
||||||
shift $(( $OPTIND - 1 ))
|
shift $(( $OPTIND - 1 ))
|
||||||
|
|
||||||
[[ -f "$1"/PKGBUILD ]] || die "%s/PKGBUILD does not exist!" "$1"
|
srcpath=$(readlink -f "$1")
|
||||||
PACKAGE="$1"/PKGBUILD; shift
|
|
||||||
|
[[ -f "$srcpath"/PKGBUILD ]] || die "%s/PKGBUILD does not exist!" "$srcpath"
|
||||||
|
PACKAGE="$srcpath"/PKGBUILD; shift
|
||||||
|
|
||||||
. "$PACKAGE"
|
. "$PACKAGE"
|
||||||
|
|
||||||
load_makepkg_config
|
load_makepkg_config
|
||||||
|
|
||||||
write_pkg_yaml
|
write_srcyaml
|
||||||
|
46
bin/pkg/signpkg.in
Normal file
46
bin/pkg/signpkg.in
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; version 2 of the License.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
. @libdir@/artools/util-pkg.sh
|
||||||
|
|
||||||
|
prepare_artools
|
||||||
|
|
||||||
|
load_makepkg_config
|
||||||
|
|
||||||
|
passfiles="$@"
|
||||||
|
|
||||||
|
sign_pkg(){
|
||||||
|
local file_to_sign="$1"
|
||||||
|
|
||||||
|
if [ ! -e "$file_to_sign" ]; then
|
||||||
|
error "%s does not exist!" "$file_to_sign"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${BUILDBOT_GPGP}" ]]; then
|
||||||
|
msg "Signing [%s]" "${file_to_sign##*/}"
|
||||||
|
gpg --batch --passphrase "${BUILDBOT_GPGP}" --detach-sign "$file_to_sign"
|
||||||
|
else
|
||||||
|
msg2 "Signing [%s] with key %s" "${file_to_sign##*/}" "${GPGKEY}..."
|
||||||
|
gpg --detach-sign --use-agent -u "${GPGKEY}" "$file_to_sign"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
for pkg in ${passfiles[@]}; do
|
||||||
|
if pkgfile=$(find_cached_pkgfile "$pkg");then
|
||||||
|
msg2 "Found: %s" "${pkgfile}"
|
||||||
|
[[ -e "${pkgfile}".sig ]] && rm "${pkgfile}".sig
|
||||||
|
sign_pkg "${pkgfile}"
|
||||||
|
fi
|
||||||
|
done
|
@@ -9,32 +9,28 @@
|
|||||||
|
|
||||||
# TREE_DIR_ARTIX=${WORKSPACE_DIR}/artixlinux
|
# TREE_DIR_ARTIX=${WORKSPACE_DIR}/artixlinux
|
||||||
|
|
||||||
# customize buildtree, packages and community should be enabled
|
# customize buildtree; uncomment to include
|
||||||
# TREE_NAMES_ARTIX=(
|
# TREE_NAMES_ARTIX=(
|
||||||
# packages
|
|
||||||
# community
|
|
||||||
# packages-kernel
|
# packages-kernel
|
||||||
# packages-net
|
|
||||||
# packages-gfx
|
|
||||||
# packages-openrc
|
# packages-openrc
|
||||||
# packages-runit
|
# packages-runit
|
||||||
# packages-s6
|
# packages-s6
|
||||||
# packages-media
|
|
||||||
# packages-xorg
|
|
||||||
# packages-python
|
# packages-python
|
||||||
# packages-perl
|
# packages-perl
|
||||||
# packages-java
|
# packages-java
|
||||||
# packages-qt5
|
|
||||||
# packages-devel
|
|
||||||
# packages-ruby
|
# packages-ruby
|
||||||
# packages-gtk
|
# packages-kf5
|
||||||
|
# packages-plasma
|
||||||
|
# packages-kde
|
||||||
# packages-gnome
|
# packages-gnome
|
||||||
# packages-cinnamon
|
# packages-cinnamon
|
||||||
# packages-lxqt
|
# packages-lxqt
|
||||||
# packages-mate
|
# packages-mate
|
||||||
# packages-kde
|
|
||||||
# packages-xfce
|
# packages-xfce
|
||||||
# packages-wm
|
# packages-wm
|
||||||
|
# packages-devel
|
||||||
|
# packages-lib32
|
||||||
|
# packages-qt6
|
||||||
# )
|
# )
|
||||||
|
|
||||||
# HOST_TREE_ARCH=git://git.archlinux.org/svntogit
|
# HOST_TREE_ARCH=git://git.archlinux.org/svntogit
|
||||||
|
@@ -97,25 +97,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#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
|
|
||||||
|
111
data/pacman/pacman-docker.conf
Normal file
111
data/pacman/pacman-docker.conf
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
#
|
||||||
|
# /etc/pacman.conf
|
||||||
|
#
|
||||||
|
# See the pacman.conf(5) manpage for option and repository directives
|
||||||
|
|
||||||
|
#
|
||||||
|
# GENERAL OPTIONS
|
||||||
|
#
|
||||||
|
[options]
|
||||||
|
# The following paths are commented out with their default values listed.
|
||||||
|
# If you wish to use different paths, uncomment and update the paths.
|
||||||
|
#RootDir = /
|
||||||
|
#DBPath = /var/lib/pacman/
|
||||||
|
#CacheDir = /var/cache/pacman/pkg/
|
||||||
|
#LogFile = /var/log/pacman.log
|
||||||
|
#GPGDir = /etc/pacman.d/gnupg/
|
||||||
|
#HookDir = /etc/pacman.d/hooks/
|
||||||
|
HoldPkg = pacman glibc
|
||||||
|
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||||
|
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||||
|
#CleanMethod = KeepInstalled
|
||||||
|
Architecture = auto
|
||||||
|
|
||||||
|
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||||
|
#IgnorePkg =
|
||||||
|
#IgnoreGroup =
|
||||||
|
|
||||||
|
#NoUpgrade =
|
||||||
|
NoExtract = usr/share/help/* !usr/share/help/en*
|
||||||
|
NoExtract = usr/share/gtk-doc/html/* usr/share/doc/*
|
||||||
|
NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/*
|
||||||
|
NoExtract = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.*
|
||||||
|
NoExtract = !usr/share/*locales/en_?? !usr/share/*locales/i18n* !usr/share/*locales/iso*
|
||||||
|
NoExtract = !usr/share/*locales/trans*
|
||||||
|
NoExtract = usr/share/man/* usr/share/info/*
|
||||||
|
NoExtract = usr/share/vim/vim*/lang/*
|
||||||
|
|
||||||
|
# Misc options
|
||||||
|
#UseSyslog
|
||||||
|
#Color
|
||||||
|
#TotalDownload
|
||||||
|
CheckSpace
|
||||||
|
VerbosePkgLists
|
||||||
|
|
||||||
|
|
||||||
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||||||
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
|
SigLevel = Required DatabaseOptional
|
||||||
|
LocalFileSigLevel = Optional
|
||||||
|
#RemoteFileSigLevel = Required
|
||||||
|
|
||||||
|
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||||
|
# keyring can then be populated with the keys of all official Artix Linux
|
||||||
|
# packagers with `pacman-key --populate archlinux artix`.
|
||||||
|
|
||||||
|
#
|
||||||
|
# REPOSITORIES
|
||||||
|
# - can be defined here or included from another file
|
||||||
|
# - pacman will search repositories in the order defined here
|
||||||
|
# - local/custom mirrors can be added here or in separate files
|
||||||
|
# - repositories listed first will take precedence when packages
|
||||||
|
# have identical names, regardless of version number
|
||||||
|
# - URLs will have $repo replaced by the name of the current repo
|
||||||
|
# - URLs will have $arch replaced by the name of the architecture
|
||||||
|
#
|
||||||
|
# Repository entries are of the format:
|
||||||
|
# [repo-name]
|
||||||
|
# Server = ServerName
|
||||||
|
# Include = IncludePath
|
||||||
|
#
|
||||||
|
# The header [repo-name] is crucial - it must be present and
|
||||||
|
# uncommented to enable the repo.
|
||||||
|
#
|
||||||
|
|
||||||
|
# The gremlins repositories are disabled by default. To enable, uncomment the
|
||||||
|
# repo name header and Include lines. You can add preferred servers immediately
|
||||||
|
# after the header, and they will be used before the default mirrors.
|
||||||
|
|
||||||
|
[system]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[world]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[galaxy]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# If you want to run 32 bit applications on your x86_64 system,
|
||||||
|
# enable the lib32 repositories as required here.
|
||||||
|
|
||||||
|
#[lib32]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
|
# tips on creating your own repositories.
|
||||||
|
#[custom]
|
||||||
|
#SigLevel = Optional TrustAll
|
||||||
|
#Server = file:///home/custompkgs
|
||||||
|
|
||||||
|
#
|
||||||
|
# ARCHLINUX
|
||||||
|
#
|
||||||
|
|
||||||
|
#[extra]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist-arch
|
||||||
|
|
||||||
|
#[community]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist-arch
|
||||||
|
|
||||||
|
#[multilib]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist-arch
|
@@ -109,37 +109,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#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
|
|
||||||
|
@@ -106,34 +106,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#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
|
|
||||||
|
@@ -97,25 +97,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#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
|
|
||||||
|
@@ -109,37 +109,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#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
|
|
||||||
|
@@ -106,34 +106,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#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
|
|
||||||
|
@@ -97,25 +97,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#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
|
|
||||||
|
@@ -97,25 +97,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#[custom]
|
#[custom]
|
||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#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
|
|
||||||
|
@@ -36,7 +36,9 @@ add_svc_runit(){
|
|||||||
add_svc_s6(){
|
add_svc_s6(){
|
||||||
local mnt="$1" names="$2" valid="" rlvl="${3:-default}"
|
local mnt="$1" names="$2" valid="" rlvl="${3:-default}"
|
||||||
for svc in $names; do
|
for svc in $names; do
|
||||||
if [[ -d $mnt/etc/s6/sv/$svc ]]; then
|
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"
|
msg2 "Setting %s ..." "$svc"
|
||||||
valid=${valid:-}${valid:+' '}${svc}
|
valid=${valid:-}${valid:+' '}${svc}
|
||||||
fi
|
fi
|
||||||
|
@@ -15,9 +15,8 @@
|
|||||||
prepare_boot_extras(){
|
prepare_boot_extras(){
|
||||||
local src="$1" dest=${iso_root}/boot
|
local src="$1" dest=${iso_root}/boot
|
||||||
|
|
||||||
for u in intel amd;do
|
for fw in intel amd; do
|
||||||
cp $src/boot/$u-ucode.img $dest/$u-ucode.img
|
cp $src/boot/$fw-ucode.img $dest/$fw-ucode.img
|
||||||
cp $src/usr/share/licenses/$u-ucode/LICENSE $dest/$u-ucode.LICENSE
|
|
||||||
done
|
done
|
||||||
|
|
||||||
cp $src/boot/memtest86+/memtest.bin $dest/memtest
|
cp $src/boot/memtest86+/memtest.bin $dest/memtest
|
||||||
|
@@ -103,83 +103,3 @@ config_tree(){
|
|||||||
fi
|
fi
|
||||||
cd ..
|
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"
|
|
||||||
# }
|
|
||||||
|
@@ -33,7 +33,7 @@ subrepo_init() {
|
|||||||
subrepo_push(){
|
subrepo_push(){
|
||||||
local pkg="$1"
|
local pkg="$1"
|
||||||
msg2 "Subrepo push (%s)" "$pkg"
|
msg2 "Subrepo push (%s)" "$pkg"
|
||||||
git subrepo push "$pkg"
|
git subrepo push "$pkg" || die "%s push failed" "$pkg"
|
||||||
}
|
}
|
||||||
|
|
||||||
subrepo_clean(){
|
subrepo_clean(){
|
||||||
|
@@ -16,10 +16,11 @@ shopt -s extglob
|
|||||||
|
|
||||||
get_compliant_name(){
|
get_compliant_name(){
|
||||||
local gitname="$1"
|
local gitname="$1"
|
||||||
case $gitname in
|
case "$gitname" in
|
||||||
*+) gitname=${gitname//+/plus}
|
*+) gitname=${gitname//+/plus} ;;
|
||||||
|
*+*) gitname=${gitname//+/-} ;;
|
||||||
esac
|
esac
|
||||||
echo $gitname
|
echo "$gitname"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_arch_repos(){
|
set_arch_repos(){
|
||||||
@@ -32,66 +33,28 @@ set_arch_repos(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
find_repo(){
|
find_repo(){
|
||||||
local pkg="$1" repo=
|
local pkg="$1" repo= pkgarch="${2:-${CARCH}}"
|
||||||
for r in ${ARCH_REPOS[@]};do
|
for r in ${ARCH_REPOS[@]};do
|
||||||
[[ -f $pkg/repos/$r-${ARCH}/PKGBUILD ]] && repo=$r-${ARCH}
|
[[ -f $pkg/repos/$r-$pkgarch/PKGBUILD ]] && repo=repos/"$r-$pkgarch"
|
||||||
[[ -f $pkg/repos/$r-any/PKGBUILD ]] && repo=$r-any
|
[[ -f $pkg/repos/$r-any/PKGBUILD ]] && repo=repos/"$r"-any
|
||||||
|
[[ -f $pkg/$pkgarch/$r/PKGBUILD ]] && repo="$pkgarch/$r"
|
||||||
done
|
done
|
||||||
echo $repo
|
echo $repo
|
||||||
}
|
}
|
||||||
|
|
||||||
find_pkg(){
|
find_pkg(){
|
||||||
local searchdir="$1" pkg="$2"
|
local searchdir="$1" pkg="$2"
|
||||||
local result=$(find $searchdir -mindepth 2 -maxdepth 2 -type d -name "$pkg")
|
local result=$(find "$searchdir" -mindepth 2 -maxdepth 2 -type d -name "$pkg")
|
||||||
echo $result
|
echo "$result"
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgver_equal() {
|
find_cached_pkgfile() {
|
||||||
if [[ $1 = *-* && $2 = *-* ]]; then
|
|
||||||
# if both versions have a pkgrel, then they must be an exact match
|
|
||||||
[[ $1 = "$2" ]]
|
|
||||||
else
|
|
||||||
# otherwise, trim any pkgrel and compare the bare version.
|
|
||||||
[[ ${1%%-*} = "${2%%-*}" ]]
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
find_cached_package() {
|
|
||||||
local searchdirs=("$PKGDEST" "$PWD") results=()
|
local searchdirs=("$PKGDEST" "$PWD") results=()
|
||||||
local targetname=$1 targetver=$2 targetarch=$3
|
local pkg="$1"
|
||||||
local dir pkg pkgbasename name ver rel arch r results
|
|
||||||
|
|
||||||
for dir in "${searchdirs[@]}"; do
|
for dir in "${searchdirs[@]}"; do
|
||||||
[[ -d $dir ]] || continue
|
[[ -d "$dir" ]] || continue
|
||||||
|
[[ -e "$dir/$pkg" ]] && results+=("$dir/$pkg")
|
||||||
for pkg in "$dir"/*.pkg.tar?(.!(sig|*.*)); do
|
|
||||||
[[ -f $pkg ]] || continue
|
|
||||||
|
|
||||||
# avoid adding duplicates of the same inode
|
|
||||||
for r in "${results[@]}"; do
|
|
||||||
[[ $r -ef $pkg ]] && continue 2
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# split apart package filename into parts
|
|
||||||
pkgbasename=${pkg##*/}
|
|
||||||
pkgbasename=${pkgbasename%.pkg.tar*}
|
|
||||||
|
|
||||||
arch=${pkgbasename##*-}
|
|
||||||
pkgbasename=${pkgbasename%-"$arch"}
|
|
||||||
|
|
||||||
rel=${pkgbasename##*-}
|
|
||||||
pkgbasename=${pkgbasename%-"$rel"}
|
|
||||||
|
|
||||||
ver=${pkgbasename##*-}
|
|
||||||
name=${pkgbasename%-"$ver"}
|
|
||||||
|
|
||||||
if [[ $targetname = "$name" && $targetarch = "$arch" ]] &&
|
|
||||||
pkgver_equal "$targetver" "$ver-$rel"; then
|
|
||||||
results+=("$pkg")
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
case ${#results[*]} in
|
case ${#results[*]} in
|
||||||
0)
|
0)
|
||||||
return 1
|
return 1
|
||||||
|
@@ -36,39 +36,37 @@ load_pkg_config(){
|
|||||||
|
|
||||||
TREE_DIR_ARTIX=${TREE_DIR_ARTIX:-"${WORKSPACE_DIR}/artixlinux"}
|
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[@]} ]] && \
|
[[ -z ${TREE_NAMES_ARTIX[@]} ]] && \
|
||||||
TREE_NAMES_ARTIX=(
|
TREE_NAMES_ARTIX=(
|
||||||
packages
|
|
||||||
community
|
|
||||||
packages-kernel
|
packages-kernel
|
||||||
packages-net
|
"${init_tree[@]}"
|
||||||
packages-gfx
|
"${dev_tree[@]}"
|
||||||
packages-openrc
|
"${desktop_tree[@]}"
|
||||||
packages-runit
|
|
||||||
packages-s6
|
|
||||||
packages-xorg
|
|
||||||
packages-python
|
|
||||||
packages-perl
|
|
||||||
packages-java
|
|
||||||
packages-qt5
|
|
||||||
packages-devel
|
packages-devel
|
||||||
packages-ruby
|
packages-lib32
|
||||||
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"}
|
HOST_TREE_ARTIX=${HOST_TREE_ARTIX:-"gitea@${GIT_DOMAIN}:artixlinux"}
|
||||||
|
|
||||||
TREE_DIR_ARCH=${TREE_DIR_ARCH:-"${WORKSPACE_DIR}/archlinux"}
|
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'}
|
HOST_TREE_ARCH=${HOST_TREE_ARCH:-'git://git.archlinux.org/svntogit'}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user