forked from artix/artools
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
4d3a993a72 | ||
![]() |
a52bdc9799 | ||
![]() |
b62e90f778 | ||
![]() |
5d2fda793d | ||
![]() |
550663cfd1 | ||
![]() |
6c117fb97d | ||
![]() |
7e6d832314 | ||
![]() |
6fc7b124fc | ||
![]() |
a011005901 | ||
![]() |
5da4fea263 | ||
![]() |
e1b8a0493b | ||
![]() |
8fe1e82226 | ||
![]() |
aa8725518b |
5
Makefile
5
Makefile
@@ -1,5 +1,7 @@
|
|||||||
Version=0.7
|
Version=0.7
|
||||||
|
|
||||||
|
Chroot_version=0.7
|
||||||
|
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
SYSCONFDIR = /etc
|
SYSCONFDIR = /etc
|
||||||
|
|
||||||
@@ -97,7 +99,8 @@ all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO)
|
|||||||
edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \
|
edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \
|
||||||
-e "s|@sysconfdir[@]|$(DESTDIR)$(SYSCONFDIR)/artools|g" \
|
-e "s|@sysconfdir[@]|$(DESTDIR)$(SYSCONFDIR)/artools|g" \
|
||||||
-e "s|@libdir[@]|$(DESTDIR)$(PREFIX)/lib/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
|
%: %.in Makefile
|
||||||
@echo "GEN $@"
|
@echo "GEN $@"
|
||||||
|
@@ -19,42 +19,17 @@ DATADIR='@datadir@'
|
|||||||
import ${LIBDIR}/util.sh
|
import ${LIBDIR}/util.sh
|
||||||
import ${LIBDIR}/util-pkg.sh
|
import ${LIBDIR}/util-pkg.sh
|
||||||
|
|
||||||
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"
|
|
||||||
msg2 "local: %s" "${local_head}"
|
|
||||||
msg2 "remote: %s" "${remote_head}"
|
|
||||||
if [[ "${local_head}" == "${remote_head}" ]]; then
|
|
||||||
info "nothing to do"
|
|
||||||
else
|
|
||||||
info "needs pull"
|
|
||||||
git pull origin $branch
|
|
||||||
fi
|
|
||||||
msg "Done [%s]" "$tree"
|
|
||||||
show_elapsed_time "${FUNCNAME}" "${timer}"
|
|
||||||
}
|
|
||||||
|
|
||||||
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(){
|
pull_tree_arch(){
|
||||||
cd ${tree_dir_arch}
|
cd ${tree_dir_arch}
|
||||||
for tree in packages community;do
|
for tree in packages community;do
|
||||||
if [[ -d ${tree} ]];then
|
if [[ -d ${tree} ]];then
|
||||||
cd ${tree}
|
cd ${tree}
|
||||||
pull_tree "${tree}"
|
msg "Checking (%s)" "${tree}"
|
||||||
|
pull_tree
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
clone_tree "${tree}" "${host_tree_arch}/${tree}"
|
msg "Cloning (%s) ..." "$tree"
|
||||||
|
clone_tree "${host_tree_arch}/${tree}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -65,10 +40,12 @@ pull_tree_artix(){
|
|||||||
if [[ -d ${tree} ]];then
|
if [[ -d ${tree} ]];then
|
||||||
cd ${tree}
|
cd ${tree}
|
||||||
git config --bool pull.rebase true
|
git config --bool pull.rebase true
|
||||||
pull_tree "${tree}"
|
msg "Checking (%s)" "${tree}"
|
||||||
|
pull_tree
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
clone_tree "${tree}" "${host_tree_artix}/${tree}"
|
msg "Cloning (%s) ..." "$tree"
|
||||||
|
clone_tree "${host_tree_artix}/${tree}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
version=@version@
|
version=@version@
|
||||||
|
|
||||||
|
chroot_version=@chroot_version@
|
||||||
|
|
||||||
LIBDIR='@libdir@'
|
LIBDIR='@libdir@'
|
||||||
|
|
||||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
||||||
@@ -92,6 +94,7 @@ copy_hostconf () {
|
|||||||
|
|
||||||
chroot_extra_mount() {
|
chroot_extra_mount() {
|
||||||
chroot_mount "/etc/resolv.conf" "$1/etc/resolv.conf" -B
|
chroot_mount "/etc/resolv.conf" "$1/etc/resolv.conf" -B
|
||||||
|
chroot_mount "/etc/hosts" "$1/etc/hosts" -B
|
||||||
chroot_mount_conditional "[[ -e $1/etc/machine-id ]]" "/etc/machine-id" "$1/etc/machine-id" -B
|
chroot_mount_conditional "[[ -e $1/etc/machine-id ]]" "/etc/machine-id" "$1/etc/machine-id" -B
|
||||||
chroot_mount "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B
|
chroot_mount "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B
|
||||||
|
|
||||||
@@ -113,8 +116,8 @@ umask 0022
|
|||||||
# Sanity check
|
# Sanity check
|
||||||
if [[ ! -f "$working_dir/.artools" ]]; then
|
if [[ ! -f "$working_dir/.artools" ]]; then
|
||||||
die "'%s' does not appear to be an artix chroot." "$working_dir"
|
die "'%s' does not appear to be an artix chroot." "$working_dir"
|
||||||
elif [[ $(cat "$working_dir/.artools") != $version ]]; then
|
elif [[ $(cat "$working_dir/.artools") != $chroot_version ]]; then
|
||||||
die "chroot '%s' is not at version %s. Please rebuild." "$working_dir" "$version"
|
die "chroot '%s' is not at version %s. Please rebuild." "$working_dir" "$chroot_version"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
chroot_api_mount "${working_dir}" || die "failed to setup API filesystems in chroot %s" "${working_dir}"
|
chroot_api_mount "${working_dir}" || die "failed to setup API filesystems in chroot %s" "${working_dir}"
|
||||||
|
@@ -17,59 +17,85 @@ DATADIR='@datadir@'
|
|||||||
|
|
||||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
||||||
import ${LIBDIR}/util.sh
|
import ${LIBDIR}/util.sh
|
||||||
|
import ${LIBDIR}/util-pkg.sh
|
||||||
|
|
||||||
commit_pkg(){
|
commit_pkg(){
|
||||||
cd ${tree_dir_artix}/${git_tree}/${package}
|
local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
|
||||||
|
if [[ -n ${git_tree} ]];then
|
||||||
|
cd ${tree_dir_artix}/${git_tree}
|
||||||
|
|
||||||
|
msg "Checking (%s)" "${git_tree}"
|
||||||
|
pull_tree
|
||||||
|
|
||||||
|
cd ${package}
|
||||||
|
|
||||||
source trunk/PKGBUILD
|
source trunk/PKGBUILD
|
||||||
local ver=$(get_full_version ${package})
|
[[ $arch == 'any' ]] && CARCH=any
|
||||||
|
local ver=$(get_full_version "${package}")
|
||||||
|
|
||||||
if ${remove};then
|
if ${remove};then
|
||||||
local action='remove'
|
local action='remove'
|
||||||
local pkg=${package}-$ver
|
|
||||||
if [[ "${source_repo}" == 'trunk' ]];then
|
if [[ "${source_repo}" == 'trunk' ]];then
|
||||||
pkg=${package}
|
local pkg=${package}
|
||||||
info "[%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
|
|
||||||
git rm -r trunk
|
git rm -r trunk
|
||||||
else
|
else
|
||||||
info "[%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
|
local pkg=${package}-$ver
|
||||||
git rm -r repos/${source_repo}-$CARCH
|
git rm -r repos/${source_repo}-$CARCH
|
||||||
fi
|
fi
|
||||||
|
msg "Action: [%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
|
||||||
git commit -m "[${source_repo}] '$pkg' ${action}"
|
git commit -m "[${source_repo}] '$pkg' ${action}"
|
||||||
${push} && git push origin master
|
${push} && push_tree
|
||||||
else
|
else
|
||||||
local action='modify'
|
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 add .
|
||||||
git commit -m "[${source_repo}] '${package}-$ver' ${action}"
|
git commit -m "[${source_repo}] '${package}-$ver' ${action}"
|
||||||
${push} && git push origin master
|
${push} && push_tree
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
error "Package '%s' does not exist!" "${package}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
release_pkg(){
|
symlink_commit_pkg(){
|
||||||
if [[ -d ${tree_dir_artix}/${git_tree}/${package} ]];then
|
local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
|
||||||
cd ${tree_dir_artix}/${git_tree}/${package}
|
if [[ -n ${git_tree} ]];then
|
||||||
|
cd ${tree_dir_artix}/${git_tree}
|
||||||
|
|
||||||
|
msg "Checking (%s)" "${git_tree}"
|
||||||
|
pull_tree
|
||||||
|
|
||||||
|
cd ${package}
|
||||||
|
|
||||||
source trunk/PKGBUILD
|
source trunk/PKGBUILD
|
||||||
[[ $arch == 'any' ]] && CARCH=any
|
[[ $arch == 'any' ]] && CARCH=any
|
||||||
if [[ ${source_repo} != 'trunk' ]];then
|
local ver=$(get_full_version "${package}")
|
||||||
cd repos
|
|
||||||
dest=${target_repo}-$CARCH
|
if [[ ${source_repo} == 'trunk' ]];then
|
||||||
action='move'
|
local action='add'
|
||||||
[[ -d $dest ]] && git rm -r $dest
|
local dest=${target_repo}-$CARCH
|
||||||
git mv ${source_repo}-$CARCH $dest
|
|
||||||
cd ..
|
|
||||||
else
|
|
||||||
dest=${target_repo}-$CARCH
|
|
||||||
action='add'
|
|
||||||
[[ ! -d repos ]] && mkdir repos
|
[[ ! -d repos ]] && mkdir repos
|
||||||
cd repos
|
cd repos
|
||||||
[[ -d $dest ]] && git rm -r $dest
|
[[ -d $dest ]] && git rm -r $dest
|
||||||
cd ..
|
cd ..
|
||||||
cp -r trunk repos/$dest
|
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
|
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 add .
|
||||||
git commit -m "[${source_repo}] -> [${target_repo}] '${package}-$ver' ${action}"
|
git commit -m "[${source_repo}] -> [${target_repo}] '${package}-$ver' ${action}"
|
||||||
${push} && git push origin master
|
${push} && push_tree
|
||||||
|
else
|
||||||
|
error "Package '%s' does not exist!" "${package}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +104,6 @@ display_settings(){
|
|||||||
show_config
|
show_config
|
||||||
|
|
||||||
msg "OPTIONS:"
|
msg "OPTIONS:"
|
||||||
msg2 "git_tree: %s" "${git_tree}"
|
|
||||||
msg2 "source_repo: %s" "${source_repo}"
|
msg2 "source_repo: %s" "${source_repo}"
|
||||||
msg2 "target_repo: %s" "${target_repo}"
|
msg2 "target_repo: %s" "${target_repo}"
|
||||||
msg2 "package: %s" "${package}"
|
msg2 "package: %s" "${package}"
|
||||||
@@ -100,20 +125,14 @@ remove=false
|
|||||||
push=false
|
push=false
|
||||||
pretend=false
|
pretend=false
|
||||||
|
|
||||||
git_tree='packages'
|
|
||||||
|
|
||||||
cmd=${0##*/}
|
cmd=${0##*/}
|
||||||
target_repo=${cmd%pkg}
|
target_repo=${cmd%pkg}
|
||||||
|
|
||||||
case ${target_repo} in
|
|
||||||
community*|multilib*) git_tree='packages-galaxy' ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage: ${0##*/} [options]"
|
echo "Usage: ${0##*/} [options]"
|
||||||
echo " -s <name> Source repository [default:${source_repo}]"
|
echo " -s <name> Source repository [default:${source_repo}]"
|
||||||
echo ' -p <pkg> Package name'
|
echo ' -p <pkg> Package name'
|
||||||
echo ' -r Delete from repo'
|
echo ' -r Delete from repo (commitpkg only)'
|
||||||
echo ' -u Push'
|
echo ' -u Push'
|
||||||
echo ' -q Query settings and pretend'
|
echo ' -q Query settings and pretend'
|
||||||
echo ' -h This help'
|
echo ' -h This help'
|
||||||
@@ -142,8 +161,12 @@ shift $(($OPTIND - 1))
|
|||||||
|
|
||||||
${pretend} && display_settings && exit 1
|
${pretend} && display_settings && exit 1
|
||||||
|
|
||||||
|
if $(is_valid_repo "${source_repo}");then
|
||||||
if [[ "${cmd}" == 'commitpkg' ]];then
|
if [[ "${cmd}" == 'commitpkg' ]];then
|
||||||
commit_pkg
|
commit_pkg
|
||||||
else
|
else
|
||||||
release_pkg
|
symlink_commit_pkg
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
error "source repository '%s' is not valid!" "${source_repo}"
|
||||||
fi
|
fi
|
||||||
|
@@ -29,7 +29,8 @@ del_from_repo(){
|
|||||||
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
|
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
|
||||||
info "pkgfile: %s" "${pkgfile##*/}"
|
info "pkgfile: %s" "${pkgfile##*/}"
|
||||||
repo-remove -R $repo_path/$repo.db.tar.xz $name
|
repo-remove -R $repo_path/$repo.db.tar.xz $name
|
||||||
[[ -f $repo_path/${pkgfile##*/}{,.sig} ]] && rm -v $repo_path/${pkgfile##*/}{,.sig}
|
[[ -e $repo_path/${pkgfile##*/} ]] && rm -v $repo_path/${pkgfile##*/}
|
||||||
|
[[ -e $repo_path/${pkgfile##*/}.sig ]] && rm -v $repo_path/${pkgfile##*/}.sig
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
version=@version@
|
version=@version@
|
||||||
|
|
||||||
|
chroot_version=@chroot_version@
|
||||||
|
|
||||||
LIBDIR='@libdir@'
|
LIBDIR='@libdir@'
|
||||||
|
|
||||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
[[ -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[@]}" \
|
env -i "${_env[@]}" \
|
||||||
basestrap "${basestrap_args[@]}" "$working_dir" ${cache_dirs[@]/#/--cachedir=} "$@" || die 'Failed to install all packages'
|
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"
|
default_locale "set" "$working_dir"
|
||||||
|
|
||||||
|
@@ -18,3 +18,8 @@ extra/python-packaging
|
|||||||
extra/python-pyparsing
|
extra/python-pyparsing
|
||||||
extra/ttf-liberation
|
extra/ttf-liberation
|
||||||
extra/appstream-glib
|
extra/appstream-glib
|
||||||
|
extra/libxkbui
|
||||||
|
extra/libxkbfile
|
||||||
|
extra/libunicodenames
|
||||||
|
extra/mpg123
|
||||||
|
extra/opencl-headers
|
||||||
|
@@ -28,18 +28,11 @@ qt5-remoteobjects
|
|||||||
qt5-webchannel
|
qt5-webchannel
|
||||||
qt5-websockets
|
qt5-websockets
|
||||||
qt5-webglplugin
|
qt5-webglplugin
|
||||||
|
|
||||||
|
|
||||||
qt5-tools
|
qt5-tools
|
||||||
qt5-translations
|
qt5-translations
|
||||||
qt5-doc
|
qt5-doc
|
||||||
qt5-examples
|
qt5-examples
|
||||||
|
|
||||||
qt5-webengine
|
qt5-webengine
|
||||||
qt5-webview
|
qt5-webview
|
||||||
|
|
||||||
qt5-webkit
|
qt5-webkit
|
||||||
|
pyqt5
|
||||||
python2-pyqt5
|
|
||||||
python-pyqt5
|
|
||||||
pyqt5-common
|
|
||||||
|
@@ -91,14 +91,14 @@ msg_row_notify(){
|
|||||||
printf "${GREEN} ${mesg}${ALL_OFF}\n" "$@" >&2
|
printf "${GREEN} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_row_downgrade(){
|
msg_row(){
|
||||||
local mesg=$1; shift
|
local mesg=$1; shift
|
||||||
printf "${YELLOW} ${mesg}${ALL_OFF}\n" "$@" >&2
|
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_row_upgrade(){
|
msg_row_upgrade(){
|
||||||
local mesg=$1; shift
|
local mesg=$1; shift
|
||||||
printf "${RED}${BOLD} ${mesg} ${ALL_OFF}\n" "$@" >&2
|
printf "${RED}${RED} ${mesg} ${ALL_OFF}\n" "$@" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
import(){
|
import(){
|
||||||
|
@@ -71,6 +71,36 @@ patch_pkg(){
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
find_tree(){
|
||||||
|
local tree="$1" pkg="$2"
|
||||||
|
local result=$(find $tree -mindepth 2 -maxdepth 2 -type d -name "$pkg")
|
||||||
|
result=${result%/*}
|
||||||
|
echo ${result##*/}
|
||||||
|
}
|
||||||
|
|
||||||
|
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"
|
||||||
|
git push origin "$branch"
|
||||||
|
}
|
||||||
|
|
||||||
get_import_path(){
|
get_import_path(){
|
||||||
local tree="$1" import_path=
|
local tree="$1" import_path=
|
||||||
case $tree in
|
case $tree in
|
||||||
@@ -80,6 +110,14 @@ get_import_path(){
|
|||||||
echo $import_path
|
echo $import_path
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is_valid_repo(){
|
||||||
|
local src="$1"
|
||||||
|
case $src in
|
||||||
|
core|extra|community|multilib|testing|staging|community-testing|community-staging|multilib-testing|multilib-staging|trunk) return 0 ;;
|
||||||
|
*) return 1 ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
find_repo(){
|
find_repo(){
|
||||||
local pkg="$1" repo=
|
local pkg="$1" repo=
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user