forked from artix/artools
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
defafdecce | |||
2c21030758 | |||
e29cd8817a |
@@ -135,7 +135,7 @@ from_arch(){
|
||||
local repo=$(find_repo "$srcpath")
|
||||
msg "repo: %s" "$repo"
|
||||
|
||||
local archpath=$srcpath/repos/$repo
|
||||
local archpath=$srcpath/$repo
|
||||
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
|
||||
|
||||
show_deps "$archpath"
|
||||
@@ -156,7 +156,7 @@ 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/repos/$repo
|
||||
archpath=$archpath/$repo
|
||||
msg2 "repo: %s" "$repo"
|
||||
show_deps "$archpath"
|
||||
}
|
||||
|
@@ -16,31 +16,44 @@
|
||||
|
||||
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(){
|
||||
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"
|
||||
# create new layout, copy & remove repos
|
||||
if [[ -d repos ]]; then
|
||||
msg "Switching to new layout ..."
|
||||
[[ ! -d "$CARCH" ]] && mkdir "$CARCH"
|
||||
|
||||
if [[ -d repos/"${REPO_SRC}-$CARCH" ]] || [[ -d repos/"${REPO_SRC}"-any ]]; then
|
||||
mkdir "$CARCH/${REPO_SRC}"
|
||||
local old_src="${REPO_SRC}-$CARCH"
|
||||
[[ "$arch" == any ]] && old_src="${REPO_SRC}"-any
|
||||
cp repos/"$old_src"/* "$CARCH/${REPO_SRC}"/
|
||||
git add $CARCH/${REPO_SRC}
|
||||
fi
|
||||
if [[ -d repos/"${REPO_DEST}-$CARCH" ]] || [[ -d repos/"${REPO_DEST}"-any ]]; then
|
||||
mkdir "$CARCH/${REPO_DEST}"
|
||||
local old_dest="${REPO_DEST}-$CARCH"
|
||||
[[ "$arch" == any ]] && old_dest="${REPO_DEST}"-any
|
||||
cp repos/"$old_dest"/* "$CARCH/${REPO_DEST}"/
|
||||
git add $CARCH/${REPO_DEST}
|
||||
fi
|
||||
|
||||
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
|
||||
[[ -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}"
|
||||
@@ -48,118 +61,80 @@ check_team(){
|
||||
fi
|
||||
}
|
||||
|
||||
commit_pkg(){
|
||||
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
|
||||
config() {
|
||||
[[ "${REPO_SRC}" != 'trunk' ]] && pkgbuild="$CARCH/${REPO_SRC}"/PKGBUILD
|
||||
|
||||
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
|
||||
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
|
||||
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}"
|
||||
if [[ ! -f "$pkgbuild" ]]; then
|
||||
pkgbuild=repos/"${REPO_SRC}-${CARCH}"/PKGBUILD
|
||||
[[ -f repos/"${REPO_SRC}"-any/PKGBUILD ]] && pkgbuild=repos/"${REPO_SRC}"-any/PKGBUILD
|
||||
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
|
||||
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(){
|
||||
repo_commit_pkg() {
|
||||
if [[ "${REPO_SRC}" == 'trunk' ]];then
|
||||
action='add'
|
||||
prepare_commit
|
||||
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(){
|
||||
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}")
|
||||
|
||||
config
|
||||
. $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/
|
||||
if [[ "${cmd}" == 'commitpkg' ]];then
|
||||
commit_pkg
|
||||
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
|
||||
repo_commit_pkg
|
||||
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}"
|
||||
@@ -168,22 +143,17 @@ repo_commit_pkg(){
|
||||
|
||||
git prune
|
||||
|
||||
check_team
|
||||
[[ "${cmd}" != 'commitpkg' ]] && check_team
|
||||
else
|
||||
error "Package '%s' does not exist!" "${PACKAGE}"
|
||||
die "Package '%s' does not exist!" "${PACKAGE}"
|
||||
fi
|
||||
}
|
||||
|
||||
is_valid_repo(){
|
||||
local src="$1" cases=
|
||||
set_arch_repos true true true
|
||||
for r in ${ARCH_REPOS[@]};do
|
||||
cases=${cases:-}${cases:+|}${r}
|
||||
done
|
||||
eval "case $src in
|
||||
${cases}|trunk) return 0 ;;
|
||||
case "${REPO_SRC}" in
|
||||
core|extra|community|multilib|testing|community-testing|multilib-testing|staging|community-staging|multilib-staging|gnome-unstable|kde-unstable|trunk) return 0 ;;
|
||||
*) return 1 ;;
|
||||
esac"
|
||||
esac
|
||||
}
|
||||
|
||||
load_makepkg_config
|
||||
@@ -193,6 +163,8 @@ PACKAGE=''
|
||||
remove=false
|
||||
push=false
|
||||
|
||||
pkgbuild=trunk/PKGBUILD
|
||||
|
||||
cmd=${0##*/}
|
||||
REPO_DEST=${cmd%pkg}
|
||||
|
||||
@@ -225,12 +197,8 @@ done
|
||||
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
if $(is_valid_repo "${REPO_SRC}");then
|
||||
if [[ "${cmd}" == 'commitpkg' ]];then
|
||||
commit_pkg
|
||||
else
|
||||
repo_commit_pkg
|
||||
fi
|
||||
if $(is_valid_repo);then
|
||||
run
|
||||
else
|
||||
error "source repository '%s' is not valid!" "${REPO_SRC}"
|
||||
die "source repository '%s' is not valid!" "${REPO_SRC}"
|
||||
fi
|
||||
|
@@ -26,16 +26,14 @@ get_import_path(){
|
||||
}
|
||||
|
||||
compare_m(){
|
||||
local artixver="$1" artixrepo="$2" archver="$3" archrepo="$4"
|
||||
|
||||
local result=$(vercmp "$artixver" "$archver")
|
||||
if [[ $artixrepo == *testing* ]] || [[ $artixrepo == *staging* ]]; then
|
||||
if [[ "$archrepo" == "$artixrepo" ]]; then
|
||||
msg_row "${table}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||
msg_row "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||
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
|
||||
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
|
||||
|
||||
@@ -43,22 +41,18 @@ compare_m(){
|
||||
}
|
||||
|
||||
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}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||
printf "%s\n" "${archrepo%-*}:$pkg" >> ${TREE_DIR_ARTIX}/pkg_upgrades.list
|
||||
msg_row_upgrade "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||
printf "%s\n" "${a}:$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}" "${archrepo%-*}" "${artixrepo%-*}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||
msg_row_downgrade "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
@@ -69,7 +63,7 @@ pre_compare(){
|
||||
group=${group##*/}
|
||||
local pkg=${pkgpath##*/}
|
||||
local artixrepo=$(find_repo "$pkgpath")
|
||||
local pkgbuild=$pkgpath/repos/$artixrepo/PKGBUILD
|
||||
local pkgbuild=$pkgpath/$artixrepo/PKGBUILD
|
||||
|
||||
if [[ -f $pkgbuild ]];then
|
||||
. $pkgbuild 2>/dev/null
|
||||
@@ -77,14 +71,19 @@ pre_compare(){
|
||||
|
||||
local archpath=$(get_import_path $pkg)
|
||||
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
|
||||
. $pkgbuild 2>/dev/null
|
||||
local archver=$(get_full_version)
|
||||
fi
|
||||
|
||||
"$func" "$artixver" "$artixrepo" "$archver" "$archrepo"
|
||||
"$func"
|
||||
|
||||
unset pkgver epoch pkgrel artixver archver pkgbuild archpath
|
||||
fi
|
||||
@@ -139,11 +138,11 @@ show_move_table(){
|
||||
update_db_cache(){
|
||||
msg "Updating database cache"
|
||||
for repo in "${searchrepos[@]}"; do
|
||||
local cachedir=${db_cache_dir}/${LINKSDBEXT}/${ARCH}/${repo}
|
||||
local cachedir=${db_cache_dir}/${LINKSDBEXT}/${CARCH}/${repo}
|
||||
rm -rf "$cachedir"
|
||||
mkdir -p "$cachedir"
|
||||
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"
|
||||
done
|
||||
msg "Done"
|
||||
@@ -173,41 +172,52 @@ show_lib_table() {
|
||||
is_db_entry() {
|
||||
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
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
check_pkg_in_db() {
|
||||
. $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
|
||||
}
|
||||
|
||||
check_new() {
|
||||
local func="$1"
|
||||
local pkgbuild=$pkgpath/$CARCH/$repo/PKGBUILD
|
||||
"$func"
|
||||
}
|
||||
|
||||
check_old() {
|
||||
local func="$1"
|
||||
for a in any ${CARCH};do
|
||||
local pkgbuild=$pkgpath/repos/$repo-$a/PKGBUILD
|
||||
"$func"
|
||||
done
|
||||
}
|
||||
|
||||
check_db(){
|
||||
local pkgpath="${1%/*}"
|
||||
local pkg=${pkgpath##*/}
|
||||
local sarch=(any ${ARCH})
|
||||
|
||||
for repo in ${ARCH_REPOS[@]};do
|
||||
for a in ${sarch[@]};do
|
||||
|
||||
local pkgbuild=$pkgpath/repos/$repo-$a/PKGBUILD
|
||||
|
||||
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
|
||||
for repo in ${!REPOS[@]};do
|
||||
if [[ -f $pkgpath/$CARCH/$repo/PKGBUILD ]]; then
|
||||
check_new "check_pkg_in_db"
|
||||
else
|
||||
check_old "check_pkg_in_db"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
@@ -32,10 +32,11 @@ set_arch_repos(){
|
||||
}
|
||||
|
||||
find_repo(){
|
||||
local pkg="$1" repo=
|
||||
local pkg="$1" repo= pkgarch="${2:-${CARCH}}"
|
||||
for r in ${ARCH_REPOS[@]};do
|
||||
[[ -f $pkg/repos/$r-${ARCH}/PKGBUILD ]] && repo=$r-${ARCH}
|
||||
[[ -f $pkg/repos/$r-any/PKGBUILD ]] && repo=$r-any
|
||||
[[ -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"
|
||||
done
|
||||
echo $repo
|
||||
}
|
||||
|
Reference in New Issue
Block a user