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

View File

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

View File

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

View File

@@ -22,61 +22,79 @@ import ${LIBDIR}/util-pkg.sh
commit_pkg(){
local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
if [[ -n ${git_tree} ]];then
cd ${tree_dir_artix}/${git_tree}/${package}
cd ${tree_dir_artix}/${git_tree}
cd ${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}"
${push} && push_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}"
if ${push};then
msg "Checking (%s)" "${git_tree}"
pull_tree
push_tree
fi
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}
cd ${tree_dir_artix}/${git_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'
[[ ! -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}"
pull_tree
push_tree
fi
else
error "Package '%s' does not exist!" "${package}"
fi
@@ -115,7 +133,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 +166,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}"

View File

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

View File

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