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
|
||||
|
||||
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,42 +19,17 @@ DATADIR='@datadir@'
|
||||
import ${LIBDIR}/util.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(){
|
||||
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
|
||||
}
|
||||
@@ -65,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
|
||||
}
|
||||
|
@@ -11,6 +11,8 @@
|
||||
|
||||
version=@version@
|
||||
|
||||
chroot_version=@chroot_version@
|
||||
|
||||
LIBDIR='@libdir@'
|
||||
|
||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
||||
@@ -92,6 +94,7 @@ copy_hostconf () {
|
||||
|
||||
chroot_extra_mount() {
|
||||
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 "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B
|
||||
|
||||
@@ -113,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}"
|
||||
|
117
bin/commitpkg.in
117
bin/commitpkg.in
@@ -17,59 +17,85 @@ DATADIR='@datadir@'
|
||||
|
||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
||||
import ${LIBDIR}/util.sh
|
||||
import ${LIBDIR}/util-pkg.sh
|
||||
|
||||
commit_pkg(){
|
||||
cd ${tree_dir_artix}/${git_tree}/${package}
|
||||
source trunk/PKGBUILD
|
||||
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}"
|
||||
git rm -r trunk
|
||||
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
|
||||
[[ $arch == 'any' ]] && CARCH=any
|
||||
local ver=$(get_full_version "${package}")
|
||||
|
||||
if ${remove};then
|
||||
local action='remove'
|
||||
if [[ "${source_repo}" == 'trunk' ]];then
|
||||
local pkg=${package}
|
||||
git rm -r trunk
|
||||
else
|
||||
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
|
||||
else
|
||||
info "[%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
|
||||
git rm -r repos/${source_repo}-$CARCH
|
||||
local action='modify'
|
||||
msg "Action: [%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}"
|
||||
git add .
|
||||
git commit -m "[${source_repo}] '${package}-$ver' ${action}"
|
||||
${push} && push_tree
|
||||
fi
|
||||
git commit -m "[${source_repo}] '$pkg' ${action}"
|
||||
${push} && git push origin master
|
||||
else
|
||||
local action='modify'
|
||||
info "[%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}"
|
||||
git add .
|
||||
git commit -m "[${source_repo}] '${package}-$ver' ${action}"
|
||||
${push} && git push origin master
|
||||
error "Package '%s' does not exist!" "${package}"
|
||||
fi
|
||||
}
|
||||
|
||||
release_pkg(){
|
||||
if [[ -d ${tree_dir_artix}/${git_tree}/${package} ]];then
|
||||
cd ${tree_dir_artix}/${git_tree}/${package}
|
||||
symlink_commit_pkg(){
|
||||
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
|
||||
[[ $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'
|
||||
local ver=$(get_full_version "${package}")
|
||||
|
||||
if [[ ${source_repo} == 'trunk' ]];then
|
||||
local action='add'
|
||||
local dest=${target_repo}-$CARCH
|
||||
|
||||
[[ ! -d repos ]] && mkdir repos
|
||||
cd repos
|
||||
[[ -d $dest ]] && git rm -r $dest
|
||||
[[ -d $dest ]] && git rm -r $dest
|
||||
cd ..
|
||||
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} && git push origin master
|
||||
${push} && push_tree
|
||||
else
|
||||
error "Package '%s' does not exist!" "${package}"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -78,7 +104,6 @@ display_settings(){
|
||||
show_config
|
||||
|
||||
msg "OPTIONS:"
|
||||
msg2 "git_tree: %s" "${git_tree}"
|
||||
msg2 "source_repo: %s" "${source_repo}"
|
||||
msg2 "target_repo: %s" "${target_repo}"
|
||||
msg2 "package: %s" "${package}"
|
||||
@@ -100,20 +125,14 @@ remove=false
|
||||
push=false
|
||||
pretend=false
|
||||
|
||||
git_tree='packages'
|
||||
|
||||
cmd=${0##*/}
|
||||
target_repo=${cmd%pkg}
|
||||
|
||||
case ${target_repo} in
|
||||
community*|multilib*) git_tree='packages-galaxy' ;;
|
||||
esac
|
||||
|
||||
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'
|
||||
@@ -142,8 +161,12 @@ shift $(($OPTIND - 1))
|
||||
|
||||
${pretend} && display_settings && exit 1
|
||||
|
||||
if [[ "${cmd}" == 'commitpkg' ]];then
|
||||
commit_pkg
|
||||
if $(is_valid_repo "${source_repo}");then
|
||||
if [[ "${cmd}" == 'commitpkg' ]];then
|
||||
commit_pkg
|
||||
else
|
||||
symlink_commit_pkg
|
||||
fi
|
||||
else
|
||||
release_pkg
|
||||
error "source repository '%s' is not valid!" "${source_repo}"
|
||||
fi
|
||||
|
@@ -29,7 +29,8 @@ del_from_repo(){
|
||||
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
|
||||
info "pkgfile: %s" "${pkgfile##*/}"
|
||||
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
|
||||
done
|
||||
}
|
||||
|
@@ -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"
|
||||
|
||||
|
@@ -18,3 +18,8 @@ extra/python-packaging
|
||||
extra/python-pyparsing
|
||||
extra/ttf-liberation
|
||||
extra/appstream-glib
|
||||
extra/libxkbui
|
||||
extra/libxkbfile
|
||||
extra/libunicodenames
|
||||
extra/mpg123
|
||||
extra/opencl-headers
|
||||
|
@@ -28,18 +28,11 @@ qt5-remoteobjects
|
||||
qt5-webchannel
|
||||
qt5-websockets
|
||||
qt5-webglplugin
|
||||
|
||||
|
||||
qt5-tools
|
||||
qt5-translations
|
||||
qt5-doc
|
||||
qt5-examples
|
||||
|
||||
qt5-webengine
|
||||
qt5-webview
|
||||
|
||||
qt5-webkit
|
||||
|
||||
python2-pyqt5
|
||||
python-pyqt5
|
||||
pyqt5-common
|
||||
pyqt5
|
||||
|
@@ -91,14 +91,14 @@ msg_row_notify(){
|
||||
printf "${GREEN} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||
}
|
||||
|
||||
msg_row_downgrade(){
|
||||
msg_row(){
|
||||
local mesg=$1; shift
|
||||
printf "${YELLOW} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||
}
|
||||
|
||||
msg_row_upgrade(){
|
||||
local mesg=$1; shift
|
||||
printf "${RED}${BOLD} ${mesg} ${ALL_OFF}\n" "$@" >&2
|
||||
printf "${RED}${RED} ${mesg} ${ALL_OFF}\n" "$@" >&2
|
||||
}
|
||||
|
||||
import(){
|
||||
|
@@ -71,6 +71,36 @@ patch_pkg(){
|
||||
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(){
|
||||
local tree="$1" import_path=
|
||||
case $tree in
|
||||
@@ -80,6 +110,14 @@ get_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(){
|
||||
local pkg="$1" repo=
|
||||
|
||||
|
Reference in New Issue
Block a user