Compare commits

...

7 Commits

Author SHA1 Message Date
artoo
bc8f17cc86 Merge pull request #51 from artix-linux/devel
commitpkg: revert to pull before push if rebase default
2018-02-17 03:18:58 +01:00
udeved
1ceb6926e9 commitpkg: revert to pull before push if rebase default 2018-02-17 03:17:46 +01:00
artoo
4d3a993a72 Merge pull request #50 from artix-linux/devel
Devel
2018-02-17 02:56:20 +01:00
udeved
a52bdc9799 commitpkg: fix git_tree display 2018-02-17 02:38:27 +01:00
udeved
b62e90f778 mkchroot & chroot-run: set chroot version with makefile 2018-02-17 02:19:51 +01:00
udeved
5d2fda793d mkchroot: set static chroot version 2018-02-17 02:08:15 +01:00
udeved
550663cfd1 commitpkg, buildtree: clean up code 2018-02-17 02:05:13 +01:00
6 changed files with 82 additions and 61 deletions

View File

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

View File

@@ -19,24 +19,17 @@ DATADIR='@datadir@'
import ${LIBDIR}/util.sh import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.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(){ 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
} }
@@ -47,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
} }

View File

@@ -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
@@ -114,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}"

View File

@@ -22,61 +22,79 @@ import ${LIBDIR}/util-pkg.sh
commit_pkg(){ commit_pkg(){
local git_tree=$(find_tree "${tree_dir_artix}" "${package}") local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
if [[ -n ${git_tree} ]];then if [[ -n ${git_tree} ]];then
cd ${tree_dir_artix}/${git_tree}/${package} cd ${tree_dir_artix}/${git_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} && push_tree "${git_tree}" ${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} && push_tree "${git_tree}" if ${push};then
msg "Checking (%s)" "${git_tree}"
pull_tree
push_tree
fi
fi fi
else else
error "Package '%s' does not exist!" "${package}" error "Package '%s' does not exist!" "${package}"
fi fi
} }
release_pkg(){ symlink_commit_pkg(){
local git_tree=$(find_tree "${tree_dir_artix}" "${package}") local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
if [[ -n ${git_tree} ]];then if [[ -n ${git_tree} ]];then
cd ${tree_dir_artix}/${git_tree}/${package} cd ${tree_dir_artix}/${git_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}")
if [[ ${source_repo} == 'trunk' ]];then
local action='add'
local dest=${target_repo}-$CARCH
[[ -d repos/$dest ]] && git rm -r repos/$dest
[[ ! -d repos ]] && mkdir repos
cp -r trunk repos/$dest
else
local action='move'
local dest=${target_repo}-$CARCH
cd repos cd repos
dest=${target_repo}-$CARCH
action='move'
[[ -d $dest ]] && git rm -r $dest [[ -d $dest ]] && git rm -r $dest
git mv ${source_repo}-$CARCH $dest git mv ${source_repo}-$CARCH $dest
cd .. cd ..
else
dest=${target_repo}-$CARCH
action='add'
[[ ! -d repos ]] && mkdir repos
cd repos
[[ -d repos/$dest ]] && git rm -r repos/$dest
cd ..
cp -r trunk repos/$dest
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} && push_tree "${git_tree}" if ${push};then
msg "Checking (%s)" "${git_tree}"
pull_tree
push_tree
fi
else else
error "Package '%s' does not exist!" "${package}" error "Package '%s' does not exist!" "${package}"
fi fi
@@ -115,7 +133,7 @@ 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'
@@ -148,7 +166,7 @@ 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 fi
else else
error "source repository '%s' is not valid!" "${source_repo}" error "source repository '%s' is not valid!" "${source_repo}"

View File

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

View File

@@ -78,25 +78,26 @@ find_tree(){
echo ${result##*/} echo ${result##*/}
} }
pull_tree(){ clone_tree(){
local branch="master" tree="$1" local timer=$(get_timer) host_tree="$1"
local local_head=$(get_local_head "$branch") git clone $host_tree.git
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"
show_elapsed_time "${FUNCNAME}" "${timer}" 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(){ push_tree(){
local branch="master" tree="$1" local branch="master"
pull_tree "$tree"
git push origin "$branch" git push origin "$branch"
} }