Compare commits

..

13 Commits

Author SHA1 Message Date
artoo
1d3c77dc73 Merge pull request #62 from artix-linux/devel
deploypkg: simplify code in update_repo()
2018-04-07 12:03:33 +02:00
udeved
1cccece399 deploypkg: simplify code in update_repo() 2018-04-06 23:05:15 +02:00
artoo
cc8b47912e Merge pull request #61 from artix-linux/devel
Devel
2018-04-06 22:19:26 +02:00
udeved
f36cf35d9a deploypkg: enable checkpkg on add 2018-04-06 22:17:46 +02:00
udeved
cca5283db6 deploypkg: optimize pacman db access 2018-04-06 22:04:39 +02:00
udeved
d6bf8bcf12 util-pkg: check for PKGBUILD instead of checking for repo dir in find_repo() 2018-04-06 21:04:49 +02:00
udeved
88886de9e9 remove vbox from base Packages-Live 2018-03-31 11:19:53 +02:00
artoo
55b0cd4ae2 Merge pull request #59 from artix-linux/devel
Devel
2018-03-30 23:39:01 +02:00
udeved
84a51f4a9e buildtree: code cleanup 2018-03-30 23:27:55 +02:00
udeved
87ad3a631a buildtree: add option to import from trunk, defaults to repos/$repo 2018-03-30 16:15:50 +02:00
udeved
2a70b5f123 commitpkg: quote some vars 2018-03-30 16:15:18 +02:00
udeved
3106e8975f commitpkg: make move more safe; prevent unwanted subdir in $repo in few cases 2018-03-30 02:18:25 +02:00
udeved
4a02e2d7be buildtree: init unstable false
unstable repos are only included on -x
2018-03-28 21:15:12 +02:00
6 changed files with 117 additions and 174 deletions

View File

@@ -66,14 +66,36 @@ show_version_table(){
source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
local archver=$(get_full_version $pkg)
fi
if [ $(vercmp $artixver $archver) -lt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
${upgrades} && msg_row_upgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
if [ $(vercmp $artixver $archver) -gt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
if [[ -n $archver ]] && [[ -n $archrepo ]];then
${downgrades} && msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
if ${artix};then
if [ $(vercmp $artixver $archver) -eq 0 ] || [ $(vercmp $artixver $archver) -gt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
case $ar in
*goblins)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
*gremlins)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
esac
fi
else
if [ $(vercmp $artixver $archver) -lt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
${upgrades} && msg_row_upgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
if [ $(vercmp $artixver $archver) -gt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
if [[ -n $archver ]] && [[ -n $archrepo ]];then
${downgrades} && msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
fi
fi
unset pkgver epoch pkgrel artixver archver _package
@@ -82,54 +104,13 @@ show_version_table(){
done
}
show_artix_table(){
msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version"
for tree in packages packages-galaxy;do
local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d)
for pkg_path in ${git[@]}; do
local artixrepo=$(find_repo "$pkg_path" "${unstable}")
if [[ -d $pkg_path/repos/$artixrepo ]];then
source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null
local pkg=${pkg_path##*/}
local artixver=$(get_full_version $pkg)
local src=$(get_import_path "$tree" "$pkg")
local archrepo=$(find_repo "$src/$pkg" "${unstable}")
if [[ -d $src/$pkg/repos/$archrepo ]];then
source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
local archver=$(get_full_version $pkg)
fi
if [ $(vercmp $artixver $archver) -eq 0 ] || [ $(vercmp $artixver $archver) -gt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
case $ar in
*goblins)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
*gremlins)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
# system|world|galaxy|lib32) msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" ;;
esac
fi
unset pkgver epoch pkgrel artixver archver _package
fi
done
done
}
show_deps(){
local src="$1"
local src="$1" repo="$2"
source $src/PKGBUILD 2>/dev/null
[[ $arch == 'any' ]] && CARCH=any
local archver=$(get_full_version $pkg)
msg "git tree: %s" "$git_tree_arch"
msg2 "repo: %s" "$repo"
msg2 "Package Name: %s" "$pkg"
msg2 "Arch Version: %s" "$archver"
msg2 "arch: %s" "$CARCH"
@@ -143,14 +124,19 @@ from_arch(){
local pkg="$1" src= dest=
local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
[[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
src=${tree_dir_arch}/$git_tree_arch/$pkg/trunk
local pkg_path=${tree_dir_arch}/$git_tree_arch/$pkg
local repo=$(find_repo "$pkg_path" "${unstable}")
src=$pkg_path/repos/$repo
$trunk && src=$pkg_path/trunk
local git_tree_artix=$(find_tree "${tree_dir_artix}" "$pkg")
dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
cd ${tree_dir_arch}/$git_tree_arch
show_deps "$src"
show_deps "$src" "$repo"
if [[ -d $dest ]];then
cd ${tree_dir_artix}/$git_tree_artix
@@ -181,9 +167,13 @@ view_build(){
local pkg="$1" src=
local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
[[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
src=${tree_dir_arch}/$git_tree_arch/$pkg/trunk
show_deps "$src"
local pkg_path=${tree_dir_arch}/$git_tree_arch/$pkg
local repo=$(find_repo "$pkg_path" "${unstable}")
src=$pkg_path/repos/$repo
show_deps "$src" "$repo"
}
sync_repos(){
@@ -207,6 +197,7 @@ display_settings(){
msg2 "artix: %s" "${artix}"
msg2 "import: %s" "${import}"
msg2 "view: %s" "${view}"
msg2 "trunk: %s" "${trunk}"
msg "PATHS:"
msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
@@ -223,12 +214,13 @@ pretend=false
sync=false
sync_arch=true
compare=false
unstable=true
upgrades=true
unstable=false
upgrades=false
downgrades=false
artix=false
import=false
view=false
trunk=false
package=''
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
@@ -239,11 +231,12 @@ usage() {
echo " -s Clone or pull repos"
echo " -z Don't clone or pull arch repos"
echo ' -c Compare packages'
echo ' -x Compare packages without unstable kde and gnome'
echo ' -x Include unstable kde and gnome'
echo ' -u Show upgrade packages'
echo ' -d Show downgrade packages'
echo ' -a Show artix specific packages'
echo ' -i Import a package from arch'
echo ' -a Show testing and staging packages'
echo ' -i Import a package from arch repos'
echo ' -t Import from arch trunk'
echo ' -v View package depends'
echo ' -q Query settings'
echo ' -h This help'
@@ -254,7 +247,7 @@ usage() {
orig_argv=("$0" "$@")
opts='p:csudaizxvqh'
opts='p:csudaiztxvqh'
while getopts "${opts}" arg; do
case "${arg}" in
@@ -262,12 +255,13 @@ while getopts "${opts}" arg; do
s) sync=true ;;
z) sync_arch=false ;;
c) compare=true ;;
u) upgrades=false ;;
u) upgrades=true ;;
d) downgrades=true ;;
a) artix=true ;;
i) import=true ;;
t) trunk=true ;;
v) view=true ;;
x) unstable=false ;;
x) unstable=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
@@ -287,6 +281,4 @@ ${view} && view_build "${package}"
${compare} && show_version_table
${artix} && show_artix_table
${import} && from_arch "${package}"

View File

@@ -34,8 +34,8 @@ commit_pkg(){
local pkg=${package}
git rm -r trunk
else
local pkg=${package}-$ver
git rm -r repos/${source_repo}-$CARCH
local pkg="${package}-$ver"
git rm -r repos/"${source_repo}-$CARCH"
fi
msg "Action: [%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
git commit -m "[${source_repo}] '$pkg' ${action}"
@@ -67,7 +67,7 @@ symlink_commit_pkg(){
if [[ ${source_repo} == 'trunk' ]];then
local action='add'
local dest=${target_repo}-$CARCH
local dest="${target_repo}-$CARCH"
[[ -d repos/$dest ]] && git rm -r repos/$dest
[[ ! -d repos ]] && mkdir repos
@@ -76,13 +76,14 @@ symlink_commit_pkg(){
cp trunk/* repos/$dest/
else
local action='move'
local dest=${target_repo}-$CARCH
local src="${source_repo}-$CARCH" dest="${target_repo}-$CARCH"
[[ -d repos/$dest ]] && git rm -r repos/$dest
[[ ! -d repos ]] && mkdir repos
cd repos
git mv ${source_repo}-$CARCH $dest
cd ..
[[ ! -d repos/$dest ]] && mkdir repos/$dest
cp repos/$src/* repos/$dest/
git rm -r repos/$src
fi
msg "Action: [%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}"

View File

@@ -18,42 +18,36 @@ SYSCONFDIR='@sysconfdir@'
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh
del_from_repo(){
local ver
local repo="$1"
local repo_path=${repos_root}/$repo/os/${target_arch}
update_repo(){
local repo="$1" pkgfile ver ext=db.tar.xz
local repo_path=${repos_root}/$repo/os/${target_arch} packages=()
source PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
ver=$(get_full_version "$name")
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
info "pkgfile: %s" "${pkgfile##*/}"
repo-remove -R $repo_path/$repo.db.tar.xz $name
[[ -e $repo_path/${pkgfile##*/} ]] && rm -v $repo_path/${pkgfile##*/}
[[ -e $repo_path/${pkgfile##*/}.sig ]] && rm -v $repo_path/${pkgfile##*/}.sig
fi
done
}
add_to_repo(){
local ver pkgfile=
local repo="$1"
local repo_path=${repos_root}/$repo/os/${target_arch}
source PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
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}
local pkg=${pkgfile##*/}
info "Found: %s" "$pkg"
if ${add_pkg};then
local action='add'
packages+=("$pkg")
# checkpkg $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
ln -sf ${pkgfile}{,.sig} $repo_path/
cd $repo_path
repo-add -R $repo.db.tar.xz ${pkgfile##*/}
fi
done
cd $repo_path
repo-$action -R $repo.$ext ${packages[@]}
return 0
}
display_settings(){
@@ -84,9 +78,9 @@ sign_pkg=false
usage() {
echo "Usage: ${0##*/} [options]"
echo " -d Destination repository [default:${repository}]"
echo ' -a Add package to repository'
echo ' -r Remove package from repository'
echo ' -s Sign package'
echo ' -a Add package(s) to repository'
echo ' -r Remove package(s) from repository'
echo ' -s Sign package(s)'
echo ' -q Query settings and pretend upload'
echo ' -h This help'
echo ''
@@ -101,8 +95,8 @@ opts='d:arsqh'
while getopts "${opts}" arg; do
case "${arg}" in
d) repository="$OPTARG" ;;
a) add_pkg=true ;;
r) del_pkg=true ;;
a) add_pkg=true; del_pkg=false ;;
r) del_pkg=true; add_pkg=false ;;
s) sign_pkg=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
@@ -116,8 +110,4 @@ prepare_dir "${repos_root}"
${pretend} && display_settings && exit 1
${del_pkg} && del_from_repo "${repository}"
${add_pkg} && add_to_repo "${repository}"
exit 0
update_repo "${repository}"

View File

@@ -3,6 +3,4 @@ nbd
>openrc artix-live-openrc
squashfs-tools
artix-live-portable-efi
virtualbox-guest-modules-artix
virtualbox-guest-utils
linux-lts-headers

View File

@@ -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

View File

@@ -124,72 +124,72 @@ is_valid_repo(){
}
find_repo(){
local pkg="$1" unstable="${2:-true}" 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
elif [[ -d $pkg/repos/core-any ]];then
elif [[ -f $pkg/repos/core-any/PKGBUILD ]];then
repo=core-any
fi
if [[ -d $pkg/repos/extra-x86_64 ]];then
if [[ -f $pkg/repos/extra-x86_64/PKGBUILD ]];then
repo=extra-x86_64
elif [[ -d $pkg/repos/extra-any ]];then
elif [[ -f $pkg/repos/extra-any/PKGBUILD ]];then
repo=extra-any
fi
if [[ -d $pkg/repos/testing-x86_64 ]];then
if [[ -f $pkg/repos/testing-x86_64/PKGBUILD ]];then
repo=testing-x86_64
elif [[ -d $pkg/repos/testing-any ]];then
elif [[ -f $pkg/repos/testing-any/PKGBUILD ]];then
repo=testing-any
fi
if [[ -d $pkg/repos/staging-x86_64 ]];then
if [[ -f $pkg/repos/staging-x86_64/PKGBUILD ]];then
repo=staging-x86_64
elif [[ -d $pkg/repos/staging-any ]];then
elif [[ -f $pkg/repos/staging-any/PKGBUILD ]];then
repo=staging-any
fi
if [[ -d $pkg/repos/community-x86_64 ]];then
if [[ -f $pkg/repos/community-x86_64/PKGBUILD ]];then
repo=community-x86_64
elif [[ -d $pkg/repos/community-any ]];then
elif [[ -f $pkg/repos/community-any/PKGBUILD ]];then
repo=community-any
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
elif [[ -d $pkg/repos/community-testing-any ]];then
elif [[ -f $pkg/repos/community-testing-any/PKGBUILD ]];then
repo=community-testing-any
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
elif [[ -d $pkg/repos/community-staging-any ]];then
elif [[ -f $pkg/repos/community-staging-any/PKGBUILD ]];then
repo=community-staging-any
fi
if [[ -d $pkg/repos/multilib-x86_64 ]];then
if [[ -f $pkg/repos/multilib-x86_64/PKGBUILD ]];then
repo=multilib-x86_64
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
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
fi
if $unstable;then
if [[ -d $pkg/repos/gnome-unstable-x86_64 ]];then
if $incl;then
if [[ -f $pkg/repos/gnome-unstable-x86_64/PKGBUILD ]];then
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
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
elif [[ -d $pkg/repos/kde-unstable-any ]];then
elif [[ -f $pkg/repos/kde-unstable-any/PKGBUILD ]];then
repo=kde-unstable-any
fi
fi