forked from artix/artools
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1d3c77dc73 | ||
![]() |
1cccece399 | ||
![]() |
cc8b47912e | ||
![]() |
f36cf35d9a | ||
![]() |
cca5283db6 | ||
![]() |
d6bf8bcf12 | ||
![]() |
88886de9e9 |
@@ -18,42 +18,36 @@ SYSCONFDIR='@sysconfdir@'
|
|||||||
import ${LIBDIR}/util.sh
|
import ${LIBDIR}/util.sh
|
||||||
import ${LIBDIR}/util-pkg.sh
|
import ${LIBDIR}/util-pkg.sh
|
||||||
|
|
||||||
del_from_repo(){
|
update_repo(){
|
||||||
local ver
|
local repo="$1" pkgfile ver ext=db.tar.xz
|
||||||
local repo="$1"
|
local repo_path=${repos_root}/$repo/os/${target_arch} packages=()
|
||||||
local repo_path=${repos_root}/$repo/os/${target_arch}
|
|
||||||
source PKGBUILD
|
source PKGBUILD
|
||||||
for name in ${pkgname[@]};do
|
for name in ${pkgname[@]};do
|
||||||
[[ $arch == any ]] && CARCH=any
|
[[ $arch == any ]] && CARCH=any
|
||||||
ver=$(get_full_version $name)
|
ver=$(get_full_version "$name")
|
||||||
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
|
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
|
||||||
info "pkgfile: %s" "${pkgfile##*/}"
|
local pkg=${pkgfile##*/}
|
||||||
repo-remove -R $repo_path/$repo.db.tar.xz $name
|
info "Found: %s" "$pkg"
|
||||||
[[ -e $repo_path/${pkgfile##*/} ]] && rm -v $repo_path/${pkgfile##*/}
|
if ${add_pkg};then
|
||||||
[[ -e $repo_path/${pkgfile##*/}.sig ]] && rm -v $repo_path/${pkgfile##*/}.sig
|
local action='add'
|
||||||
fi
|
packages+=("$pkg")
|
||||||
done
|
# checkpkg $pkg
|
||||||
}
|
if ${sign_pkg};then
|
||||||
|
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
|
||||||
add_to_repo(){
|
signfile ${pkgfile}
|
||||||
local ver pkgfile=
|
fi
|
||||||
local repo="$1"
|
ln -sf ${pkgfile}{,.sig} $repo_path/
|
||||||
local repo_path=${repos_root}/$repo/os/${target_arch}
|
elif ${del_pkg};then
|
||||||
source PKGBUILD
|
local action='remove'
|
||||||
for name in ${pkgname[@]};do
|
packages+=("$name")
|
||||||
[[ $arch == any ]] && CARCH=any
|
[[ -e $repo_path/$pkg ]] && rm $repo_path/$pkg
|
||||||
ver=$(get_full_version $name)
|
[[ -e $repo_path/$pkg.sig ]] && rm $repo_path/$pkg.sig
|
||||||
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then
|
|
||||||
info "pkgfile: %s" "${pkgfile##*/}"
|
|
||||||
if ${sign_pkg};then
|
|
||||||
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
|
|
||||||
signfile ${pkgfile}
|
|
||||||
fi
|
fi
|
||||||
ln -sf ${pkgfile}{,.sig} $repo_path/
|
|
||||||
cd $repo_path
|
|
||||||
repo-add -R $repo.db.tar.xz ${pkgfile##*/}
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
cd $repo_path
|
||||||
|
repo-$action -R $repo.$ext ${packages[@]}
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
display_settings(){
|
display_settings(){
|
||||||
@@ -84,9 +78,9 @@ sign_pkg=false
|
|||||||
usage() {
|
usage() {
|
||||||
echo "Usage: ${0##*/} [options]"
|
echo "Usage: ${0##*/} [options]"
|
||||||
echo " -d Destination repository [default:${repository}]"
|
echo " -d Destination repository [default:${repository}]"
|
||||||
echo ' -a Add package to repository'
|
echo ' -a Add package(s) to repository'
|
||||||
echo ' -r Remove package from repository'
|
echo ' -r Remove package(s) from repository'
|
||||||
echo ' -s Sign package'
|
echo ' -s Sign package(s)'
|
||||||
echo ' -q Query settings and pretend upload'
|
echo ' -q Query settings and pretend upload'
|
||||||
echo ' -h This help'
|
echo ' -h This help'
|
||||||
echo ''
|
echo ''
|
||||||
@@ -101,8 +95,8 @@ opts='d:arsqh'
|
|||||||
while getopts "${opts}" arg; do
|
while getopts "${opts}" arg; do
|
||||||
case "${arg}" in
|
case "${arg}" in
|
||||||
d) repository="$OPTARG" ;;
|
d) repository="$OPTARG" ;;
|
||||||
a) add_pkg=true ;;
|
a) add_pkg=true; del_pkg=false ;;
|
||||||
r) del_pkg=true ;;
|
r) del_pkg=true; add_pkg=false ;;
|
||||||
s) sign_pkg=true ;;
|
s) sign_pkg=true ;;
|
||||||
q) pretend=true ;;
|
q) pretend=true ;;
|
||||||
h|?) usage 0 ;;
|
h|?) usage 0 ;;
|
||||||
@@ -116,8 +110,4 @@ prepare_dir "${repos_root}"
|
|||||||
|
|
||||||
${pretend} && display_settings && exit 1
|
${pretend} && display_settings && exit 1
|
||||||
|
|
||||||
${del_pkg} && del_from_repo "${repository}"
|
update_repo "${repository}"
|
||||||
|
|
||||||
${add_pkg} && add_to_repo "${repository}"
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
@@ -3,6 +3,4 @@ nbd
|
|||||||
>openrc artix-live-openrc
|
>openrc artix-live-openrc
|
||||||
squashfs-tools
|
squashfs-tools
|
||||||
artix-live-portable-efi
|
artix-live-portable-efi
|
||||||
virtualbox-guest-modules-artix
|
|
||||||
virtualbox-guest-utils
|
|
||||||
linux-lts-headers
|
linux-lts-headers
|
||||||
|
@@ -1,38 +0,0 @@
|
|||||||
#!/bin/ash
|
|
||||||
|
|
||||||
# /oldroot depends on things inside /oldroot/run/miso...
|
|
||||||
mkdir /oldrun
|
|
||||||
mount -n --move /oldroot/run /oldrun
|
|
||||||
|
|
||||||
# Unmount all mounts now.
|
|
||||||
#umount $(mount | awk '$3 ~/^\/oldroot/ {print $3}' | sort -r)
|
|
||||||
umount $(mount | awk '$3 ~/^\/oldroot/ {if($3 != "/run/miso/bootmnt") print $3}' | sort -r)
|
|
||||||
|
|
||||||
# Remove all dm-snapshot devices.
|
|
||||||
dmsetup remove_all
|
|
||||||
|
|
||||||
# Remove all loopback devices.
|
|
||||||
for _lup in $(grep ^/dev/loop /oldrun/miso/used_block_devices | tac); do
|
|
||||||
if ! losetup -d ${_lup} 2> /dev/null; then
|
|
||||||
umount -d ${_lup}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Unmount the space used to store *.cow.
|
|
||||||
umount /oldrun/miso/cowspace
|
|
||||||
|
|
||||||
# Unmount boot device if needed (no copytoram=y used)
|
|
||||||
if [[ ! -d /oldrun/miso/copytoram ]]; then
|
|
||||||
if [[ -d /oldrun/miso/img_dev ]]; then
|
|
||||||
umount /oldrun/miso/img_dev
|
|
||||||
else
|
|
||||||
umount /oldrun/miso/bootmnt
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# reboot / poweroff / halt, depending on the argument passed by init
|
|
||||||
# if something invalid is passed, we halt
|
|
||||||
case "$1" in
|
|
||||||
reboot|poweroff|halt) "$1" -f ;;
|
|
||||||
*) halt -f;;
|
|
||||||
esac
|
|
@@ -124,72 +124,72 @@ is_valid_repo(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
find_repo(){
|
find_repo(){
|
||||||
local pkg="$1" unstable="$2" repo=
|
local pkg="$1" incl="$2" repo=
|
||||||
|
|
||||||
if [[ -d $pkg/repos/core-x86_64 ]];then
|
if [[ -f $pkg/repos/core-x86_64/PKGBUILD ]];then
|
||||||
repo=core-x86_64
|
repo=core-x86_64
|
||||||
elif [[ -d $pkg/repos/core-any ]];then
|
elif [[ -f $pkg/repos/core-any/PKGBUILD ]];then
|
||||||
repo=core-any
|
repo=core-any
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/extra-x86_64 ]];then
|
if [[ -f $pkg/repos/extra-x86_64/PKGBUILD ]];then
|
||||||
repo=extra-x86_64
|
repo=extra-x86_64
|
||||||
elif [[ -d $pkg/repos/extra-any ]];then
|
elif [[ -f $pkg/repos/extra-any/PKGBUILD ]];then
|
||||||
repo=extra-any
|
repo=extra-any
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/testing-x86_64 ]];then
|
if [[ -f $pkg/repos/testing-x86_64/PKGBUILD ]];then
|
||||||
repo=testing-x86_64
|
repo=testing-x86_64
|
||||||
elif [[ -d $pkg/repos/testing-any ]];then
|
elif [[ -f $pkg/repos/testing-any/PKGBUILD ]];then
|
||||||
repo=testing-any
|
repo=testing-any
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/staging-x86_64 ]];then
|
if [[ -f $pkg/repos/staging-x86_64/PKGBUILD ]];then
|
||||||
repo=staging-x86_64
|
repo=staging-x86_64
|
||||||
elif [[ -d $pkg/repos/staging-any ]];then
|
elif [[ -f $pkg/repos/staging-any/PKGBUILD ]];then
|
||||||
repo=staging-any
|
repo=staging-any
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/community-x86_64 ]];then
|
if [[ -f $pkg/repos/community-x86_64/PKGBUILD ]];then
|
||||||
repo=community-x86_64
|
repo=community-x86_64
|
||||||
elif [[ -d $pkg/repos/community-any ]];then
|
elif [[ -f $pkg/repos/community-any/PKGBUILD ]];then
|
||||||
repo=community-any
|
repo=community-any
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/community-testing-x86_64 ]];then
|
if [[ -f $pkg/repos/community-testing-x86_64/PKGBUILD ]];then
|
||||||
repo=community-testing-x86_64
|
repo=community-testing-x86_64
|
||||||
elif [[ -d $pkg/repos/community-testing-any ]];then
|
elif [[ -f $pkg/repos/community-testing-any/PKGBUILD ]];then
|
||||||
repo=community-testing-any
|
repo=community-testing-any
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/community-staging-x86_64 ]];then
|
if [[ -f $pkg/repos/community-staging-x86_64/PKGBUILD ]];then
|
||||||
repo=community-staging-x86_64
|
repo=community-staging-x86_64
|
||||||
elif [[ -d $pkg/repos/community-staging-any ]];then
|
elif [[ -f $pkg/repos/community-staging-any/PKGBUILD ]];then
|
||||||
repo=community-staging-any
|
repo=community-staging-any
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/multilib-x86_64 ]];then
|
if [[ -f $pkg/repos/multilib-x86_64/PKGBUILD ]];then
|
||||||
repo=multilib-x86_64
|
repo=multilib-x86_64
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/multilib-testing-x86_64 ]];then
|
if [[ -f $pkg/repos/multilib-testing-x86_64/PKGBUILD ]];then
|
||||||
repo=multilib-testing-x86_64
|
repo=multilib-testing-x86_64
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/multilib-staging-x86_64 ]];then
|
if [[ -f $pkg/repos/multilib-staging-x86_64/PKGBUILD ]];then
|
||||||
repo=multilib-staging-x86_64
|
repo=multilib-staging-x86_64
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if $unstable;then
|
if $incl;then
|
||||||
if [[ -d $pkg/repos/gnome-unstable-x86_64 ]];then
|
if [[ -f $pkg/repos/gnome-unstable-x86_64/PKGBUILD ]];then
|
||||||
repo=gnome-unstable-x86_64
|
repo=gnome-unstable-x86_64
|
||||||
elif [[ -d $pkg/repos/gnome-unstable-any ]];then
|
elif [[ -f $pkg/repos/gnome-unstable-any/PKGBUILD ]];then
|
||||||
repo=gnome-unstable-any
|
repo=gnome-unstable-any
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d $pkg/repos/kde-unstable-x86_64 ]];then
|
if [[ -f $pkg/repos/kde-unstable-x86_64/PKGBUILD ]];then
|
||||||
repo=kde-unstable-x86_64
|
repo=kde-unstable-x86_64
|
||||||
elif [[ -d $pkg/repos/kde-unstable-any ]];then
|
elif [[ -f $pkg/repos/kde-unstable-any/PKGBUILD ]];then
|
||||||
repo=kde-unstable-any
|
repo=kde-unstable-any
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user