Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
bc8f17cc86 | ||
![]() |
1ceb6926e9 | ||
![]() |
4d3a993a72 | ||
![]() |
a52bdc9799 | ||
![]() |
b62e90f778 | ||
![]() |
5d2fda793d | ||
![]() |
550663cfd1 |
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,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
|
||||||
}
|
}
|
||||||
|
@@ -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}"
|
||||||
|
@@ -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}"
|
||||||
|
@@ -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"
|
||||||
|
|
||||||
|
@@ -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"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user