forked from artix/artools
Compare commits
17 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b46b5c626e | ||
![]() |
9ac4576666 | ||
![]() |
a88f196217 | ||
![]() |
c0e8ef4c26 | ||
![]() |
02b28e82ef | ||
![]() |
fb6d1d4c1b | ||
![]() |
9fc3fbd14d | ||
![]() |
72f2781cb9 | ||
![]() |
9ddd73c8b4 | ||
![]() |
3c92d5c87a | ||
![]() |
bc8f17cc86 | ||
![]() |
1ceb6926e9 | ||
![]() |
4d3a993a72 | ||
![]() |
a52bdc9799 | ||
![]() |
b62e90f778 | ||
![]() |
5d2fda793d | ||
![]() |
550663cfd1 |
5
Makefile
5
Makefile
@@ -1,5 +1,7 @@
|
||||
Version=0.7
|
||||
|
||||
Chroot_version=0.7
|
||||
|
||||
PREFIX = /usr/local
|
||||
SYSCONFDIR = /etc
|
||||
|
||||
@@ -97,7 +99,8 @@ all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO)
|
||||
edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \
|
||||
-e "s|@sysconfdir[@]|$(DESTDIR)$(SYSCONFDIR)/artools|g" \
|
||||
-e "s|@libdir[@]|$(DESTDIR)$(PREFIX)/lib/artools|g" \
|
||||
-e "s|@version@|${Version}|"
|
||||
-e "s|@version@|${Version}|" \
|
||||
-e "s|@chroot_version@|${Chroot_version}|"
|
||||
|
||||
%: %.in Makefile
|
||||
@echo "GEN $@"
|
||||
|
@@ -19,24 +19,17 @@ DATADIR='@datadir@'
|
||||
import ${LIBDIR}/util.sh
|
||||
import ${LIBDIR}/util-pkg.sh
|
||||
|
||||
clone_tree(){
|
||||
local timer=$(get_timer) tree="$1" host_tree="$2"
|
||||
msg "Preparing [%s] ..." "$tree"
|
||||
info "clone"
|
||||
git clone $host_tree.git
|
||||
msg "Done [%s]" "$tree"
|
||||
show_elapsed_time "${FUNCNAME}" "${timer}"
|
||||
}
|
||||
|
||||
pull_tree_arch(){
|
||||
cd ${tree_dir_arch}
|
||||
for tree in packages community;do
|
||||
if [[ -d ${tree} ]];then
|
||||
cd ${tree}
|
||||
pull_tree "${tree}"
|
||||
msg "Checking (%s)" "${tree}"
|
||||
pull_tree
|
||||
cd ..
|
||||
else
|
||||
clone_tree "${tree}" "${host_tree_arch}/${tree}"
|
||||
msg "Cloning (%s) ..." "$tree"
|
||||
clone_tree "${host_tree_arch}/${tree}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@@ -47,10 +40,12 @@ pull_tree_artix(){
|
||||
if [[ -d ${tree} ]];then
|
||||
cd ${tree}
|
||||
git config --bool pull.rebase true
|
||||
pull_tree "${tree}"
|
||||
msg "Checking (%s)" "${tree}"
|
||||
pull_tree
|
||||
cd ..
|
||||
else
|
||||
clone_tree "${tree}" "${host_tree_artix}/${tree}"
|
||||
msg "Cloning (%s) ..." "$tree"
|
||||
clone_tree "${host_tree_artix}/${tree}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@@ -88,7 +83,7 @@ show_version_table(){
|
||||
}
|
||||
|
||||
show_artix_table(){
|
||||
msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version"
|
||||
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
|
||||
@@ -131,32 +126,45 @@ show_artix_table(){
|
||||
}
|
||||
|
||||
from_arch(){
|
||||
local pkg="$1" archtree="$2" artixtree="$3" src= dest=
|
||||
src=${tree_dir_arch}/$archtree/$pkg/trunk
|
||||
dest=${tree_dir_artix}/$artixtree/$pkg/trunk
|
||||
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 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
|
||||
|
||||
source $src/PKGBUILD 2>/dev/null
|
||||
cd ${tree_dir_arch}/$archtree
|
||||
msg "Package: %s" "$pkg"
|
||||
local archver=$(get_full_version $pkg)
|
||||
|
||||
msg "Package: %s" "$pkg"
|
||||
msg2 "Arch Version: %s" "$archver"
|
||||
[[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
|
||||
[[ -n ${checkdepends[@]} ]] && msg2 "depends: %s" "${checkdepends[*]}"
|
||||
[[ -n ${depends[@]} ]] && msg2 "depends: %s" "${depends[*]}"
|
||||
|
||||
if [[ -d $dest ]];then
|
||||
cd ${tree_dir_artix}/$git_tree_artix
|
||||
|
||||
source $dest/PKGBUILD 2>/dev/null
|
||||
cd ${tree_dir_artix}/$artixtree
|
||||
local artixver=$(get_full_version $pkg)
|
||||
|
||||
msg2 "Artix Version: %s" "$artixver"
|
||||
if [ $(vercmp $artixver $archver) -lt 0 ];then
|
||||
info "Importing from archlinux (%s)" "$archtree"
|
||||
rsync "${rsync_args[@]}" $src/ $dest/
|
||||
patch_pkg "$pkg" "$tree"
|
||||
else
|
||||
warning "Versions match! Nothing to do!"
|
||||
fi
|
||||
info "Update from archlinux (%s)" "$git_tree_arch"
|
||||
rsync "${rsync_args[@]}" $src/ $dest/
|
||||
patch_pkg "$pkg" "$tree"
|
||||
else
|
||||
cd ${tree_dir_artix}/$artixtree
|
||||
info "Importing from archlinux (%s)" "$archtree"
|
||||
[[ $git_tree_arch == 'packages' ]] && git_tree_artix=$git_tree_arch
|
||||
[[ $git_tree_arch == 'community' ]] && git_tree_artix='packages-galaxy'
|
||||
|
||||
cd ${tree_dir_artix}/$git_tree_artix
|
||||
|
||||
dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
|
||||
mkdir $pkg
|
||||
|
||||
info "Import from archlinux (%s)" "$git_tree_arch"
|
||||
rsync "${rsync_args[@]}" $src/ $dest/
|
||||
patch_pkg "$pkg" "$tree"
|
||||
fi
|
||||
@@ -180,8 +188,7 @@ display_settings(){
|
||||
msg2 "upgrades: %s" "${upgrades}"
|
||||
msg2 "downgrades: %s" "${downgrades}"
|
||||
msg2 "artix: %s" "${artix}"
|
||||
msg2 "import_packages: %s" "${import_packages}"
|
||||
msg2 "import_community: %s" "${import_community}"
|
||||
msg2 "import: %s" "${import}"
|
||||
|
||||
msg "PATHS:"
|
||||
msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
|
||||
@@ -200,13 +207,9 @@ compare=false
|
||||
upgrades=true
|
||||
downgrades=false
|
||||
artix=false
|
||||
import_packages=false
|
||||
import_community=false
|
||||
import=false
|
||||
package=''
|
||||
|
||||
git_artix='packages'
|
||||
git_arch='packages'
|
||||
|
||||
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
|
||||
|
||||
usage() {
|
||||
@@ -217,8 +220,7 @@ usage() {
|
||||
echo ' -u Show upgrade packages'
|
||||
echo ' -d Show downgrade packages'
|
||||
echo ' -a Show artix specific packages'
|
||||
echo ' -i Import from arch packages'
|
||||
echo ' -j Import from arch community'
|
||||
echo ' -i Import a package from arch'
|
||||
echo ' -q Query settings'
|
||||
echo ' -h This help'
|
||||
echo ''
|
||||
@@ -228,7 +230,7 @@ usage() {
|
||||
|
||||
orig_argv=("$0" "$@")
|
||||
|
||||
opts='p:csudaijqh'
|
||||
opts='p:csudaiqh'
|
||||
|
||||
while getopts "${opts}" arg; do
|
||||
case "${arg}" in
|
||||
@@ -238,8 +240,7 @@ while getopts "${opts}" arg; do
|
||||
u) upgrades=false ;;
|
||||
d) downgrades=true ;;
|
||||
a) artix=true ;;
|
||||
i) import_packages=true ;;
|
||||
j) import_community=true; git_artix='packages-galaxy'; git_arch='community' ;;
|
||||
i) import=true ;;
|
||||
q) pretend=true ;;
|
||||
h|?) usage 0 ;;
|
||||
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
||||
@@ -259,6 +260,4 @@ ${compare} && show_version_table
|
||||
|
||||
${artix} && show_artix_table
|
||||
|
||||
${import_packages} && from_arch "${package}" "${git_arch}" "${git_artix}"
|
||||
|
||||
${import_community} && from_arch "${package}" "${git_arch}" "${git_artix}"
|
||||
${import} && from_arch "${package}"
|
||||
|
@@ -11,6 +11,8 @@
|
||||
|
||||
version=@version@
|
||||
|
||||
chroot_version=@chroot_version@
|
||||
|
||||
LIBDIR='@libdir@'
|
||||
|
||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
||||
@@ -114,8 +116,8 @@ umask 0022
|
||||
# Sanity check
|
||||
if [[ ! -f "$working_dir/.artools" ]]; then
|
||||
die "'%s' does not appear to be an artix chroot." "$working_dir"
|
||||
elif [[ $(cat "$working_dir/.artools") != $version ]]; then
|
||||
die "chroot '%s' is not at version %s. Please rebuild." "$working_dir" "$version"
|
||||
elif [[ $(cat "$working_dir/.artools") != $chroot_version ]]; then
|
||||
die "chroot '%s' is not at version %s. Please rebuild." "$working_dir" "$chroot_version"
|
||||
fi
|
||||
|
||||
chroot_api_mount "${working_dir}" || die "failed to setup API filesystems in chroot %s" "${working_dir}"
|
||||
|
@@ -23,60 +23,75 @@ commit_pkg(){
|
||||
local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
|
||||
if [[ -n ${git_tree} ]];then
|
||||
cd ${tree_dir_artix}/${git_tree}/${package}
|
||||
|
||||
source trunk/PKGBUILD
|
||||
local ver=$(get_full_version ${package})
|
||||
[[ $arch == 'any' ]] && CARCH=any
|
||||
local ver=$(get_full_version "${package}")
|
||||
|
||||
if ${remove};then
|
||||
local action='remove'
|
||||
local pkg=${package}-$ver
|
||||
if [[ "${source_repo}" == 'trunk' ]];then
|
||||
pkg=${package}
|
||||
info "[%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
|
||||
local pkg=${package}
|
||||
git rm -r trunk
|
||||
else
|
||||
info "[%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
|
||||
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}"
|
||||
${push} && push_tree "${git_tree}"
|
||||
else
|
||||
local action='modify'
|
||||
info "[%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}"
|
||||
msg "Action: [%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}"
|
||||
git add .
|
||||
git commit -m "[${source_repo}] '${package}-$ver' ${action}"
|
||||
${push} && push_tree "${git_tree}"
|
||||
fi
|
||||
|
||||
if ${push};then
|
||||
msg "Checking (%s)" "${git_tree}"
|
||||
git pull origin master
|
||||
git push origin master
|
||||
fi
|
||||
else
|
||||
error "Package '%s' does not exist!" "${package}"
|
||||
fi
|
||||
}
|
||||
|
||||
release_pkg(){
|
||||
symlink_commit_pkg(){
|
||||
local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
|
||||
if [[ -n ${git_tree} ]];then
|
||||
cd ${tree_dir_artix}/${git_tree}/${package}
|
||||
|
||||
source trunk/PKGBUILD
|
||||
[[ $arch == 'any' ]] && CARCH=any
|
||||
if [[ ${source_repo} != 'trunk' ]];then
|
||||
cd repos
|
||||
dest=${target_repo}-$CARCH
|
||||
action='move'
|
||||
[[ -d $dest ]] && git rm -r $dest
|
||||
git mv ${source_repo}-$CARCH $dest
|
||||
cd ..
|
||||
else
|
||||
dest=${target_repo}-$CARCH
|
||||
action='add'
|
||||
[[ ! -d repos ]] && mkdir repos
|
||||
cd repos
|
||||
local ver=$(get_full_version "${package}")
|
||||
|
||||
if [[ ${source_repo} == 'trunk' ]];then
|
||||
local action='add'
|
||||
local dest=${target_repo}-$CARCH
|
||||
|
||||
[[ -d repos/$dest ]] && git rm -r repos/$dest
|
||||
cd ..
|
||||
[[ ! -d repos ]] && mkdir repos
|
||||
|
||||
cp -r trunk repos/$dest
|
||||
else
|
||||
local action='move'
|
||||
local dest=${target_repo}-$CARCH
|
||||
|
||||
cd repos
|
||||
[[ -d $dest ]] && git rm -r $dest
|
||||
git mv ${source_repo}-$CARCH $dest
|
||||
cd ..
|
||||
fi
|
||||
local ver=$(get_full_version ${package})
|
||||
info "[%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}"
|
||||
|
||||
msg "Action: [%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}"
|
||||
git add .
|
||||
git commit -m "[${source_repo}] -> [${target_repo}] '${package}-$ver' ${action}"
|
||||
${push} && push_tree "${git_tree}"
|
||||
|
||||
if ${push};then
|
||||
msg "Checking (%s)" "${git_tree}"
|
||||
git pull origin master
|
||||
git push origin master
|
||||
fi
|
||||
else
|
||||
error "Package '%s' does not exist!" "${package}"
|
||||
fi
|
||||
@@ -115,7 +130,7 @@ usage() {
|
||||
echo "Usage: ${0##*/} [options]"
|
||||
echo " -s <name> Source repository [default:${source_repo}]"
|
||||
echo ' -p <pkg> Package name'
|
||||
echo ' -r Delete from repo'
|
||||
echo ' -r Delete from repo (commitpkg only)'
|
||||
echo ' -u Push'
|
||||
echo ' -q Query settings and pretend'
|
||||
echo ' -h This help'
|
||||
@@ -148,7 +163,7 @@ if $(is_valid_repo "${source_repo}");then
|
||||
if [[ "${cmd}" == 'commitpkg' ]];then
|
||||
commit_pkg
|
||||
else
|
||||
release_pkg
|
||||
symlink_commit_pkg
|
||||
fi
|
||||
else
|
||||
error "source repository '%s' is not valid!" "${source_repo}"
|
||||
|
@@ -11,6 +11,8 @@
|
||||
|
||||
version=@version@
|
||||
|
||||
chroot_version=@chroot_version@
|
||||
|
||||
LIBDIR='@libdir@'
|
||||
|
||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
||||
@@ -104,7 +106,7 @@ done < <(declare -x | sed -r 's/^declare -x ([^=]*)=.*/\1/' | grep -i '_proxy$')
|
||||
env -i "${_env[@]}" \
|
||||
basestrap "${basestrap_args[@]}" "$working_dir" ${cache_dirs[@]/#/--cachedir=} "$@" || die 'Failed to install all packages'
|
||||
|
||||
echo "$version" > "$working_dir/.artools"
|
||||
echo "$chroot_version" > "$working_dir/.artools"
|
||||
|
||||
default_locale "set" "$working_dir"
|
||||
|
||||
|
@@ -202,11 +202,15 @@ _chrootbuild() {
|
||||
# No coredumps
|
||||
ulimit -c 0
|
||||
|
||||
exec </dev/console
|
||||
# Work around chroot-run not giving a ctty
|
||||
# exec </dev/console
|
||||
|
||||
. /etc/profile
|
||||
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
# workaround meson locale errors
|
||||
# supposedly fixed with coming python-3.7
|
||||
locale-gen &> /dev/null
|
||||
|
||||
sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
|
||||
|
@@ -33,7 +33,7 @@
|
||||
# initsys="openrc"
|
||||
|
||||
# unset defaults to given value
|
||||
# kernel="linux-lts"
|
||||
# kernel="linux"
|
||||
|
||||
# custom additional kernel args
|
||||
# kernel_args=""
|
||||
|
59
data/missing
59
data/missing
@@ -1,25 +1,46 @@
|
||||
extra/python-crypto
|
||||
extra/python-nose
|
||||
extra/python-requests
|
||||
extra/python-urllib3
|
||||
|
||||
extra/pygobject2-devel
|
||||
extra/python2-gobject2
|
||||
|
||||
extra/perl-locale-gettext
|
||||
extra/help2man
|
||||
extra/autogen
|
||||
extra/libmp4v2
|
||||
extra/libmpdclient
|
||||
extra/audiofile
|
||||
extra/libid3tag
|
||||
extra/idnkit
|
||||
extra/neon
|
||||
extra/sbc
|
||||
extra/enchant
|
||||
extra/chromaprint
|
||||
extra/ttf-liberation
|
||||
extra/pygobject2-devel
|
||||
extra/python2-gobject2
|
||||
extra/faac
|
||||
extra/mjpegtools
|
||||
extra/mpg123
|
||||
extra/tinycdb
|
||||
|
||||
extra/speexdsp
|
||||
extra/spandsp
|
||||
extra/soundtouch
|
||||
extra/sbc
|
||||
extra/neon
|
||||
extra/mjpegtools
|
||||
extra/libmp4v2
|
||||
extra/js
|
||||
extra/gst-plugins-bad
|
||||
extra/faac
|
||||
extra/enchant
|
||||
extra/chromaprint
|
||||
extra/python-appdirs
|
||||
extra/python-beaker
|
||||
extra/python-mako
|
||||
extra/python-markupsafe
|
||||
extra/python-packaging
|
||||
extra/python-pyparsing
|
||||
extra/ttf-liberation
|
||||
|
||||
extra/appstream-glib
|
||||
extra/libxkbui
|
||||
extra/libxkbfile
|
||||
extra/libunicodenames
|
||||
extra/mpg123
|
||||
extra/opencl-headers
|
||||
|
||||
# openrc-world deps
|
||||
extra/dnsmasq
|
||||
extra/postgresql-libs
|
||||
extra/postfix
|
||||
extra/wicd
|
||||
extra/mpd
|
||||
extra/bitlbee
|
||||
extra/bind
|
||||
extra/lirc
|
||||
extra/transmission-cli
|
||||
|
@@ -78,25 +78,26 @@ find_tree(){
|
||||
echo ${result##*/}
|
||||
}
|
||||
|
||||
pull_tree(){
|
||||
local branch="master" tree="$1"
|
||||
local local_head=$(get_local_head "$branch")
|
||||
local remote_head=$(get_remote_head "$branch")
|
||||
local timer=$(get_timer)
|
||||
msg "Checking [%s] ..." "$tree"
|
||||
if [[ "${local_head}" == "${remote_head}" ]]; then
|
||||
msg2 "nothing to do"
|
||||
else
|
||||
msg2 "needs pull"
|
||||
git pull origin $branch
|
||||
fi
|
||||
msg "Done [%s]" "$tree"
|
||||
clone_tree(){
|
||||
local timer=$(get_timer) host_tree="$1"
|
||||
git clone $host_tree.git
|
||||
show_elapsed_time "${FUNCNAME}" "${timer}"
|
||||
}
|
||||
|
||||
pull_tree(){
|
||||
local branch="master"
|
||||
local local_head=$(get_local_head "$branch")
|
||||
local remote_head=$(get_remote_head "$branch")
|
||||
if [[ "${local_head}" == "${remote_head}" ]]; then
|
||||
msg2 "remote changes: no"
|
||||
else
|
||||
msg2 "remote changes: yes"
|
||||
git pull origin "$branch"
|
||||
fi
|
||||
}
|
||||
|
||||
push_tree(){
|
||||
local branch="master" tree="$1"
|
||||
pull_tree "$tree"
|
||||
local branch="master"
|
||||
git push origin "$branch"
|
||||
}
|
||||
|
||||
|
@@ -95,7 +95,7 @@ init_artools_iso(){
|
||||
|
||||
[[ -z ${initsys} ]] && initsys="openrc"
|
||||
|
||||
[[ -z ${kernel} ]] && kernel="linux-lts"
|
||||
[[ -z ${kernel} ]] && kernel="linux"
|
||||
|
||||
[[ -z ${kernel_args} ]] && kernel_args=""
|
||||
|
||||
|
Reference in New Issue
Block a user