Compare commits
36 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
4363421ce8 | ||
![]() |
4b96a54347 | ||
![]() |
0ad953ead8 | ||
![]() |
45ebe43272 | ||
![]() |
1c64fe7f69 | ||
![]() |
c2a030b016 | ||
![]() |
94670e18e7 | ||
![]() |
5c835b6e2c | ||
![]() |
3f803be6b8 | ||
![]() |
70b81d7ff8 | ||
![]() |
12a34bd5a2 | ||
![]() |
11504d3267 | ||
![]() |
203df20e76 | ||
![]() |
184259c600 | ||
![]() |
b95c7dee0d | ||
![]() |
c7c67fbc21 | ||
![]() |
21a5c7e916 | ||
![]() |
62810d1d85 | ||
![]() |
865bd20674 | ||
![]() |
b46b5c626e | ||
![]() |
9ac4576666 | ||
![]() |
a88f196217 | ||
![]() |
c0e8ef4c26 | ||
![]() |
02b28e82ef | ||
![]() |
fb6d1d4c1b | ||
![]() |
9fc3fbd14d | ||
![]() |
72f2781cb9 | ||
![]() |
9ddd73c8b4 | ||
![]() |
3c92d5c87a | ||
![]() |
bc8f17cc86 | ||
![]() |
1ceb6926e9 | ||
![]() |
4d3a993a72 | ||
![]() |
a52bdc9799 | ||
![]() |
b62e90f778 | ||
![]() |
5d2fda793d | ||
![]() |
550663cfd1 |
8
Makefile
8
Makefile
@@ -1,5 +1,7 @@
|
||||
Version=0.7
|
||||
|
||||
Chroot_version=0.7
|
||||
|
||||
PREFIX = /usr/local
|
||||
SYSCONFDIR = /etc
|
||||
|
||||
@@ -33,7 +35,8 @@ BIN_PKG = \
|
||||
bin/buildpkg \
|
||||
bin/buildtree \
|
||||
bin/deploypkg \
|
||||
bin/commitpkg
|
||||
bin/commitpkg \
|
||||
bin/mkpkgclean
|
||||
|
||||
LIBS_PKG = \
|
||||
$(wildcard lib/util-pkg*.sh)
|
||||
@@ -97,7 +100,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 $@"
|
||||
|
136
bin/buildtree.in
136
bin/buildtree.in
@@ -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
|
||||
}
|
||||
@@ -60,15 +55,15 @@ show_version_table(){
|
||||
for tree in packages packages-galaxy;do
|
||||
local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d)
|
||||
for pkg_path in ${git[@]}; do
|
||||
local artixrepo=$(find_repo "$pkg_path")
|
||||
local artixrepo=$(find_repo "$pkg_path" "${unstable}")
|
||||
if [[ -d $pkg_path/repos/$artixrepo ]];then
|
||||
source $pkg_path/trunk/PKGBUILD 2>/dev/null
|
||||
source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null
|
||||
local pkg=${pkg_path##*/}
|
||||
local artixver=$(get_full_version $pkg)
|
||||
local src=$(get_import_path "$tree" "$pkg")
|
||||
local archrepo=$(find_repo "$src/$pkg")
|
||||
local archrepo=$(find_repo "$src/$pkg" "${unstable}")
|
||||
if [[ -d $src/$pkg/repos/$archrepo ]];then
|
||||
source $src/$pkg/trunk/PKGBUILD 2>/dev/null
|
||||
source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
|
||||
local archver=$(get_full_version $pkg)
|
||||
fi
|
||||
if [ $(vercmp $artixver $archver) -lt 0 ];then
|
||||
@@ -88,23 +83,22 @@ show_version_table(){
|
||||
}
|
||||
|
||||
show_artix_table(){
|
||||
msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version"
|
||||
msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version"
|
||||
for tree in packages packages-galaxy;do
|
||||
local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d)
|
||||
for pkg_path in ${git[@]}; do
|
||||
local artixrepo=$(find_repo "$pkg_path")
|
||||
local artixrepo=$(find_repo "$pkg_path" "${unstable}")
|
||||
if [[ -d $pkg_path/repos/$artixrepo ]];then
|
||||
source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null
|
||||
local pkg=${pkg_path##*/}
|
||||
local artixver=$(get_full_version $pkg)
|
||||
local src=$(get_import_path "$tree" "$pkg")
|
||||
local archrepo=$(find_repo "$src/$pkg")
|
||||
local archrepo=$(find_repo "$src/$pkg" "${unstable}")
|
||||
if [[ -d $src/$pkg/repos/$archrepo ]];then
|
||||
source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
|
||||
local archver=$(get_full_version $pkg)
|
||||
fi
|
||||
if [ $(vercmp $artixver $archver) -eq 0 ] || [ $(vercmp $artixver $archver) -gt 0 ];then
|
||||
|
||||
local ar=$(arch_to_artix_repo "$artixrepo")
|
||||
case $ar in
|
||||
*goblins)
|
||||
@@ -130,40 +124,70 @@ show_artix_table(){
|
||||
done
|
||||
}
|
||||
|
||||
from_arch(){
|
||||
local pkg="$1" archtree="$2" artixtree="$3" src= dest=
|
||||
src=${tree_dir_arch}/$archtree/$pkg/trunk
|
||||
dest=${tree_dir_artix}/$artixtree/$pkg/trunk
|
||||
|
||||
show_deps(){
|
||||
local src="$1"
|
||||
source $src/PKGBUILD 2>/dev/null
|
||||
cd ${tree_dir_arch}/$archtree
|
||||
msg "Package: %s" "$pkg"
|
||||
[[ $arch == 'any' ]] && CARCH=any
|
||||
local archver=$(get_full_version $pkg)
|
||||
msg "git tree: %s" "$git_tree_arch"
|
||||
msg2 "Package Name: %s" "$pkg"
|
||||
msg2 "Arch Version: %s" "$archver"
|
||||
msg2 "arch: %s" "$CARCH"
|
||||
[[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
|
||||
[[ -n ${checkdepends[@]} ]] && msg2 "checkdepends: %s" "${checkdepends[*]}"
|
||||
[[ -n ${depends[@]} ]] && msg2 "depends: %s" "${depends[*]}"
|
||||
[[ -n ${optdepends[@]} ]] && msg2 "optdepends: %s" "${optdepends[@]}"
|
||||
}
|
||||
|
||||
from_arch(){
|
||||
local pkg="$1" src= dest=
|
||||
local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
|
||||
[[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
|
||||
src=${tree_dir_arch}/$git_tree_arch/$pkg/trunk
|
||||
|
||||
local git_tree_artix=$(find_tree "${tree_dir_artix}" "$pkg")
|
||||
dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
|
||||
|
||||
cd ${tree_dir_arch}/$git_tree_arch
|
||||
|
||||
show_deps "$src"
|
||||
|
||||
if [[ -d $dest ]];then
|
||||
cd ${tree_dir_artix}/$git_tree_artix
|
||||
|
||||
source $dest/PKGBUILD 2>/dev/null
|
||||
cd ${tree_dir_artix}/$artixtree
|
||||
local artixver=$(get_full_version $pkg)
|
||||
|
||||
msg2 "Artix Version: %s" "$artixver"
|
||||
if [ $(vercmp $artixver $archver) -lt 0 ];then
|
||||
info "Importing from archlinux (%s)" "$archtree"
|
||||
rsync "${rsync_args[@]}" $src/ $dest/
|
||||
patch_pkg "$pkg" "$tree"
|
||||
else
|
||||
warning "Versions match! Nothing to do!"
|
||||
fi
|
||||
info "Update from archlinux (%s)" "$git_tree_arch"
|
||||
rsync "${rsync_args[@]}" $src/ $dest/
|
||||
patch_pkg "$pkg" "$tree"
|
||||
else
|
||||
cd ${tree_dir_artix}/$artixtree
|
||||
info "Importing from archlinux (%s)" "$archtree"
|
||||
[[ $git_tree_arch == 'packages' ]] && git_tree_artix=$git_tree_arch
|
||||
[[ $git_tree_arch == 'community' ]] && git_tree_artix='packages-galaxy'
|
||||
|
||||
cd ${tree_dir_artix}/$git_tree_artix
|
||||
|
||||
dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
|
||||
mkdir $pkg
|
||||
|
||||
info "Import from archlinux (%s)" "$git_tree_arch"
|
||||
rsync "${rsync_args[@]}" $src/ $dest/
|
||||
patch_pkg "$pkg" "$tree"
|
||||
fi
|
||||
}
|
||||
|
||||
view_build(){
|
||||
local pkg="$1" src=
|
||||
local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
|
||||
[[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
|
||||
src=${tree_dir_arch}/$git_tree_arch/$pkg/trunk
|
||||
|
||||
show_deps "$src"
|
||||
}
|
||||
|
||||
sync_repos(){
|
||||
pull_tree_arch
|
||||
${sync_arch} && pull_tree_arch
|
||||
pull_tree_artix
|
||||
}
|
||||
|
||||
@@ -176,12 +200,13 @@ display_settings(){
|
||||
|
||||
msg "ARGS:"
|
||||
msg2 "sync: %s" "${sync}"
|
||||
msg2 "sync_arch: %s" "${sync_arch}"
|
||||
msg2 "compare: %s" "${compare}"
|
||||
msg2 "upgrades: %s" "${upgrades}"
|
||||
msg2 "downgrades: %s" "${downgrades}"
|
||||
msg2 "artix: %s" "${artix}"
|
||||
msg2 "import_packages: %s" "${import_packages}"
|
||||
msg2 "import_community: %s" "${import_community}"
|
||||
msg2 "import: %s" "${import}"
|
||||
msg2 "view: %s" "${view}"
|
||||
|
||||
msg "PATHS:"
|
||||
msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
|
||||
@@ -196,29 +221,30 @@ load_vars /etc/makepkg.conf
|
||||
|
||||
pretend=false
|
||||
sync=false
|
||||
sync_arch=true
|
||||
compare=false
|
||||
unstable=true
|
||||
upgrades=true
|
||||
downgrades=false
|
||||
artix=false
|
||||
import_packages=false
|
||||
import_community=false
|
||||
import=false
|
||||
view=false
|
||||
package=''
|
||||
|
||||
git_artix='packages'
|
||||
git_arch='packages'
|
||||
|
||||
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
|
||||
|
||||
usage() {
|
||||
echo "Usage: ${0##*/} [options]"
|
||||
echo ' -p <pkg> Package name'
|
||||
echo " -s Clone or pull repos"
|
||||
echo " -z Don't clone or pull arch repos"
|
||||
echo ' -c Compare packages'
|
||||
echo ' -x Compare packages without unstable kde and gnome'
|
||||
echo ' -u Show upgrade packages'
|
||||
echo ' -d Show downgrade packages'
|
||||
echo ' -a Show artix specific packages'
|
||||
echo ' -i Import from arch packages'
|
||||
echo ' -j Import from arch community'
|
||||
echo ' -i Import a package from arch'
|
||||
echo ' -v View package depends'
|
||||
echo ' -q Query settings'
|
||||
echo ' -h This help'
|
||||
echo ''
|
||||
@@ -228,18 +254,20 @@ usage() {
|
||||
|
||||
orig_argv=("$0" "$@")
|
||||
|
||||
opts='p:csudaijqh'
|
||||
opts='p:csudaizxvqh'
|
||||
|
||||
while getopts "${opts}" arg; do
|
||||
case "${arg}" in
|
||||
p) package="$OPTARG" ;;
|
||||
s) sync=true ;;
|
||||
z) sync_arch=false ;;
|
||||
c) compare=true ;;
|
||||
u) upgrades=false ;;
|
||||
d) downgrades=true ;;
|
||||
a) artix=true ;;
|
||||
i) import_packages=true ;;
|
||||
j) import_community=true; git_artix='packages-galaxy'; git_arch='community' ;;
|
||||
i) import=true ;;
|
||||
v) view=true ;;
|
||||
x) unstable=false ;;
|
||||
q) pretend=true ;;
|
||||
h|?) usage 0 ;;
|
||||
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
||||
@@ -255,10 +283,10 @@ ${pretend} && display_settings && exit 1
|
||||
|
||||
${sync} && sync_repos
|
||||
|
||||
${view} && view_build "${package}"
|
||||
|
||||
${compare} && show_version_table
|
||||
|
||||
${artix} && show_artix_table
|
||||
|
||||
${import_packages} && from_arch "${package}" "${git_arch}" "${git_artix}"
|
||||
|
||||
${import_community} && from_arch "${package}" "${git_arch}" "${git_artix}"
|
||||
${import} && from_arch "${package}"
|
||||
|
@@ -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}"
|
||||
|
@@ -23,60 +23,77 @@ commit_pkg(){
|
||||
local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
|
||||
if [[ -n ${git_tree} ]];then
|
||||
cd ${tree_dir_artix}/${git_tree}/${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}"
|
||||
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}"
|
||||
fi
|
||||
|
||||
if ${push};then
|
||||
msg "Checking (%s)" "${git_tree}"
|
||||
git pull origin master
|
||||
git push origin master
|
||||
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}
|
||||
|
||||
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 ..
|
||||
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
|
||||
[[ ! -d repos/$dest ]] && mkdir repos/$dest
|
||||
|
||||
cp trunk/* repos/$dest/
|
||||
else
|
||||
dest=${target_repo}-$CARCH
|
||||
action='add'
|
||||
local action='move'
|
||||
local dest=${target_repo}-$CARCH
|
||||
|
||||
[[ -d repos/$dest ]] && git rm -r repos/$dest
|
||||
[[ ! -d repos ]] && mkdir repos
|
||||
cd repos
|
||||
[[ -d repos/$dest ]] && git rm -r repos/$dest
|
||||
git mv ${source_repo}-$CARCH $dest
|
||||
cd ..
|
||||
cp -r trunk repos/$dest
|
||||
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}"
|
||||
git pull origin master
|
||||
git push origin master
|
||||
fi
|
||||
else
|
||||
error "Package '%s' does not exist!" "${package}"
|
||||
fi
|
||||
@@ -115,7 +132,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 +165,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}"
|
||||
|
@@ -50,7 +50,8 @@ add_to_repo(){
|
||||
signfile ${pkgfile}
|
||||
fi
|
||||
ln -sf ${pkgfile}{,.sig} $repo_path/
|
||||
repo-add -R $repo_path/$repo.db.tar.xz $pkgfile
|
||||
cd $repo_path
|
||||
repo-add -R $repo.db.tar.xz ${pkgfile##*/}
|
||||
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"
|
||||
|
||||
|
@@ -202,11 +202,15 @@ _chrootbuild() {
|
||||
# No coredumps
|
||||
ulimit -c 0
|
||||
|
||||
# Work around chroot-run not giving a ctty
|
||||
exec </dev/console
|
||||
|
||||
. /etc/profile
|
||||
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
# workaround meson locale errors
|
||||
# supposedly fixed with coming python-3.7
|
||||
locale-gen &> /dev/null
|
||||
|
||||
sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
|
||||
@@ -231,9 +235,11 @@ download_sources() {
|
||||
local builddir
|
||||
builddir="$(mktemp -d)"
|
||||
chmod 1777 "$builddir"
|
||||
# chown "$makepkg_user:$makepkg_user" "$builddir"
|
||||
|
||||
# Ensure sources are downloaded
|
||||
sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
|
||||
sudo -u "$makepkg_user" --preserve-env=GNUPGHOME \
|
||||
env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
|
||||
makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o ||
|
||||
die "Could not download sources."
|
||||
|
||||
@@ -325,7 +331,7 @@ main() {
|
||||
[[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.'
|
||||
makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}}
|
||||
|
||||
check_root
|
||||
check_root SOURCE_DATE_EPOCH,GNUPGHOME
|
||||
|
||||
# Canonicalize chrootdir, getting rid of trailing /
|
||||
chrootdir=$(readlink -e "$passeddir")
|
||||
|
93
bin/mkpkgclean.in
Normal file
93
bin/mkpkgclean.in
Normal file
@@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
version=@version@
|
||||
|
||||
LIBDIR='@libdir@'
|
||||
SYSCONFDIR='@sysconfdir@'
|
||||
|
||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
||||
import ${LIBDIR}/util.sh
|
||||
|
||||
prepare_clean(){
|
||||
if [[ -n ${repository} ]];then
|
||||
storage_dir=${repos_root}/${repository}/os/${target_arch}
|
||||
paccache_args+=(-c "${storage_dir}" -k 1)
|
||||
else
|
||||
if [[ -n ${PKGDEST} ]];then
|
||||
storage_dir=${PKGDEST}
|
||||
paccache_args+=(-c "${storage_dir}" -k 4)
|
||||
else
|
||||
die "PKGDEST not set in makepkg.conf!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
display_settings(){
|
||||
show_version
|
||||
show_config
|
||||
|
||||
msg "OPTIONS:"
|
||||
msg2 "repository: %s" "${repository}"
|
||||
|
||||
msg "PATH:"
|
||||
msg2 "storage_dir: %s" "${storage_dir}"
|
||||
|
||||
msg "ARGS:"
|
||||
msg2 "paccache_args: %s" "${paccache_args[*]}"
|
||||
|
||||
paccache "${paccache_args[@]}"
|
||||
}
|
||||
|
||||
load_user_info
|
||||
|
||||
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
|
||||
load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
|
||||
load_vars /etc/makepkg.conf
|
||||
|
||||
clean=false
|
||||
pretend=false
|
||||
repository=''
|
||||
storage_dir=''
|
||||
paccache_args=(-v)
|
||||
|
||||
usage() {
|
||||
echo "Usage: ${0##*/} [options]"
|
||||
echo " -d <dir> Directory [default:${repository}]"
|
||||
echo ' -c Clean up'
|
||||
echo ' -q Query settings and pretend cleaning'
|
||||
echo ' -h This help'
|
||||
echo ''
|
||||
echo ''
|
||||
exit $1
|
||||
}
|
||||
|
||||
orig_argv=("$0" "$@")
|
||||
|
||||
opts='d:cqh'
|
||||
|
||||
while getopts "${opts}" arg; do
|
||||
case "${arg}" in
|
||||
d) repository="$OPTARG" ;;
|
||||
c) clean=true ; paccache_args+=(-r) ;;
|
||||
q) pretend=true; paccache_args+=(-d) ;;
|
||||
h|?) usage 0 ;;
|
||||
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
prepare_clean
|
||||
|
||||
${pretend} && display_settings && exit 1
|
||||
|
||||
${clean} && paccache "${paccache_args[@]}"
|
@@ -1,274 +0,0 @@
|
||||
def ADD_REPO = ''
|
||||
def RM_REPO = ''
|
||||
def IS_ADD = 'false'
|
||||
def IS_REMOVE = 'false'
|
||||
def IS_BUILD = 'false'
|
||||
def PKG_TRUNK = ''
|
||||
def PKG_PATH = ''
|
||||
|
||||
pipeline {
|
||||
agent any
|
||||
options {
|
||||
skipDefaultCheckout()
|
||||
timestamps()
|
||||
}
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
script {
|
||||
checkout scm
|
||||
|
||||
def currentCommit = sh(returnStdout: true, script: 'git rev-parse @').trim()
|
||||
echo "currentCommit: ${currentCommit}"
|
||||
|
||||
def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n')
|
||||
def changedPkgStatus = []
|
||||
def pkgPath = []
|
||||
int entryCount = 0
|
||||
for ( int i = 0; i < changedFilesStatus.size(); i++ ) {
|
||||
def entry = changedFilesStatus[i].split()
|
||||
def fileStatus = entry[0]
|
||||
entryCount = entry.size()
|
||||
for ( int j = 1; j < entry.size(); j++ ) {
|
||||
if ( entry[j].contains('/PKGBUILD') && entry[j].contains('/repos') ){
|
||||
changedPkgStatus << "${fileStatus} " + entry[j].minus('/PKGBUILD')
|
||||
pkgPath << entry[j].minus('/PKGBUILD')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int pkgCount = changedPkgStatus.size()
|
||||
int pkgPathCount = pkgPath.size()
|
||||
echo "pkgCount: ${pkgCount}"
|
||||
echo "entryCount: ${entryCount}"
|
||||
echo "pkgPathCount: ${pkgPathCount}"
|
||||
echo "changedPkgStatus: ${changedPkgStatus}"
|
||||
|
||||
if ( pkgCount > 0 ) {
|
||||
|
||||
if ( entryCount == 2 && pkgCount == 2 ) {
|
||||
def pkgEntry1 = changedPkgStatus[0].split()
|
||||
def pkgEntry2 = changedPkgStatus[1].split()
|
||||
def srcPath = []
|
||||
def pkgStatus = []
|
||||
srcPath << pkgEntry1[1]
|
||||
srcPath << pkgEntry2[1]
|
||||
pkgStatus << pkgEntry1[0]
|
||||
pkgStatus << pkgEntry2[0]
|
||||
def buildInfo1 = srcPath[0].tokenize('/')
|
||||
def buildInfo2 = srcPath[1].tokenize('/')
|
||||
|
||||
if ( pkgStatus[0] == "M" ) {
|
||||
IS_ADD = 'true'
|
||||
if ( srcPath[0].contains('community-testing') ) {
|
||||
ADD_REPO = 'galaxy-gremlins'
|
||||
} else if ( srcPath[0].contains('community-x86_64') || srcPath[0].contains('community-any') ) {
|
||||
ADD_REPO = 'galaxy'
|
||||
}
|
||||
if ( srcPath[0].contains('multilib-testing') ) {
|
||||
ADD_REPO = 'lib32-gremlins'
|
||||
} else if ( srcPath[0].contains('multilib-x86_64') ) {
|
||||
ADD_REPO = 'lib32'
|
||||
}
|
||||
} else if ( pkgStatus[1] == "M" ) {
|
||||
IS_ADD = 'true'
|
||||
if ( srcPath[1].contains('community-testing') ) {
|
||||
ADD_REPO = 'galaxy-gremlins'
|
||||
} else if ( srcPath[1].contains('community-x86_64') || srcPath[1].contains('community-any') ) {
|
||||
ADD_REPO = 'galaxy'
|
||||
}
|
||||
if ( srcPath[1].contains('multilib-testing') ) {
|
||||
ADD_REPO = 'lib32-gremlins'
|
||||
} else if ( srcPath[1].contains('multilib-x86_64') ) {
|
||||
ADD_REPO = 'lib32'
|
||||
}
|
||||
}
|
||||
|
||||
if ( pkgStatus[0] == "D" ) {
|
||||
IS_REMOVE = 'true'
|
||||
if ( srcPath[0].contains('community-testing') ) {
|
||||
RM_REPO = 'galaxy-gremlins'
|
||||
} else if ( srcPath[0].contains('community-x86_64') || srcPath[0].contains('community-any') ) {
|
||||
RM_REPO = 'galaxy'
|
||||
}
|
||||
if ( srcPath[0].contains('multilib-testing') ) {
|
||||
RM_REPO = 'lib32-gremlins'
|
||||
} else if ( srcPath[0].contains('multilib-x86_64') ) {
|
||||
RM_REPO = 'lib32'
|
||||
}
|
||||
} else if ( pkgStatus[1] == "D" ) {
|
||||
IS_REMOVE = 'true'
|
||||
if ( srcPath[1].contains('community-testing') ) {
|
||||
RM_REPO = 'galaxy-gremlins'
|
||||
} else if ( srcPath[1].contains('community-x86_64') || srcPath[1].contains('community-any') ) {
|
||||
RM_REPO = 'galaxy'
|
||||
}
|
||||
if ( srcPath[1].contains('multilib-testing') ) {
|
||||
RM_REPO = 'lib32-gremlins'
|
||||
} else if ( srcPath[1].contains('multilib-x86_64') ) {
|
||||
RM_REPO = 'lib32'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
PKG_TRUNK = buildInfo1[0] + '/trunk'
|
||||
}
|
||||
|
||||
if ( entryCount == 3 && pkgCount == 2 ) {
|
||||
def pkgEntry = changedPkgStatus[0].split()
|
||||
def pkgStatus = pkgEntry[0]
|
||||
def buildInfo1 = pkgPath[0].tokenize('/')
|
||||
def buildInfo2 = pkgPath[1].tokenize('/')
|
||||
|
||||
if ( pkgStatus.contains('R') ) {
|
||||
IS_ADD = 'true'
|
||||
IS_REMOVE = 'true'
|
||||
|
||||
if ( pkgPath[0].contains('community-staging') && pkgPath[1].contains('community-testing') ) {
|
||||
ADD_REPO = 'galaxy-gremlins'
|
||||
RM_REPO = 'galaxy-goblins'
|
||||
} else if ( pkgPath[0].contains('community-testing') && pkgPath[1].contains('community-staging') ) {
|
||||
ADD_REPO = 'galaxy-goblins'
|
||||
RM_REPO = 'galaxy-gremlins'
|
||||
}
|
||||
|
||||
if ( pkgPath[0].contains('community-testing') && pkgPath[1].contains('community-x86_64') || pkgPath[0].contains('community-any') ) {
|
||||
ADD_REPO = 'galaxy-gremlins'
|
||||
RM_REPO = 'galaxy'
|
||||
} else if ( pkgPath[0].contains('community-x86_64') || pkgPath[0].contains('community-any') && pkgPath[1].contains('community-testing') ) {
|
||||
ADD_REPO = 'galaxy'
|
||||
RM_REPO = 'galaxy-gremlins'
|
||||
}
|
||||
|
||||
if ( pkgPath[0].contains('multilib-staging') && pkgPath[1].contains('multilib-testing') ) {
|
||||
ADD_REPO = 'lib32-gremlins'
|
||||
RM_REPO = 'lib32-goblins'
|
||||
} else if ( pkgPath[0].contains('multilib-testing') && pkgPath[1].contains('multilib-staging') ) {
|
||||
ADD_REPO = 'lib32-goblins'
|
||||
RM_REPO = 'lib32-gremlins'
|
||||
}
|
||||
|
||||
if ( pkgPath[0].contains('multilib-testing') && pkgPath[1].contains('multilib-x86_64') ) {
|
||||
ADD_REPO = 'lib32'
|
||||
RM_REPO = 'lib32-gremlins'
|
||||
} else if ( pkgPath[0].contains('multilib-x86_64') && pkgPath[1].contains('multilib-testing') ) {
|
||||
ADD_REPO = 'lib32-gremlins'
|
||||
RM_REPO = 'lib32'
|
||||
}
|
||||
}
|
||||
PKG_TRUNK = buildInfo1[0] + '/trunk'
|
||||
}
|
||||
|
||||
if ( pkgCount == 1 ) {
|
||||
def pkgEntry = changedPkgStatus[0].split()
|
||||
def pkgStatus = pkgEntry[0]
|
||||
def srcPath = pkgEntry[1]
|
||||
def buildInfo = srcPath.tokenize('/')
|
||||
|
||||
if ( srcPath.contains('community-staging') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'galaxy-goblins'
|
||||
RM_REPO = ADD_REPO
|
||||
} else if ( srcPath.contains('community-testing') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'galaxy-gremlins'
|
||||
RM_REPO = ADD_REPO
|
||||
} else if ( srcPath.contains('community-x86_64') || srcPath.contains('community-any') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'galaxy'
|
||||
RM_REPO = ADD_REPO
|
||||
}
|
||||
if ( srcPath.contains('multilib-staging') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'lib32-goblins'
|
||||
RM_REPO = ADD_REPO
|
||||
} else if ( srcPath.contains('multilib-testing') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'lib32-gremlins'
|
||||
RM_REPO = ADD_REPO
|
||||
} else if ( srcPath.contains('multilib-x86_64') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'lib32'
|
||||
RM_REPO = ADD_REPO
|
||||
}
|
||||
PKG_PATH = srcPath
|
||||
PKG_TRUNK = buildInfo[0] + '/trunk'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
environment {
|
||||
BUILDBOT_GPGP = credentials('BUILDBOT_GPGP')
|
||||
}
|
||||
when {
|
||||
expression { return IS_BUILD == 'true' }
|
||||
}
|
||||
steps {
|
||||
dir("${PKG_PATH}") {
|
||||
sh "buildpkg -r ${ADD_REPO}"
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
dir("${PKG_PATH}") {
|
||||
sh "deploypkg -a -d ${ADD_REPO} -s"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Add') {
|
||||
when {
|
||||
expression { return IS_ADD == 'true' }
|
||||
}
|
||||
steps {
|
||||
dir("${PKG_TRUNK}") {
|
||||
sh "deploypkg -a -d ${ADD_REPO}"
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Remove') {
|
||||
when {
|
||||
expression { return IS_REMOVE == 'true' }
|
||||
}
|
||||
steps {
|
||||
dir("${PKG_TRUNK}") {
|
||||
sh "deploypkg -r -d ${RM_REPO}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,241 +0,0 @@
|
||||
def ADD_REPO = ''
|
||||
def RM_REPO = ''
|
||||
def IS_ADD = 'false'
|
||||
def IS_REMOVE = 'false'
|
||||
def IS_BUILD = 'false'
|
||||
def PKG_TRUNK = ''
|
||||
def PKG_PATH = ''
|
||||
|
||||
pipeline {
|
||||
agent any
|
||||
options {
|
||||
skipDefaultCheckout()
|
||||
timestamps()
|
||||
}
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
script {
|
||||
checkout scm
|
||||
|
||||
def currentCommit = sh(returnStdout: true, script: 'git rev-parse @').trim()
|
||||
echo "currentCommit: ${currentCommit}"
|
||||
|
||||
def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n')
|
||||
def changedPkgStatus = []
|
||||
def pkgPath = []
|
||||
int entryCount = 0
|
||||
for ( int i = 0; i < changedFilesStatus.size(); i++ ) {
|
||||
def entry = changedFilesStatus[i].split()
|
||||
def fileStatus = entry[0]
|
||||
entryCount = entry.size()
|
||||
for ( int j = 1; j < entry.size(); j++ ) {
|
||||
if ( entry[j].contains('/PKGBUILD') && entry[j].contains('/repos') ){
|
||||
changedPkgStatus << "${fileStatus} " + entry[j].minus('/PKGBUILD')
|
||||
pkgPath << entry[j].minus('/PKGBUILD')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int pkgCount = changedPkgStatus.size()
|
||||
int pkgPathCount = pkgPath.size()
|
||||
echo "pkgCount: ${pkgCount}"
|
||||
echo "entryCount: ${entryCount}"
|
||||
echo "pkgPathCount: ${pkgPathCount}"
|
||||
echo "changedPkgStatus: ${changedPkgStatus}"
|
||||
|
||||
if ( pkgCount > 0 ) {
|
||||
|
||||
if ( entryCount == 2 && pkgCount == 2 ) {
|
||||
def pkgEntry1 = changedPkgStatus[0].split()
|
||||
def pkgEntry2 = changedPkgStatus[1].split()
|
||||
def srcPath = []
|
||||
def pkgStatus = []
|
||||
srcPath << pkgEntry1[1]
|
||||
srcPath << pkgEntry2[1]
|
||||
pkgStatus << pkgEntry1[0]
|
||||
pkgStatus << pkgEntry2[0]
|
||||
def buildInfo1 = srcPath[0].tokenize('/')
|
||||
def buildInfo2 = srcPath[1].tokenize('/')
|
||||
|
||||
if ( pkgStatus[0] == 'M' ) {
|
||||
IS_ADD = 'true'
|
||||
if ( srcPath[0].contains('testing') ) {
|
||||
ADD_REPO = 'gremlins'
|
||||
} else if ( srcPath[0].contains('core') ) {
|
||||
ADD_REPO = 'system'
|
||||
} else if ( srcPath[0].contains('extra') ) {
|
||||
ADD_REPO = 'world'
|
||||
}
|
||||
} else if ( pkgStatus[1] == 'M' ) {
|
||||
IS_ADD = 'true'
|
||||
if ( srcPath[1].contains('testing') ) {
|
||||
ADD_REPO = 'gremlins'
|
||||
} else if ( srcPath[1].contains('core') ) {
|
||||
ADD_REPO = ''
|
||||
} else if ( srcPath[1].contains('extra') ) {
|
||||
ADD_REPO = 'world'
|
||||
}
|
||||
}
|
||||
|
||||
if ( pkgStatus[0] == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
if ( srcPath[0].contains('testing') ) {
|
||||
RM_REPO = 'gremlins'
|
||||
} else if ( srcPath[0].contains('core') ) {
|
||||
RM_REPO = 'system'
|
||||
} else if ( srcPath[0].contains('extra') ) {
|
||||
RM_REPO = 'world'
|
||||
}
|
||||
} else if ( pkgStatus[1] == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
if ( srcPath[1].contains('testing') ) {
|
||||
RM_REPO = 'gremlins'
|
||||
} else if ( srcPath[1].contains('core') ) {
|
||||
RM_REPO = 'system'
|
||||
} else if ( srcPath[1].contains('extra') ) {
|
||||
RM_REPO = 'world'
|
||||
}
|
||||
}
|
||||
|
||||
PKG_TRUNK = buildInfo1[0] + '/trunk'
|
||||
}
|
||||
|
||||
if ( entryCount == 3 && pkgCount == 2 ) {
|
||||
def pkgEntry = changedPkgStatus[0].split()
|
||||
def pkgStatus = pkgEntry[0]
|
||||
def buildInfo1 = pkgPath[0].tokenize('/')
|
||||
def buildInfo2 = pkgPath[1].tokenize('/')
|
||||
|
||||
if ( pkgStatus.contains('R') ) {
|
||||
IS_ADD = 'true'
|
||||
IS_REMOVE = 'true'
|
||||
|
||||
if ( pkgPath[0].contains('staging') && pkgPath[1].contains('testing') ) {
|
||||
ADD_REPO = 'gremlins'
|
||||
RM_REPO = 'goblins'
|
||||
} else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('staging') ) {
|
||||
ADD_REPO = 'goblins'
|
||||
RM_REPO = 'gremlins'
|
||||
}
|
||||
|
||||
if ( pkgPath[0].contains('core') && pkgPath[1].contains('testing')) {
|
||||
ADD_REPO = 'gremlins'
|
||||
RM_REPO = 'system'
|
||||
} else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('core')) {
|
||||
ADD_REPO = 'system'
|
||||
RM_REPO = 'gremlins'
|
||||
}
|
||||
|
||||
if ( pkgPath[0].contains('extra') && pkgPath[1].contains('testing')) {
|
||||
ADD_REPO = 'gremlins'
|
||||
RM_REPO = 'world'
|
||||
} else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('extra')) {
|
||||
ADD_REPO = 'world'
|
||||
RM_REPO = 'gremlins'
|
||||
}
|
||||
|
||||
if ( pkgPath[0].contains('core') && pkgPath[1].contains('extra')) {
|
||||
ADD_REPO = 'world'
|
||||
RM_REPO = 'system'
|
||||
} else if ( pkgPath[0].contains('extra') && pkgPath[1].contains('core')) {
|
||||
ADD_REPO = 'system'
|
||||
RM_REPO = 'world'
|
||||
}
|
||||
}
|
||||
PKG_TRUNK = buildInfo1[0] + '/trunk'
|
||||
}
|
||||
|
||||
if ( pkgCount == 1 ) {
|
||||
def pkgEntry = changedPkgStatus[0].split()
|
||||
def pkgStatus = pkgEntry[0]
|
||||
def srcPath = pkgEntry[1]
|
||||
def buildInfo = srcPath.tokenize('/')
|
||||
|
||||
if ( srcPath.contains('staging') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'goblins'
|
||||
RM_REPO = ADD_REPO
|
||||
} else if ( srcPath.contains('testing') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'gremlins'
|
||||
RM_REPO = ADD_REPO
|
||||
} else if ( srcPath.contains('core') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'system'
|
||||
RM_REPO = ADD_REPO
|
||||
} else if ( srcPath.contains('extra') ) {
|
||||
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
|
||||
IS_BUILD = 'true'
|
||||
}
|
||||
if ( pkgStatus == 'D' ) {
|
||||
IS_REMOVE = 'true'
|
||||
}
|
||||
ADD_REPO = 'world'
|
||||
RM_REPO = ADD_REPO
|
||||
}
|
||||
PKG_PATH = srcPath
|
||||
PKG_TRUNK = buildInfo[0] + '/trunk'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
environment {
|
||||
BUILDBOT_GPGP = credentials('BUILDBOT_GPGP')
|
||||
}
|
||||
when {
|
||||
expression { return IS_BUILD == 'true' }
|
||||
}
|
||||
steps {
|
||||
dir("${PKG_PATH}") {
|
||||
sh "buildpkg -r ${ADD_REPO}"
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
dir("${PKG_PATH}") {
|
||||
sh "deploypkg -a -d ${ADD_REPO} -s"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Add') {
|
||||
when {
|
||||
expression { return IS_ADD == 'true' }
|
||||
}
|
||||
steps {
|
||||
dir("${PKG_TRUNK}") {
|
||||
sh "deploypkg -a -d ${ADD_REPO}"
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Remove') {
|
||||
when {
|
||||
expression { return IS_REMOVE == 'true' }
|
||||
}
|
||||
steps {
|
||||
dir("${PKG_TRUNK}") {
|
||||
sh "deploypkg -r -d ${RM_REPO}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -33,7 +33,7 @@
|
||||
# initsys="openrc"
|
||||
|
||||
# unset defaults to given value
|
||||
# kernel="linux-lts"
|
||||
# kernel="linux"
|
||||
|
||||
# custom additional kernel args
|
||||
# kernel_args=""
|
||||
|
25
data/missing
25
data/missing
@@ -1,25 +0,0 @@
|
||||
extra/speexdsp
|
||||
extra/spandsp
|
||||
extra/soundtouch
|
||||
extra/sbc
|
||||
extra/neon
|
||||
extra/mjpegtools
|
||||
extra/libmp4v2
|
||||
extra/js
|
||||
extra/gst-plugins-bad
|
||||
extra/faac
|
||||
extra/enchant
|
||||
extra/chromaprint
|
||||
extra/python-appdirs
|
||||
extra/python-beaker
|
||||
extra/python-mako
|
||||
extra/python-markupsafe
|
||||
extra/python-packaging
|
||||
extra/python-pyparsing
|
||||
extra/ttf-liberation
|
||||
extra/appstream-glib
|
||||
extra/libxkbui
|
||||
extra/libxkbfile
|
||||
extra/libunicodenames
|
||||
extra/mpg123
|
||||
extra/opencl-headers
|
@@ -1,38 +0,0 @@
|
||||
qt5-base
|
||||
qt5-xmlpatterns
|
||||
qt5-x11extras
|
||||
qt5-script
|
||||
qt5-svg
|
||||
qt5-serialport
|
||||
qt5-serialbus
|
||||
qt5-networkauth
|
||||
qt5-imageformats
|
||||
qt5-declarative
|
||||
qt5-wayland
|
||||
qt5-sensors
|
||||
qt5-scxml
|
||||
qt5-connectivity
|
||||
qt5-graphicaleffects
|
||||
qt5-gamepad
|
||||
qt5-3d
|
||||
qt5-canvas3d
|
||||
qt5-datavis3d
|
||||
qt5-charts
|
||||
qt5-virtualkeyboard
|
||||
qt5-location
|
||||
qt5-multimedia
|
||||
qt5-speech
|
||||
qt5-quickcontrols
|
||||
qt5-quickcontrols2
|
||||
qt5-remoteobjects
|
||||
qt5-webchannel
|
||||
qt5-websockets
|
||||
qt5-webglplugin
|
||||
qt5-tools
|
||||
qt5-translations
|
||||
qt5-doc
|
||||
qt5-examples
|
||||
qt5-webengine
|
||||
qt5-webview
|
||||
qt5-webkit
|
||||
pyqt5
|
@@ -68,6 +68,11 @@ patch_pkg(){
|
||||
updpkgsums
|
||||
cd ../..
|
||||
;;
|
||||
gstreamer|gst-plugins-*)
|
||||
sed -e 's|https://www.archlinux.org/|https://www.artixlinux.org/|' \
|
||||
-e 's|(Arch Linux)|(Artix Linux)|' \
|
||||
-i $pkg/trunk/PKGBUILD
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -78,25 +83,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"
|
||||
}
|
||||
|
||||
@@ -118,7 +124,7 @@ is_valid_repo(){
|
||||
}
|
||||
|
||||
find_repo(){
|
||||
local pkg="$1" repo=
|
||||
local pkg="$1" unstable="${2:-true}" repo=
|
||||
|
||||
if [[ -d $pkg/repos/core-x86_64 ]];then
|
||||
repo=core-x86_64
|
||||
@@ -174,6 +180,19 @@ find_repo(){
|
||||
repo=multilib-staging-x86_64
|
||||
fi
|
||||
|
||||
if $unstable;then
|
||||
if [[ -d $pkg/repos/gnome-unstable-x86_64 ]];then
|
||||
repo=gnome-unstable-x86_64
|
||||
elif [[ -d $pkg/repos/gnome-unstable-any ]];then
|
||||
repo=gnome-unstable-any
|
||||
fi
|
||||
|
||||
if [[ -d $pkg/repos/kde-unstable-x86_64 ]];then
|
||||
repo=kde-unstable-x86_64
|
||||
elif [[ -d $pkg/repos/kde-unstable-any ]];then
|
||||
repo=kde-unstable-any
|
||||
fi
|
||||
fi
|
||||
echo $repo
|
||||
}
|
||||
|
||||
@@ -190,6 +209,7 @@ arch_to_artix_repo(){
|
||||
multilib-staging-x86_64) repo=lib32-goblins ;;
|
||||
community-testing-*) repo=galaxy-gremlins ;;
|
||||
community-staging-*) repo=galaxy-goblins ;;
|
||||
kde-unstable-*|gnome-unstable-*) repo=goblins ;;
|
||||
esac
|
||||
echo $repo
|
||||
}
|
||||
|
@@ -95,7 +95,7 @@ init_artools_iso(){
|
||||
|
||||
[[ -z ${initsys} ]] && initsys="openrc"
|
||||
|
||||
[[ -z ${kernel} ]] && kernel="linux-lts"
|
||||
[[ -z ${kernel} ]] && kernel="linux"
|
||||
|
||||
[[ -z ${kernel_args} ]] && kernel_args=""
|
||||
|
||||
|
Reference in New Issue
Block a user