Compare commits

...

68 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
artoo
6c117fb97d Merge pull request #49 from artix-linux/devel
Devel
2018-02-17 00:23:00 +01:00
udeved
7e6d832314 commitpkg: improve git_tree handling; add error handling 2018-02-17 00:16:34 +01:00
udeved
6fc7b124fc update missing pkgs list 2018-02-16 20:56:59 +01:00
udeved
a011005901 deploypkg: check per pkg & sig 2018-02-16 20:56:41 +01:00
udeved
5da4fea263 chroot-run: bind mount /etc/hosts 2018-02-16 20:19:30 +01:00
udeved
e1b8a0493b commitpkg: add a check to pull if changes before push 2018-02-15 23:22:22 +01:00
udeved
8fe1e82226 util-msg: fix msg_row 2018-02-15 22:43:25 +01:00
udeved
aa8725518b commitpkg: fix it 2018-02-15 22:39:28 +01:00
artoo
fc5a446784 Merge pull request #46 from artix-linux/devel
Devel
2018-02-15 21:54:21 +01:00
udeved
64ce7c3bd6 commitpkg: restore 2018-02-15 21:13:46 +01:00
udeved
8e3a7d98f9 commitpkg: fix 2018-02-15 21:02:02 +01:00
udeved
c4e47b6513 upd missing pkgs list 2018-02-15 20:48:35 +01:00
udeved
b17e93d37f commitpkg: fix moving 2018-02-15 20:48:35 +01:00
udeved
f2e575a37c upd missing pkgs list 2018-02-15 20:47:44 +01:00
udeved
706fa58ddd commitpkg: fix moving 2018-02-15 20:47:17 +01:00
udeved
de4652ac94 merge branch 'devel' into artix-linux/master 2018-02-15 13:21:03 +01:00
udeved
cd37fde7ca fixes 2018-02-15 12:59:18 +01:00
udeved
0f3b352020 rm blacklist 2018-02-15 12:58:53 +01:00
udeved
c60dabdf6b buildtree: remove import lists 2018-02-13 22:33:12 +01:00
udeved
208b751142 buildtree: filter away artix packages on -d 2018-02-13 21:45:43 +01:00
udeved
bfc8b8ce80 mkchrootpkg: use en locale 2018-02-13 21:11:47 +01:00
artoo
87185b7d99 Devel (#44)
* artools-0.7 rm old

* start 0.7

* Makefile: rm old sym

* commitpkg: init pretend switch

* commitpkg: fix to_new()

* deploypkg: add sign switch

* jenkinsfile: use signing on build success

* commitpkg: add a commit option for imported pkgs

* buildtree: patch linux package

* jenkinsfiles fixes

* update example jenkinsfile

* commitpkg: simplify usage

* update example pipelines

* update example jenkinsfile

* commitpkg: fix trunk release

* update jenkinsfile

* import linux and linux-lts

* buildtree: import and compare all artix git repos

* buildtree: add single package import
commitpkg: clean up

* buildtree: add git tree vars

* buildtree: write patches in patchdir

* jenkinsfiles update

* buildtree, commitpkg: small fixes

* buildtree: show artix repo in compare

* nkchrootpkg: use env in chroot to set env vars

* buildtree, commitpkg: fixes

* update imports

* buildtree: simplify show_artix_repo()

* mkchrootpkg: clean up _chrootbuild

* buildtree: add downgrades switch

* buildtree: use patch_pkg()

* commitpkg: add a remove switch for commitpkg mode

* commitpkg: fix remove option

* update imports

* buildtree: enable importing new packages in trunk
commitpkg: cosmetics in display_settings()

* update imports
2018-02-13 20:38:15 +01:00
udeved
6cfbc8b97e update imports 2018-02-13 20:32:16 +01:00
udeved
4f454f4ec4 buildtree: enable importing new packages in trunk
commitpkg: cosmetics in display_settings()
2018-02-13 20:31:57 +01:00
udeved
478e8fbba3 update imports 2018-02-13 19:51:49 +01:00
udeved
fc41bd7be4 commitpkg: fix remove option 2018-02-13 19:51:25 +01:00
udeved
b9eeec876b commitpkg: add a remove switch for commitpkg mode 2018-02-13 16:38:25 +01:00
udeved
ce6d6d093e buildtree: use patch_pkg() 2018-02-13 16:37:42 +01:00
udeved
996deb8924 buildtree: add downgrades switch 2018-02-13 00:09:35 +01:00
udeved
63af5c762f mkchrootpkg: clean up _chrootbuild 2018-02-12 20:39:11 +01:00
udeved
9eef1c3a05 buildtree: simplify show_artix_repo() 2018-02-12 13:38:06 +01:00
udeved
95858019e9 update imports 2018-02-12 11:57:21 +01:00
udeved
e1a9f2a1b3 buildtree, commitpkg: fixes 2018-02-12 11:53:49 +01:00
udeved
238302d3ce nkchrootpkg: use env in chroot to set env vars 2018-02-12 11:53:16 +01:00
udeved
73d7fd28af buildtree: show artix repo in compare 2018-02-11 22:34:19 +01:00
udeved
4d834ddaaa buildtree, commitpkg: small fixes 2018-02-11 19:40:56 +01:00
udeved
027e29e025 jenkinsfiles update 2018-02-11 19:40:28 +01:00
udeved
5fbf1f7d43 buildtree: write patches in patchdir 2018-02-11 17:38:50 +01:00
udeved
88b0206121 Merge branch 'devel' of github.com:artix-linux/artools into devel 2018-02-11 17:37:23 +01:00
udeved
d71af677f5 buildtree: add git tree vars 2018-02-11 12:54:32 +01:00
udeved
63ef4ee33b buildtree: add single package import
commitpkg: clean up
2018-02-11 11:23:47 +01:00
udeved
0b2e104504 buildtree: import and compare all artix git repos 2018-02-11 01:14:17 +01:00
udeved
3a7881d5c5 import linux and linux-lts 2018-02-11 00:39:28 +01:00
udeved
74dd869dc2 update jenkinsfile 2018-02-11 00:37:48 +01:00
udeved
718d4062b0 commitpkg: fix trunk release 2018-02-10 23:29:32 +01:00
udeved
66e9fa4caa update example jenkinsfile 2018-02-10 23:28:55 +01:00
udeved
f728680c28 update example pipelines 2018-02-10 21:07:23 +01:00
udeved
3a0746a358 commitpkg: simplify usage 2018-02-10 21:06:58 +01:00
udeved
5da701a318 update example jenkinsfile 2018-02-10 16:14:56 +01:00
udeved
45b1a95332 jenkinsfiles fixes 2018-02-10 12:36:05 +01:00
udeved
450b51ea71 buildtree: patch linux package 2018-02-10 10:53:39 +01:00
udeved
aa71c050b2 commitpkg: add a commit option for imported pkgs 2018-02-10 02:25:57 +01:00
udeved
e4966f2351 jenkinsfile: use signing on build success 2018-02-10 02:25:57 +01:00
udeved
894054d3cd deploypkg: add sign switch 2018-02-10 02:25:57 +01:00
udeved
969ce59e3d commitpkg: fix to_new() 2018-02-10 02:25:57 +01:00
udeved
94ec82f2d5 commitpkg: init pretend switch 2018-02-10 02:25:57 +01:00
udeved
58a043a35c Makefile: rm old sym 2018-02-10 02:25:57 +01:00
udeved
0cfdb6b8df start 0.7 2018-02-10 02:25:57 +01:00
udeved
bc5f417a90 artools-0.7 rm old 2018-02-10 02:25:57 +01:00
udeved
be3720cd56 Merge branch 'devel' of github.com:artix-linux/artools into devel 2018-01-30 12:37:54 +01:00
udeved
0cd6b45f04 Merge branch 'master' of github.com:artix-linux/artools into devel 2018-01-27 13:52:29 +01:00
33 changed files with 900 additions and 2881 deletions

View File

@@ -1,4 +1,6 @@
Version=0.6
Version=0.7
Chroot_version=0.7
PREFIX = /usr/local
SYSCONFDIR = /etc
@@ -24,22 +26,16 @@ LIBS_BASE = \
SHARED_BASE = \
$(wildcard data/pacman*.conf)
LIST_IMPORT = \
$(wildcard data/import.list.d/*.list)
BIN_PKG = \
bin/checkpkg \
bin/lddd \
bin/finddeps \
bin/findupdates \
bin/find-libdeps \
bin/mkchrootpkg \
bin/buildpkg \
bin/buildtree \
bin/deploypkg \
bin/buildpkg2 \
bin/buildtree2 \
bin/deploypkg2
bin/commitpkg
LIBS_PKG = \
$(wildcard lib/util-pkg*.sh)
@@ -50,6 +46,18 @@ SHARED_PKG = \
PATCHES = \
$(wildcard data/patches/*.patch)
COMMITPKG_SYMS = \
extrapkg \
corepkg \
testingpkg \
stagingpkg \
communitypkg \
community-testingpkg \
community-stagingpkg \
multilibpkg \
multilib-testingpkg \
multilib-stagingpkg
BIN_ISO = \
bin/buildiso \
bin/deployiso
@@ -91,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 $@"
@@ -117,16 +126,13 @@ install_base:
install -m0644 ${SHARED_BASE} $(DESTDIR)$(PREFIX)/share/artools
install_pkg:
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d
install -m0644 ${LIST_IMPORT} $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d
install -dm0755 $(DESTDIR)$(PREFIX)/bin
install -m0755 ${BIN_PKG} $(DESTDIR)$(PREFIX)/bin
ln -sf buildpkg $(DESTDIR)$(PREFIX)/bin/buildpkg-testing
ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides
for l in ${COMMITPKG_SYMS}; do ln -sf commitpkg $(DESTDIR)$(PREFIX)/bin/$$l; done
install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools
install -m0644 ${LIBS_PKG} $(DESTDIR)$(PREFIX)/lib/artools
@@ -156,7 +162,7 @@ install_iso:
install -dm0755 $(DESTDIR)$(PREFIX)/bin
install -m0755 ${BIN_ISO} $(DESTDIR)$(PREFIX)/bin
ln -sf buildiso $(DESTDIR)$(PREFIX)/bin/buildiso-testing
ln -sf buildiso $(DESTDIR)$(PREFIX)/bin/buildiso-gremlins
install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools
install -m0644 ${LIBS_ISO} $(DESTDIR)$(PREFIX)/lib/artools
@@ -179,10 +185,9 @@ uninstall_base:
for f in ${LIBS_BASE}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
uninstall_pkg:
for f in ${LIST_IMPORT}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d/$$f; done
for f in ${BIN_PKG}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done
rm -f $(DESTDIR)$(PREFIX)/bin/find-libprovides
rm -f $(DESTDIR)$(PREFIX)/bin/buildpkg-testing
for l in ${COMMITPKG_SYMS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done
for f in ${SHARED_PKG}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done
for f in ${PATCHES}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/patches/$$f; done
for f in ${LIBS_PKG}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
@@ -196,7 +201,7 @@ uninstall_isobase:
uninstall_iso:
for f in ${BIN_ISO}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done
rm -f $(DESTDIR)$(PREFIX)/bin/buildiso-testing
rm -f $(DESTDIR)$(PREFIX)/bin/buildiso-gremlins
for f in ${SHARED_ISO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done
for f in ${LIBS_ISO}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done

View File

@@ -26,10 +26,10 @@ prepare_build(){
netgroups=${netgroups_url}/netgroups-${initsys}.yaml
local pacman_conf pac_file="pacman.conf"
local pacman_conf pac_file="pacman-default.conf"
case "${stablility}" in
'testing') pac_file="pacman-${stablility}.conf" ;;
'gremlins') pac_file="pacman-${stablility}.conf" ;;
esac
pacman_conf="${DATADIR}/$pac_file"

View File

@@ -20,15 +20,12 @@ SYSCONFDIR='@sysconfdir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-chroot.sh
import ${LIBDIR}/util-pkg.sh
show_pkg(){
cd $1
source PKGBUILD
for n in ${pkgname[@]}; do
msg2 "%s" "$n"
done
cd ..
source PKGBUILD
for n in ${pkgname[@]}; do
msg2 "%s" "$n"
done
}
display_settings(){
@@ -38,15 +35,14 @@ display_settings(){
msg "OPTIONS:"
msg2 "chroots_pkg: %s" "${chroots_pkg}"
msg2 "repository: %s" "${repository}"
msg2 "stablility: %s" "${stablility}"
msg "ARGS:"
msg2 "create_first: %s" "${create_first}"
msg2 "makepkg_args: %s" "${makepkg_args[*]}"
msg2 "mkchrootpkg_args: %s" "${mkchrootpkg_args[*]}"
msg "BUILD:"
show_pkg "${package}"
show_pkg
}
load_user_info
@@ -55,27 +51,23 @@ load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artoo
create_first=false
pretend=false
lib32=false
mkchroot_args=()
mkchrootpkg_args=(-c -n)
install_pkgs=()
package=''
cmd=${0##*/}
stablility=${cmd##*-}
repository=${PWD##*/}
base_devel=('base-devel')
repository='default'
prepare_build(){
local pac_file='pacman.conf' mp_file='makepkg.conf'
case "${stablility}" in
'testing') pac_file="pacman-${stablility}.conf" ;;
local pac_file= mp_file='makepkg.conf'
base_devel=('base-devel')
case ${repository} in
'system'|'world'|'galaxy') repository='default' ;;
lib32*) base_devel+=('multilib-devel') ;;
galaxy-gremlins|galaxy-goblins) repository=${repository#*-} ;;
esac
${lib32} && base_devel+=('multilib-devel')
local pac_file="pacman-${repository}.conf"
local pacman_conf="${DATADIR}/$pac_file"
[[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
@@ -88,29 +80,19 @@ prepare_build(){
mkchroot_args+=(-C "${pacman_conf}" -M "${makepkg_conf}" "${work_dir}/root")
mkchrootpkg_args+=(-r "${work_dir}" "${makepkg_args[@]}")
timer_start=$(get_timer)
}
build(){
local timer_start=$(get_timer)
if [[ -f ${package}/PKGBUILD ]];then
cd ${package}
else
die "Directory must contain a PKGBUILD!"
fi
msg "Start building [%s] (%s)" "${package}" "${repository}"
local timer_start=$(get_timer)
exec mkchrootpkg "${mkchrootpkg_args[@]}"
show_elapsed_time "${FUNCNAME}" "${timer_start}"
}
usage() {
echo "Usage: ${0##*/} [options] -- [makepkg_args]"
echo " -p <pkg> Package to build [default: ${package}]"
echo " -r <dir> Chroots directory [default: ${chroots_pkg}]"
echo ' -z <repo> Repo name'
echo " -r <dir> Repository [default: ${repository}]"
echo ' -c Create root chroot'
echo ' -m Multilib chroot'
echo ' -q Query settings and pretend build'
echo ' -h This help'
echo ''
@@ -121,22 +103,18 @@ usage() {
orig_argv=("$0" "$@")
opts='p:r:z:cmqh'
opts='r:cqh'
while getopts "${opts}" arg; do
case "${arg}" in
p) package="$OPTARG" ;;
r) chroots_pkg="$OPTARG" ;;
z) repository="$OPTARG" ;;
r) repository="$OPTARG" ;;
c) create_first=true ;;
m) lib32=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '%s'" "${arg}"; usage 1 ;;
esac
done
# shift $(($OPTIND - 1))
makepkg_args+=("${@:$OPTIND}")
check_root
@@ -169,4 +147,4 @@ else
pacman -Syu --noconfirm || abort
fi
build "${package}"
build

View File

@@ -1,151 +0,0 @@
#!/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@
shopt -s nullglob
LIBDIR='@libdir@'
DATADIR='@datadir@'
SYSCONFDIR='@sysconfdir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-chroot.sh
import ${LIBDIR}/util-pkg.sh
show_pkg(){
source PKGBUILD
for n in ${pkgname[@]}; do
msg2 "%s" "$n"
done
}
display_settings(){
show_version
show_config
msg "OPTIONS:"
msg2 "chroots_pkg: %s" "${chroots_pkg}"
msg2 "repository: %s" "${repository}"
msg "ARGS:"
msg2 "create_first: %s" "${create_first}"
msg2 "makepkg_args: %s" "${makepkg_args[*]}"
msg2 "mkchrootpkg_args: %s" "${mkchrootpkg_args[*]}"
msg "BUILD:"
show_pkg
}
load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
create_first=false
pretend=false
mkchroot_args=()
mkchrootpkg_args=(-c -n)
repository='default'
prepare_build(){
local pac_file= mp_file='makepkg.conf'
base_devel=('base-devel')
case ${repository} in
'system'|'world'|'galaxy') repository='default' ;;
lib32*) base_devel+=('multilib-devel') ;;
galaxy-gremlins|galaxy-goblins) repository=${repository#*-} ;;
esac
local pac_file="pacman-${repository}.conf"
local pacman_conf="${DATADIR}/$pac_file"
[[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
work_dir="${chroots_pkg}/${repository}-${target_arch}"
local makepkg_conf="${DATADIR}/$mp_file"
[[ -f $AT_USERCONFDIR/$mp_file ]] && makepkg_conf="$AT_USERCONFDIR/$mp_file"
mkchroot_args+=(-C "${pacman_conf}" -M "${makepkg_conf}" "${work_dir}/root")
mkchrootpkg_args+=(-r "${work_dir}" "${makepkg_args[@]}")
}
build(){
local timer_start=$(get_timer)
exec mkchrootpkg "${mkchrootpkg_args[@]}"
show_elapsed_time "${FUNCNAME}" "${timer_start}"
}
usage() {
echo "Usage: ${0##*/} [options] -- [makepkg_args]"
echo " -r <dir> Repository [default: ${repository}]"
echo ' -c Create root chroot'
echo ' -q Query settings and pretend build'
echo ' -h This help'
echo ''
echo "Default makepkg_args args: ${makepkg_args[*]}"
echo ''
exit $1
}
orig_argv=("$0" "$@")
opts='r:cqh'
while getopts "${opts}" arg; do
case "${arg}" in
r) repository="$OPTARG" ;;
c) create_first=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '%s'" "${arg}"; usage 1 ;;
esac
done
makepkg_args+=("${@:$OPTIND}")
check_root
prepare_build
${pretend} && display_settings && exit
if ${create_first} || [[ ! -d ${work_dir}/root ]];then
msg "Creating chroot for [%s] (%s)..." "${repository}" "${target_arch}"
for copy in "${work_dir}"/*; do
[[ -d $copy ]] || continue
msg2 "Deleting chroot copy '%s'..." "$(basename "${copy}")"
lock 9 "$copy.lock" "Locking chroot copy '%s'" "$copy"
subvolume_delete_recursive "${copy}"
rm -rf --one-file-system "${copy}"
done
lock_close 9
rm -rf --one-file-system "${work_dir}"
mkdir -p "${work_dir}"
setarch "${target_arch}" mkchroot \
"${mkchroot_args[@]}" "${base_devel[@]}" || abort
else
lock 9 "${work_dir}/root.lock" "Locking clean chroot"
chroot-run "${mkchroot_args[@]}" \
pacman -Syu --noconfirm || abort
fi
build

View File

@@ -18,54 +18,202 @@ DATADIR='@datadir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh
import ${LIBDIR}/util-pkg-tree.sh
pull_tree_arch(){
cd ${tree_dir_arch}
for tree in packages community;do
if [[ -d ${tree} ]];then
cd ${tree}
msg "Checking (%s)" "${tree}"
pull_tree
cd ..
else
msg "Cloning (%s) ..." "$tree"
clone_tree "${host_tree_arch}/${tree}"
fi
done
}
pull_tree_artix(){
cd ${tree_dir_artix}
for tree in packages packages-galaxy;do
if [[ -d ${tree} ]];then
cd ${tree}
git config --bool pull.rebase true
msg "Checking (%s)" "${tree}"
pull_tree
cd ..
else
msg "Cloning (%s) ..." "$tree"
clone_tree "${host_tree_artix}/${tree}"
fi
done
}
show_version_table(){
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")
if [[ -d $pkg_path/repos/$artixrepo ]];then
source $pkg_path/trunk/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")
if [[ -d $src/$pkg/repos/$archrepo ]];then
source $src/$pkg/trunk/PKGBUILD 2>/dev/null
local archver=$(get_full_version $pkg)
fi
if [ $(vercmp $artixver $archver) -lt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
${upgrades} && msg_row_upgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
if [ $(vercmp $artixver $archver) -gt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
if [[ -n $archver ]] && [[ -n $archrepo ]];then
${downgrades} && msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
fi
unset pkgver epoch pkgrel artixver archver _package
fi
done
done
}
show_artix_table(){
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")
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")
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)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
*gremlins)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
# system|world|galaxy|lib32) msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" ;;
esac
fi
unset pkgver epoch pkgrel artixver archver _package
fi
done
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
source $src/PKGBUILD 2>/dev/null
cd ${tree_dir_arch}/$archtree
msg "Package: %s" "$pkg"
local archver=$(get_full_version $pkg)
msg2 "Arch Version: %s" "$archver"
if [[ -d $dest ]];then
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
else
cd ${tree_dir_artix}/$artixtree
info "Importing from archlinux (%s)" "$archtree"
mkdir $pkg
rsync "${rsync_args[@]}" $src/ $dest/
patch_pkg "$pkg" "$tree"
fi
}
sync_repos(){
pull_tree_arch
pull_tree_artix
}
display_settings(){
show_version
show_config
msg "REPOS:"
msg2 "repo_tree_artix: %s" "${repo_tree_artix[*]}"
msg2 "repo_tree_arch: %s" "${repo_tree_arch[*]}"
msg "OPTIONS:"
msg2 "repository: %s" "${repository}"
msg2 "package: %s" "${package}"
msg "ARGS:"
msg2 "artix: %s" "${artix}"
msg2 "arch: %s" "${arch}"
msg2 "sync: %s" "${sync}"
msg2 "compare: %s" "${compare}"
msg2 "import_arch: %s" "${import_arch}"
# msg2 "gitpush: %s" "${gitpush}"
msg2 "upgrades: %s" "${upgrades}"
msg2 "downgrades: %s" "${downgrades}"
msg2 "artix: %s" "${artix}"
msg2 "import_packages: %s" "${import_packages}"
msg2 "import_community: %s" "${import_community}"
msg "PATHS:"
msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
msg2 "tree_dir_arch: %s" "${tree_dir_arch}"
msg2 "patches_dir: %s" "${patches_dir}/${repository}"
}
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
pretend=false
arch=false
artix=false
sync=false
compare=false
import_arch=false
# gitpush=false
repository='system' #${PWD##*/}
upgrades=true
downgrades=false
artix=false
import_packages=false
import_community=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 " -r <repo> Repository [default:${repository}]"
echo " -a Sync arch tree"
echo " -s Sync artix tree"
echo " -c Compare artix and arch versions"
echo ' -i Import arch packages'
# echo ' -p Push import packages'
echo ' -p <pkg> Package name'
echo " -s Clone or pull repos"
echo ' -c Compare packages'
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 ' -q Query settings'
echo ' -h This help'
echo ''
@@ -75,17 +223,18 @@ usage() {
orig_argv=("$0" "$@")
# opts='r:aipscqh'
opts='r:aiscqh'
opts='p:csudaijqh'
while getopts "${opts}" arg; do
case "${arg}" in
r) repository="$OPTARG" ;;
a) arch=true ;;
s) artix=true ;;
p) package="$OPTARG" ;;
s) sync=true ;;
c) compare=true ;;
i) import_arch=true ;;
# p) gitpush=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' ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
@@ -96,14 +245,15 @@ shift $(($OPTIND - 1))
prepare_dir "${tree_dir_artix}"
prepare_dir "${tree_dir_arch}"
prepare_dir "${patches_dir}/${repository}"
${pretend} && display_settings && exit 1
${artix} && sync_tree_artix
${sync} && sync_repos
${arch} && sync_tree_arch
${compare} && show_version_table
${compare} && show_version_table "${repository}"
${artix} && show_artix_table
${import_arch} && import_from_arch "${repository}" #"${gitpush}"
${import_packages} && from_arch "${package}" "${git_arch}" "${git_artix}"
${import_community} && from_arch "${package}" "${git_arch}" "${git_artix}"

View File

@@ -1,318 +0,0 @@
#!/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@'
DATADIR='@datadir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh
get_local_head(){
echo $(git log --pretty=%H ...refs/heads/$1^ | head -n 1)
}
get_remote_head(){
echo $(git ls-remote origin -h refs/heads/$1 | cut -f1)
}
is_dirty() {
[[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1
return 0
}
is_untracked(){
[[ $(git ls-files --others --exclude-standard) != "" ]] || return 1
return 0
}
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}"
cd ..
else
clone_tree "${tree}" "${host_tree_arch}/${tree}"
fi
done
}
pull_tree_artix(){
cd ${tree_dir_artix}
for tree in packages packages-galaxy;do
if [[ -d ${tree} ]];then
cd ${tree}
git config --bool pull.rebase true
pull_tree "${tree}"
cd ..
else
clone_tree "${tree}" "${host_tree_artix}/${tree}"
fi
done
}
read_import_list(){
local tree="$1"
local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g"
import_list=$(sed "$_com_rm" "${list_dir_import}/$tree.list" | sed "$_space" | sed "$_clean")
}
patch_pkg(){
local pkg="$1" repo="$2"
case $pkg in
'glibc')
sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \
-e '/nscd.service/d' \
-i $pkg/$repo/PKGBUILD
sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \
-e '/nscd.service/d' \
-i $pkg/trunk/PKGBUILD
;;
'tp_smapi'|'acpi_call'|'r8168')
sed -e 's|-ARCH|-ARTIX|g' -i $pkg/$repo/PKGBUILD
sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD
;;
esac
}
get_import_path(){
local tree="$1" import_path=
case $tree in
packages) import_path=${tree_dir_arch}/packages ;;
packages-galaxy) import_path=${tree_dir_arch}/community ;;
esac
echo $import_path
}
find_repo(){
local pkg="$1" repo=
if [[ -d $pkg/repos/core-x86_64 ]];then
repo=core-x86_64
elif [[ -d $pkg/repos/core-any ]];then
repo=core-any
fi
if [[ -d $pkg/repos/extra-x86_64 ]];then
repo=extra-x86_64
elif [[ -d $pkg/repos/extra-any ]];then
repo=extra-any
fi
if [[ -d $pkg/repos/testing-x86_64 ]];then
repo=testing-x86_64
elif [[ -d $pkg/repos/testing-any ]];then
repo=testing-any
fi
if [[ -d $pkg/repos/staging-x86_64 ]];then
repo=staging-x86_64
elif [[ -d $pkg/repos/staging-any ]];then
repo=staging-any
fi
if [[ -d $pkg/repos/community-x86_64 ]];then
repo=community-x86_64
elif [[ -d $pkg/repos/community-any ]];then
repo=community-any
fi
if [[ -d $pkg/repos/community-testing-x86_64 ]];then
repo=community-testing-x86_64
elif [[ -d $pkg/repos/community-testing-any ]];then
repo=community-testing-any
fi
if [[ -d $pkg/repos/community-staging-x86_64 ]];then
repo=community-staging-x86_64
elif [[ -d $pkg/repos/community-staging-any ]];then
repo=community-staging-any
fi
if [[ -d $pkg/repos/multilib-x86_64 ]];then
repo=multilib-x86_64
fi
if [[ -d $pkg/repos/multilib-testing-x86_64 ]];then
repo=multilib-testing-x86_64
fi
if [[ -d $pkg/repos/multilib-staging-x86_64 ]];then
repo=multilib-staging-x86_64
fi
echo $repo
}
show_version_table(){
local tree="$1"
declare -A UPDATES
msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version"
for pkg in ${tree_dir_artix}/$tree/*; do
local artixrepo=$(find_repo "$pkg")
if [[ -f $pkg/repos/$artixrepo/PKGBUILD ]];then
source $pkg/repos/$artixrepo/PKGBUILD 2>/dev/null
package=${pkg##*/}
cd $pkg/repos/$artixrepo
artixver=$(get_full_version $package)
local src=$(get_import_path "$tree" "$package")
local archrepo=$(find_repo "$src/$package")
if [[ -f $src/$package/repos/$archrepo/PKGBUILD ]];then
source $src/$package/repos/$archrepo/PKGBUILD 2>/dev/null
cd $src/$package/repos/$archrepo
archver=$(get_full_version $package)
fi
if [ $(vercmp $artixver $archver) -lt 0 ];then
UPDATES[$package]="$pkg/repos/$artixrepo/PKGBUILD $src/$package/repos/$archrepo/PKGBUILD"
msg_row_update "%-30s %-30s %-30s %-30s" "${archrepo%-*}" "$package" "$artixver" "$archver"
fi
unset pkgver epoch pkgrel artixver archver package
fi
done
find "${patches_dir}/$tree/" -name *.patch -delete
for upd in "${!UPDATES[@]}"; do
msg "Writing %s update patch ..." "$upd"
diff -u ${UPDATES[$upd]} > ${patches_dir}/$tree/"$upd"-archlinux.patch
done
}
import_from_arch(){
local timer=$(get_timer) tree="$1"
read_import_list "$tree"
if [[ -n ${import_list[@]} ]];then
cd ${tree_dir_artix}/$tree
for pkg in ${import_list[@]};do
local src=$(get_import_path "$tree")
local dest=${tree_dir_artix}/$tree
rsync "${rsync_args[@]}" $src/$pkg/ $dest/$pkg/
local repo=$(find_repo "$pkg")
source $src/$pkg/repos/$repo/PKGBUILD 2>/dev/null
local ver=$(get_full_version $pkg)
msg "Repo: [%s] Package: %s-%s" "$repo" "$pkg" "$ver"
patch_pkg "$pkg" "repos/$repo"
unset pkgver epoch pkgrel ver
done
fi
show_elapsed_time "${FUNCNAME}" "${timer}"
}
sync_repos(){
pull_tree_arch
pull_tree_artix
}
display_settings(){
show_version
show_config
msg "OPTIONS:"
msg2 "git_tree: %s" "${git_tree}"
msg "ARGS:"
msg2 "sync: %s" "${sync}"
msg2 "import_arch: %s" "${import_arch}"
msg2 "compare: %s" "${compare}"
msg "PATHS:"
msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
msg2 "tree_dir_arch: %s" "${tree_dir_arch}"
msg2 "patches_dir: %s" "${patches_dir}/${git_tree}"
}
load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
pretend=false
sync=false
import_arch=false
compare=false
move=false
git_tree='packages'
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
usage() {
echo "Usage: ${0##*/} [options]"
echo " -g <git> Git repo [default:${git_tree}]"
echo " -s Sync repos"
echo ' -i Import arch packages'
echo ' -c Compare packages'
echo ' -q Query settings'
echo ' -h This help'
echo ''
echo ''
exit $1
}
orig_argv=("$0" "$@")
opts='g:sciqh'
while getopts "${opts}" arg; do
case "${arg}" in
g) git_tree="$OPTARG" ;;
s) sync=true ;;
i) import_arch=true ;;
c) compare=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
esac
done
shift $(($OPTIND - 1))
prepare_dir "${tree_dir_artix}"
prepare_dir "${tree_dir_arch}"
prepare_dir "${patches_dir}/${git_tree}"
${pretend} && display_settings && exit 1
${sync} && sync_repos
${compare} && show_version_table "${git_tree}"
${import_arch} && import_from_arch "${git_tree}"

View File

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

View File

@@ -19,10 +19,155 @@ DATADIR='@datadir@'
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh
move_pkg(){
local pkg="$1" src_repo="$2" dest_repo="$3" tree="$4"
cd ${tree_dir_artix}/$tree/$pkg/repos
git mv --force $src_repo $dest_repo
git add -u $dest_repo
git commit -m "Move '$pkg' from [$src_repo] to [$dest_repo]"
commit_pkg(){
local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
if [[ -n ${git_tree} ]];then
cd ${tree_dir_artix}/${git_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
local action='modify'
msg "Action: [%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}"
git add .
git commit -m "[${source_repo}] '${package}-$ver' ${action}"
if ${push};then
msg "Checking (%s)" "${git_tree}"
pull_tree
push_tree
fi
fi
else
error "Package '%s' does not exist!" "${package}"
fi
}
symlink_commit_pkg(){
local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
if [[ -n ${git_tree} ]];then
cd ${tree_dir_artix}/${git_tree}
cd ${package}
source trunk/PKGBUILD
[[ $arch == 'any' ]] && CARCH=any
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
[[ -d $dest ]] && git rm -r $dest
git mv ${source_repo}-$CARCH $dest
cd ..
fi
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}"
if ${push};then
msg "Checking (%s)" "${git_tree}"
pull_tree
push_tree
fi
else
error "Package '%s' does not exist!" "${package}"
fi
}
display_settings(){
show_version
show_config
msg "OPTIONS:"
msg2 "source_repo: %s" "${source_repo}"
msg2 "target_repo: %s" "${target_repo}"
msg2 "package: %s" "${package}"
msg "ARGS:"
msg2 "remove: %s" "${remove}"
msg2 "push: %s" "${push}"
}
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
source_repo='trunk'
package=''
remove=false
push=false
pretend=false
cmd=${0##*/}
target_repo=${cmd%pkg}
usage() {
echo "Usage: ${0##*/} [options]"
echo " -s <name> Source repository [default:${source_repo}]"
echo ' -p <pkg> Package name'
echo ' -r Delete from repo (commitpkg only)'
echo ' -u Push'
echo ' -q Query settings and pretend'
echo ' -h This help'
echo ''
echo ''
exit $1
}
orig_argv=("$0" "$@")
opts='p:s:urqh'
while getopts "${opts}" arg; do
case "${arg}" in
s) source_repo="$OPTARG" ;;
p) package="$OPTARG" ;;
r) remove=true ;;
u) push=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
esac
done
shift $(($OPTIND - 1))
${pretend} && display_settings && exit 1
if $(is_valid_repo "${source_repo}");then
if [[ "${cmd}" == 'commitpkg' ]];then
commit_pkg
else
symlink_commit_pkg
fi
else
error "source repository '%s' is not valid!" "${source_repo}"
fi

View File

@@ -16,7 +16,44 @@ SYSCONFDIR='@sysconfdir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg-publish.sh
import ${LIBDIR}/util-pkg.sh
del_from_repo(){
local ver
local repo="$1"
local repo_path=${repos_root}/$repo/os/${target_arch}
source PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
info "pkgfile: %s" "${pkgfile##*/}"
repo-remove -R $repo_path/$repo.db.tar.xz $name
[[ -e $repo_path/${pkgfile##*/} ]] && rm -v $repo_path/${pkgfile##*/}
[[ -e $repo_path/${pkgfile##*/}.sig ]] && rm -v $repo_path/${pkgfile##*/}.sig
fi
done
}
add_to_repo(){
local ver pkgfile=
local repo="$1"
local repo_path=${repos_root}/$repo/os/${target_arch}
source PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then
info "pkgfile: %s" "${pkgfile##*/}"
if ${sign_pkg};then
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
signfile ${pkgfile}
fi
ln -sf ${pkgfile}{,.sig} $repo_path/
repo-add -R $repo_path/$repo.db.tar.xz $pkgfile
fi
done
}
display_settings(){
show_version
@@ -24,14 +61,11 @@ display_settings(){
msg "OPTIONS:"
msg2 "repository: %s" "${repository}"
msg2 "to_repository: %s" "${to_repository}"
msg2 "package: %s" "${package[@]}"
msg2 "target_arch: %s" "${target_arch}"
msg "ARGS:"
msg2 "add_pkg: %s" "${add_pkg}"
msg2 "del_pkg: %s" "${del_pkg}"
msg2 "move_pkg: %s" "${move_pkg}"
msg2 "sign_pkg: %s" "${sign_pkg}"
}
load_user_info
@@ -43,22 +77,15 @@ load_vars /etc/makepkg.conf
pretend=false
add_pkg=false
del_pkg=false
move_pkg=false
package=''
repository=${PWD##*/}
to_repository=${PWD##*/}
rsync_args=(-rtxisP --progress --delete -e ssh)
repository=
sign_pkg=false
usage() {
echo "Usage: ${0##*/} [options]"
echo " -a Repository arch [default:${target_arch}]"
echo " -r Repository [default:${repository}]"
echo " -t Repository to move to [default:${to_repository}]"
echo " -p Package name to add/delete"
echo ' -x Add package to repository'
echo ' -y Delete package from repository'
echo ' -m Move packages from source to destination repository'
echo " -d Destination repository [default:${repository}]"
echo ' -a Add package to repository'
echo ' -r Remove package from repository'
echo ' -s Sign package'
echo ' -q Query settings and pretend upload'
echo ' -h This help'
echo ''
@@ -68,17 +95,14 @@ usage() {
orig_argv=("$0" "$@")
opts='p:a:r:t:xymqh'
opts='d:arsqh'
while getopts "${opts}" arg; do
case "${arg}" in
a) target_arch="$OPTARG" ;;
r) repository="$OPTARG" ;;
p) package="$OPTARG" ;;
t) to_repository="$OPTARG" ;;
m) move_pkg=true ;;
x) add_pkg=true ;;
y) del_pkg=true ;;
d) repository="$OPTARG" ;;
a) add_pkg=true ;;
r) del_pkg=true ;;
s) sign_pkg=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
@@ -87,16 +111,12 @@ done
shift $(($OPTIND - 1))
timer_start=$(get_timer)
prepare_dir "${repos_root}"
${pretend} && display_settings && exit 1
${move_pkg} && move_to_repo "${repository}" "${to_repository}" "${target_arch}"
${del_pkg} && del_from_repo "${repository}"
${del_pkg} && del_from_repo "${repository}" "${target_arch}" "${package}"
${add_pkg} && add_to_repo "${repository}" "${target_arch}" "${package}"
${add_pkg} && add_to_repo "${repository}"
exit 0

View File

@@ -1,118 +0,0 @@
#!/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
import ${LIBDIR}/util-pkg.sh
del_from_repo(){
local ver
local repo="$1"
local repo_path=${repos_root}/$repo/os/${target_arch}
source PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
info "pkgfile: %s" "${pkgfile##*/}"
repo-remove -R $repo_path/$repo.db.tar.xz $name
rm -v $repo_path/${pkgfile##*/}{,.sig}
fi
done
}
add_to_repo(){
local ver pkgfile=
local repo="$1"
local repo_path=${repos_root}/$repo/os/${target_arch}
source PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then
info "pkgfile: %s" "${pkgfile##*/}"
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
signfile ${pkgfile}
ln -sf ${pkgfile}{,.sig} $repo_path/
repo-add -R $repo_path/$repo.db.tar.xz $pkgfile
fi
done
}
display_settings(){
show_version
show_config
msg "OPTIONS:"
msg2 "repository: %s" "${repository}"
msg "ARGS:"
msg2 "add_pkg: %s" "${add_pkg}"
msg2 "del_pkg: %s" "${del_pkg}"
msg2 "move_pkg: %s" "${move_pkg}"
}
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
pretend=false
add_pkg=false
del_pkg=false
repository=
usage() {
echo "Usage: ${0##*/} [options]"
echo " -d Destination repository [default:${repository}]"
echo ' -a Add package to repository'
echo ' -r Remove package from repository'
echo ' -q Query settings and pretend upload'
echo ' -h This help'
echo ''
echo ''
exit $1
}
orig_argv=("$0" "$@")
opts='d:arqh'
while getopts "${opts}" arg; do
case "${arg}" in
d) repository="$OPTARG" ;;
a) add_pkg=true ;;
r) del_pkg=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
esac
done
shift $(($OPTIND - 1))
timer_start=$(get_timer)
prepare_dir "${repos_root}"
${pretend} && display_settings && exit 1
${del_pkg} && del_from_repo "${repository}"
${add_pkg} && add_to_repo "${repository}"
exit 0

View File

@@ -1,53 +0,0 @@
#!/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@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh
import ${LIBDIR}/util-pkg-tree.sh
load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
declare -A UPDATES
msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version"
for repo in ${repo_tree_artix[@]}; do
for pkg in ${tree_dir_artix}/$repo/*; do
if [[ -f $pkg/PKGBUILD ]];then
source $pkg/PKGBUILD 2>/dev/null
package=${pkg##*/}
artixver=$(get_full_version $package)
src=$(get_import_path "$repo" "$package")
if [[ -f $src/PKGBUILD ]];then
source $src/PKGBUILD 2>/dev/null
archver=$(get_full_version $package)
fi
if [ $(vercmp $artixver $archver) -lt 0 ];then
UPDATES[$package]="$src/PKGBUILD $pkg/PKGBUILD"
msg_row_update "%-30s %-30s %-30s %-30s" "$repo" "$package" "$artixver" "$archver"
else
msg_row "%-30s %-30s %-30s %-30s" "$repo" "$package" "$artixver" "$archver"
fi
fi
unset pkgver epoch pkgrel artixver archver package
done
done
for upd in "${!UPDATES[@]}"; do
msg "Diff: %s" "$upd"
diff -u ${UPDATES[$upd]}
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
@@ -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

@@ -199,9 +199,16 @@ EOF
# These functions aren't run in makechrootpkg,
# so no global variables
_chrootbuild() {
# No coredumps
ulimit -c 0
exec </dev/console
export LANG=en_US.UTF-8
. /etc/profile
export LANG=en_US.UTF-8
locale-gen &> /dev/null
sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
}

View File

@@ -1,55 +0,0 @@
#!/bin/bash
# alias git=hub
super_repo=/home/artux/artools-workspace/artix/packages
copy_pkgs(){
for repo in system world;do
local old_repo=/home/artux/artools-workspace/artix/$repo
cd $old_repo
local packages=$(find . -mindepth 1 -maxdepth 1 -type d)
# git checkout testing
for p in ${packages[@]};do
local pkg=${p#*/}
mkdir -p $super_repo/$pkg/$repo
# cp -v $pkg/* $super_repo/$pkg/trunk/
cp -v $pkg/* $super_repo/$pkg/$repo/
done
done
rm -r $super_repo/.git
}
create_pkg_repo(){
cd $super_repo
local packages=$(find . -mindepth 1 -maxdepth 1 -type d)
for p in ${packages[@]};do
local pkg=${p#*/}
cd $pkg
git init
git add .
git commit -m "initial commit $pkg"
hub create artix-packages/$pkg
git push origin master
cd ..
done
}
add_pkg_subtree(){
for repo in system world;do
local old_repo=/home/artux/artools-workspace/artix/$repo
cd $old_repo
local packages=$(find . -mindepth 1 -maxdepth 1 -type d)
cd $super_repo
for p in ${packages[@]};do
local pkg=${p#*/}
git remote add -f $pkg git@github.com:artix-packages/$pkg.git
git subtree add --prefix $pkg $pkg master --squash
# git subtree add --prefix $pkg git@github.com:artix-packages/$pkg.git master --squash
done
done
}
# copy_pkgs
# create_pkg_repo
add_pkg_subtree

View File

@@ -22,33 +22,31 @@ pipeline {
echo "currentCommit: ${currentCommit}"
def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n')
echo "changedFilesStatus: " + changedFilesStatus
def changedPkgStatus = []
def pkgPath = []
int entrySize = 0
int entryCount = 0
for ( int i = 0; i < changedFilesStatus.size(); i++ ) {
def entry = changedFilesStatus[i].split()
def fileStatus = entry[0]
entrySize = entry.size()
entryCount = entry.size()
for ( int j = 1; j < entry.size(); j++ ) {
if ( entry[j].contains('PKGBUILD') && entry[j].contains('repos') ){
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 "pkgPath: ${pkgPath}"
echo "entrySize: ${entrySize}"
echo "entryCount: ${entryCount}"
echo "pkgPathCount: ${pkgPathCount}"
echo "changedPkgStatus: ${changedPkgStatus}"
if ( pkgCount > 0 ) {
if ( entrySize == 2 && pkgCount == 2 ) {
if ( entryCount == 2 && pkgCount == 2 ) {
def pkgEntry1 = changedPkgStatus[0].split()
def pkgEntry2 = changedPkgStatus[1].split()
def srcPath = []
@@ -59,78 +57,115 @@ pipeline {
pkgStatus << pkgEntry2[0]
def buildInfo1 = srcPath[0].tokenize('/')
def buildInfo2 = srcPath[1].tokenize('/')
for ( s in pkgStatus ) {
if ( s == "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'
}
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 ( s == 'D' ) {
IS_REMOVE = 'true'
if ( srcPath[1].contains('community-testing') ) {
RM_REPO = 'galaxy-gremlins'
} else if ( srcPath[1].contains('community-x86_64') || srcPath[0].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'
}
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'
}
}
PKG_TRUNK = buildInfo1[0] + '/trunk'
}
if ( entrySize == 3 && pkgCount == 2 ) {
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') ) {
RM_REPO = 'galaxy-goblins'
}
if ( pkgPath[1].contains('community-testing') ) {
if ( pkgPath[0].contains('community-staging') && pkgPath[1].contains('community-testing') ) {
ADD_REPO = 'galaxy-gremlins'
}
if ( pkgPath[1].contains('community-staging') ) {
RM_REPO = 'galaxy-gremlins'
}
if ( pkgPath[0].contains('community-testing') ) {
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('multilib-staging') ) {
RM_REPO = 'lib32-goblins'
}
if ( pkgPath[1].contains('multilib-testing') ) {
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'
}
if ( pkgPath[1].contains('multilib-staging') ) {
RM_REPO = 'lib32-gremlins'
}
if ( pkgPath[0].contains('multilib-testing') ) {
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'
@@ -190,7 +225,7 @@ pipeline {
PKG_PATH = srcPath
PKG_TRUNK = buildInfo[0] + '/trunk'
}
}
}
}
@@ -204,13 +239,13 @@ pipeline {
}
steps {
dir("${PKG_PATH}") {
echo "buildpkg2 -r ${ADD_REPO}"
sh "buildpkg -r ${ADD_REPO}"
}
}
post {
success {
dir("${PKG_PATH}") {
echo "deploypkg2 -a -d ${ADD_REPO}"
sh "deploypkg -a -d ${ADD_REPO} -s"
}
}
}
@@ -221,7 +256,7 @@ pipeline {
}
steps {
dir("${PKG_TRUNK}") {
echo "deploypkg2 -a -d ${ADD_REPO}"
sh "deploypkg -a -d ${ADD_REPO}"
}
}
}
@@ -231,7 +266,7 @@ pipeline {
}
steps {
dir("${PKG_TRUNK}") {
echo "deploypkg2 -r -d ${RM_REPO}"
sh "deploypkg -r -d ${RM_REPO}"
}
}
}

View File

@@ -22,33 +22,31 @@ pipeline {
echo "currentCommit: ${currentCommit}"
def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n')
echo "changedFilesStatus: " + changedFilesStatus
def changedPkgStatus = []
def pkgPath = []
int entrySize = 0
int entryCount = 0
for ( int i = 0; i < changedFilesStatus.size(); i++ ) {
def entry = changedFilesStatus[i].split()
def fileStatus = entry[0]
entrySize = entry.size()
entryCount = entry.size()
for ( int j = 1; j < entry.size(); j++ ) {
if ( entry[j].contains('PKGBUILD') && entry[j].contains('repos') ){
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 "pkgPath: ${pkgPath}"
echo "entrySize: ${entrySize}"
echo "entryCount: ${entryCount}"
echo "pkgPathCount: ${pkgPathCount}"
echo "changedPkgStatus: ${changedPkgStatus}"
if ( pkgCount > 0 ) {
if ( entrySize == 2 && pkgCount == 2 ) {
if ( entryCount == 2 && pkgCount == 2 ) {
def pkgEntry1 = changedPkgStatus[0].split()
def pkgEntry2 = changedPkgStatus[1].split()
def srcPath = []
@@ -59,60 +57,101 @@ pipeline {
pkgStatus << pkgEntry2[0]
def buildInfo1 = srcPath[0].tokenize('/')
def buildInfo2 = srcPath[1].tokenize('/')
for ( s in pkgStatus ) {
if ( s == "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'
}
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'
}
if ( s == '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'
}
} 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'
}
}
PKG_TRUNK = buildInfo1[0] + '/trunk'
}
if ( entrySize == 3 && pkgCount == 2 ) {
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') ) {
RM_REPO = 'goblins'
}
if ( pkgPath[1].contains('testing') ) {
if ( pkgPath[0].contains('staging') && pkgPath[1].contains('testing') ) {
ADD_REPO = 'gremlins'
}
if ( pkgPath[1].contains('staging') ) {
RM_REPO = 'gremlins'
}
if ( pkgPath[0].contains('testing') ) {
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'
@@ -153,7 +192,7 @@ pipeline {
PKG_PATH = srcPath
PKG_TRUNK = buildInfo[0] + '/trunk'
}
}
}
}
@@ -167,13 +206,13 @@ pipeline {
}
steps {
dir("${PKG_PATH}") {
echo "buildpkg2 -r ${ADD_REPO}"
sh "buildpkg -r ${ADD_REPO}"
}
}
post {
success {
dir("${PKG_PATH}") {
echo "deploypkg2 -a -d ${ADD_REPO}"
sh "deploypkg -a -d ${ADD_REPO} -s"
}
}
}
@@ -184,7 +223,7 @@ pipeline {
}
steps {
dir("${PKG_TRUNK}") {
echo "deploypkg2 -a -d ${ADD_REPO}"
sh "deploypkg -a -d ${ADD_REPO}"
}
}
}
@@ -194,7 +233,7 @@ pipeline {
}
steps {
dir("${PKG_TRUNK}") {
echo "deploypkg2 -r -d ${RM_REPO}"
sh "deploypkg -r -d ${RM_REPO}"
}
}
}

View File

@@ -12,14 +12,8 @@
################ artools-pkg ################
#############################################
# to be removed
# repo_tree_artix=('packages' 'galaxy')
# host_tree_artix='https://github.com/artix-linux'
# to be removed
# repo_tree_arch=('packages' 'community')
# host_tree_arch=git://projects.archlinux.org/svntogit
# default repos root

View File

@@ -1,32 +0,0 @@
autoconf-archive
cmocka
confuse
dovecot
hub
hwinfo
jansson
libappindicator
libbson
libdbi
libdbusmenu
libftdi
libindicator
libmongoc
libnewt
libpgm
libreplaygain
libsass
libsodium
libx86emu
ninja
pigeonhole
portaudio
sassc
yaml-cpp
zeromq
# acpi_call
# r8168
# tp_smapi
# acpi_call-lts
# r8168-lts
# tp_smapi-lts

View File

@@ -1,2 +0,0 @@
lib32-fakeroot
lib32-libltdl

View File

@@ -1,36 +0,0 @@
autoconf-archive
cmocka
confuse
dovecot
hub
hwinfo
jansson
libappindicator
libbson
libdbi
libdbusmenu
libftdi
libindicator
libmongoc
libnewt
libpgm
libreplaygain
libsass
libsodium
libx86emu
ninja
pigeonhole
portaudio
sassc
yaml-cpp
zeromq
acpi_call
r8168
tp_smapi
acpi_call-lts
r8168-lts
tp_smapi-lts
virtualbox
virtualbox-guest-iso
lib32-fakeroot
lib32-libltdl

View File

@@ -1,674 +0,0 @@
### system ###
tzdata
iana-etc
linux-api-headers
binutils
glibc
gcc
attr
acl
ncurses
readline
# bash
sed
diffutils
expat
db
lz4
lzo
bzip2
gmp
mpfr
m4
gdbm
xz
zlib
file
zstd
icu
perl
openssl
openssl-1.0
autoconf
automake
dash
bison
ldns
less
libaio
libarchive
libassuan
libcap
libedit
libevent
libffi
libgcrypt
libgpg-error
libgssglue
libidn
libidn2
libksba
libmnl
libmpc
libnftnl
libnghttp2
libnl
libpcap
libpipeline
libpsl
libidn2
librpcsecgss
libseccomp
libsecret
libssh2
libtasn1
libtirpc
libtool
libunistring
pcre
glib2
grep
gzip
bridge-utils
ca-certificates
ca-certificates-cacert
coreutils
cracklib
dialog
ding-libs
dnssec-anchors
dosfstools
e2fsprogs
ed
efibootmgr
efivar
elfutils
fakeroot
findutils
flex
gawk
gettext
gnutls
gpgme
groff
hdparm
hwids
ifenslave
iproute2
iputils
iw
jfsutils
kbd
keyutils
#licenses
links
linux-atm
linux-firmware
make
man-pages
mkinitcpio-busybox
mkinitcpio-nfs-utils
nano
nettle
net-tools
nfsidmap
nilfs-utils
npth
nspr
nss
p11-kit
patch
pciutils
pinentry
pkcs11-helper
pkg-config
popt
pptpclient
procinfo-ng
psmisc
pth
reiserfsprogs
run-parts
sdparm
# s-nail
sqlite
sysfsutils
syslinux
tar
texinfo
thin-provisioning-tools
traceroute
usbutils
vi
which
wireless-regdb
wireless_tools
wpa_actiond
xfsprogs
zd1211-firmware
archlinux-keyring
b43-fwcutter
ipw2100-fw
ipw2200-fw
isdn4k-utils
curl
sudo
argon2
### world ###
a52dec
aalib
adwaita-icon-theme
alsa-firmware
alsa-lib
#alsa-utils
apr
apr-util
aspell
assimp
atk
at-spi2-atk
at-spi2-core
babl
bc
boost
brltty
cairo
cantarell-fonts
cdparanoia
check
cifs-utils
cln
cmake
extra-cmake-modules
convertlit
cpio
dbus-glib
dbus-python
dcadec
dconf
desktop-file-utils
dkms
docbook-dsssl
docbook-sgml31
docbook-utils
docbook-xml
docbook-xsl
dotconf
double-conversion
doxygen
ebook-tools
editorconfig-core-c
exiv2
faad2
ffmpeg
ffmpeg2.8
fftw
flac
fontconfig
freetype2
fribidi
fuse2
fuse3
gamin
gc
gcab
gconf
gcr
gd
gdb
gdk-pixbuf2
gegl02
ghostscript
giblib
giflib
glade
glib-networking
glu
gnome-common
gobject-introspection
gperf
gperftools
gptfdisk
grantlee
graphite
graphviz
gsettings-desktop-schemas
gsfonts
gsm
gst-plugins-base
gst-plugins-good
gstreamer
gtk2
gtk3
gtk-doc
gtksourceview3
gts
guile
guile2.0
harfbuzz
hicolor-icon-theme
hunspell
hyphen
ijs
ilmbase
imagemagick
imlib2
iniparser
intltool
iso-codes
itstool
jack
jasper
java8-openjdk
java-common
jbig2dec
jemalloc
js
# json-c
jsoncpp
json-glib
lame
lapack
lcms
lcms2
ldb
libaccounts-glib
libaccounts-qt
libao
libass
libasyncns
libatomic_ops
libavc1394
libbluray
libbsd
libburn
libbytesize
libcaca
libcanberra
libcap-ng
libcddb
libcdio
libcdio-paranoia
# libconfig
libcroco
libcue
libdaemon
libdatrie
libdbusmenu-qt
libdca
libdmtx
libdrm
libdv
libdvbpsi
libdvdcss
libdvdnav
libdvdread
libebml
libepoxy
libevdev
libexif
libfontenc
libgee
libgit2
libglade
libglvnd
libgphoto2
libgusb
libical
libice
libid3tag
libiec61883
libieee1284
libimobiledevice
libiscsi
libisoburn
libisofs
libjpeg-turbo
liblouis
liblqr
libmad
libmatroska
libmng
libmodplug
libmpeg2
libmspack
libmtp
libndp
libnotify
# libogg
libomxil-bellagio
libpaper
libpciaccess
libplist
libpng
libproxy
libpwquality
libqalculate
libqmi
libraqm
# libraw1394
librsvg
libsamplerate
libshout
libsigc++
libsigsegv
libsm
# libsndfile
libsoup
libsoxr
libspiro
libsrtp
libssh
libtar
# libthai
libtheora
libtiff
libtommath
libunwind
libupnp
libusb-compat
libusbmuxd
libutempter
libuv
libva
libvdpau
libvisual
libvorbis
libvpx
libwebp
libwmf
libx11
libxau
libxaw
# libxcb
libxcomposite
libxcursor
libxdamage
# libxdmcp
libxext
libxfixes
libxfont2
libxft
libxi
libxinerama
libxkbcommon
libxkbfile
libxml2
libxmu
libxpm
libxrandr
libxrender
libxres
libxshmfence
libxslt
libxss
libxt
libxtst
libxv
libxvmc
libxxf86vm
libyaml
libzip
lirc
llvm
lmdb
lua
xorgproto
mesa
# meson
mailcap
mobile-broadband-provider-info
mtdev
muparser
musepack
namcap
nasm
network-manager-applet
noto-fonts
nss-mdns
ntfs-3g
# nvidia
# nvidia-settings
# nvidia-utils
ocl-icd
openal
opencore-amr
openexr
openjade
openjpeg
openjpeg2
opensp
opus
orc
orca
pango
parted
pcre2
perl-error
perl-file-which
perl-xml-parser
perl-yaml
phonon
phonon-gstreamer
pixman
polkit-qt
poppler
potrace
protobuf
pyalpm
pygobject
pygtk
# pylint
pyqt5
python
python2
# python2-backports
# python2-backports.functools_lru_cache
# python2-configparser
# python2-ipaddress
python-appdirs
python-asn1crypto
# python-astroid
python-attrs
# python-automat
python-beaker
python-cairo
# python-cffi
python-chardet
# python-constantly
# python-cryptography
python-cssselect
python-defusedxml
# python-editdistance
# python-egenix-mx-base
python-evdev
# python-feedparser
# python-fpconst
# python-gdata
# python-geoip
python-hyperlink
python-idna
# python-incremental
# python-isort
# python-iwscan
# python-lazy-object-proxy
# python-lxml
python-mako
python-markupsafe
# python-mccabe
# python-mpd
# python-nose
python-notify
python-numpy
python-packaging
python-pip
python-ply
python-pyasn1
# python-pyasn1-modules
# python-pycparser
# python-pycurl
python-pyelftools
# python-pygame
python-pyparsing
# python-rdflib
# python-requests
# python-retrying
# python-service-identity
python-setuptools
python-six
# python-soappy
# python-telepathy
# python-urllib3
python-urwid
python-virtualenv
# python-wpactrl
python-wrapt
# python-wstools
pyxdg
qt5-3d
qt5-canvas3d
qt5-charts
qt5-connectivity
qt5-datavis3d
qt5-declarative
qt5-doc
qt5-examples
qt5-gamepad
qt5-graphicaleffects
qt5-imageformats
qt5-location
qt5-multimedia
qt5-networkauth
qt5-quickcontrols
qt5-quickcontrols2
qt5-remoteobjects
qt5-script
qt5-scxml
qt5-sensors
qt5-serialbus
qt5-serialport
qt5-speech
qt5-svg
qt5-tools
qt5-translations
qt5-virtualkeyboard
qt5-wayland
qt5-webchannel
qt5-webengine
qt5-webkit
qt5-websockets
qt5-webview
qt5-x11extras
qt5-xmlpatterns
ruby
schroedinger
sdl
sdl2
sdl_image
sdl_sound
serf
sgml-common
shared-mime-info
slang
snappy
snowball
socat
source-highlight
speech-dispatcher
speex
speexdsp
startup-notification
t1lib
taglib
talloc
tcl
tdb
tevent
texlive-bin
texlive-core
texlive-formatsextra
texlive-latexextra
texlive-pictures
texlive-science
tslib
ttf-bitstream-vera
ttf-dejavu
ttf-hack
ttf-indic-otf
unixodbc
unzip
#usbmuxd
v4l-utils
vala
valgrind
vid.stab
volume_key
vte
vte3
wavpack
wayland
wayland-protocols
webrtc-audio-processing
wget
whois
wxgtk
x265
xapian-core
xbitmaps
# xcb-proto
# xcb-util
xcb-util-cursor
# xcb-util-image
# xcb-util-keysyms
# xcb-util-renderutil
# xcb-util-wm
xdg-utils
xf86-input-libinput
xf86-video-dummy
xf86-video-fbdev
xf86-video-sisusb
xf86-video-vesa
xf86-video-vmware
xf86-video-voodoo
xkeyboard-config
xmlto
xorg-bdftopcf
xorg-fonts-alias
xorg-fonts-encodings
xorg-fonts-misc
xorg-font-util
xorg-font-utils
xorg-luit
xorg-mkfontdir
xorg-mkfontscale
xorg-setxkbmap
xorg-twm
xorg-util-macros
xorg-xauth
# xorg-xinit
xorg-xkbcomp
xorg-xmessage
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xrdb
xorg-xset
xorg-xsetroot
xterm
xvidcore
yajl
yelp-tools
yelp-xsl
zip
zita-alsa-pcmi
zita-resampler
zsh
zvbi
zziplib
re2
geoip-database
mercurial

View File

@@ -1,154 +0,0 @@
tzdata
iana-etc
linux-api-headers
binutils
glibc
gcc
attr
acl
ncurses
readline
bash
sed
diffutils
expat
db
lz4
lzo
bzip2
gmp
mpfr
m4
gdbm
xz
zlib
file
icu
perl
openssl
openssl-1.0
autoconf
automake
dash
bison
ldns
less
libaio
libarchive
libassuan
libcap
libedit
libevent
libffi
libgcrypt
libgpg-error
libgssglue
libidn
libidn2
libksba
libmnl
libmpc
libnftnl
libnghttp2
libnl
libpcap
libpipeline
libpsl
libidn2
librpcsecgss
libseccomp
libsecret
libssh2
libtasn1
libtirpc
libtool
libunistring
pcre
glib2
grep
gzip
bridge-utils
ca-certificates
ca-certificates-cacert
coreutils
cracklib
dialog
ding-libs
dnssec-anchors
dosfstools
e2fsprogs
ed
efibootmgr
efivar
elfutils
fakeroot
findutils
flex
gawk
gettext
gnutls
gpgme
groff
hdparm
hwids
ifenslave
iproute2
iputils
iw
jfsutils
kbd
keyutils
#licenses
links
linux-atm
linux-firmware
make
man-pages
mkinitcpio-busybox
mkinitcpio-nfs-utils
nano
nettle
net-tools
nfsidmap
nilfs-utils
npth
nspr
nss
p11-kit
patch
pciutils
pinentry
pkcs11-helper
pkg-config
popt
pptpclient
procinfo-ng
psmisc
pth
reiserfsprogs
run-parts
sdparm
# s-nail
sqlite
sysfsutils
syslinux
tar
texinfo
thin-provisioning-tools
traceroute
usbutils
vi
which
wireless-regdb
wireless_tools
wpa_actiond
xfsprogs
zd1211-firmware
archlinux-keyring
b43-fwcutter
ipw2100-fw
ipw2200-fw
isdn4k-utils
curl
sudo
argon2

View File

@@ -1,528 +0,0 @@
a52dec
aalib
adwaita-icon-theme
alsa-firmware
alsa-lib
#alsa-utils
apr
apr-util
aspell
assimp
atk
at-spi2-atk
at-spi2-core
babl
bc
boost
brltty
cairo
cantarell-fonts
cdparanoia
check
cifs-utils
cln
cmake
extra-cmake-modules
compositeproto
convertlit
cpio
damageproto
dbus-glib
dbus-python
dcadec
dconf
desktop-file-utils
dkms
docbook-dsssl
docbook-sgml31
docbook-utils
docbook-xml
docbook-xsl
dotconf
double-conversion
doxygen
ebook-tools
editorconfig-core-c
exiv2
faad2
ffmpeg
ffmpeg2.8
fftw
fixesproto
flac
fontconfig
fontsproto
freetype2
fribidi
fuse2
fuse3
gamin
gc
gcab
gconf
gcr
gd
gdb
gdk-pixbuf2
gegl02
ghostscript
giblib
giflib
glade
glib-networking
glu
gnome-common
gobject-introspection
gperf
gperftools
gptfdisk
grantlee
graphite
graphviz
gsettings-desktop-schemas
gsfonts
gsm
gst-plugins-base
gst-plugins-good
gstreamer
gtk2
gtk3
gtk-doc
gtksourceview3
gts
guile
guile2.0
harfbuzz
hicolor-icon-theme
hunspell
hyphen
ijs
ilmbase
imagemagick
imlib2
iniparser
inputproto
intltool
iso-codes
itstool
jack
jasper
java8-openjdk
java-common
jbig2dec
jemalloc
js
#json-c
jsoncpp
json-glib
kbproto
lame
lapack
lcms
lcms2
ldb
libaccounts-glib
libaccounts-qt
libao
libass
libasyncns
libatomic_ops
libavc1394
libbluray
libbsd
libburn
libbytesize
libcaca
libcanberra
libcap-ng
libcddb
libcdio
libcdio-paranoia
# libconfig
libcroco
libcue
libdaemon
libdatrie
libdbusmenu-qt
libdca
libdmtx
libdrm
libdv
libdvbpsi
libdvdcss
libdvdnav
libdvdread
libebml
libepoxy
libevdev
libexif
libfontenc
libgee
libgit2
libglade
libglvnd
libgphoto2
libgusb
libical
libice
libid3tag
libiec61883
libieee1284
libimobiledevice
libiscsi
libisoburn
libisofs
libjpeg-turbo
liblouis
liblqr
libmad
libmatroska
libmng
libmodplug
libmpeg2
libmspack
libmtp
libndp
libnotify
# libogg
libomxil-bellagio
libpaper
libpciaccess
libplist
libpng
libproxy
libpwquality
libqalculate
libqmi
libraqm
# libraw1394
librsvg
libsamplerate
libshout
libsigc++
libsigsegv
libsm
# libsndfile
libsoup
libsoxr
libspiro
libsrtp
libssh
libtar
# libthai
libtheora
libtiff
libtommath
libtxc_dxtn
libunwind
libupnp
libusb-compat
libusbmuxd
libutempter
libuv
libva
libvdpau
libvisual
libvorbis
libvpx
libwebp
libwmf
libx11
libxau
libxaw
# libxcb
libxcomposite
libxcursor
libxdamage
# libxdmcp
libxext
libxfixes
libxfont2
libxft
libxi
libxinerama
libxkbcommon
libxkbfile
libxml2
libxmu
libxpm
libxrandr
libxrender
libxres
libxshmfence
libxslt
libxss
libxt
libxtst
libxv
libxvmc
libxxf86vm
libyaml
libzip
lirc
llvm
lmdb
lua
mesa
# meson
mailcap
mobile-broadband-provider-info
mtdev
muparser
musepack
namcap
nasm
network-manager-applet
noto-fonts
nss-mdns
ntfs-3g
# nvidia
# nvidia-settings
# nvidia-utils
ocl-icd
openal
opencore-amr
openexr
openjade
openjpeg
openjpeg2
opensp
opus
orc
orca
pango
parted
pcre2
perl-error
perl-file-which
perl-xml-parser
perl-yaml
phonon
phonon-gstreamer
pixman
polkit-qt
poppler
potrace
protobuf
pyalpm
pygobject
pygtk
# pylint
pyqt5
python
python2
# python2-backports
# python2-backports.functools_lru_cache
# python2-configparser
# python2-ipaddress
python-appdirs
python-asn1crypto
# python-astroid
python-attrs
# python-automat
python-beaker
python-cairo
# python-cffi
python-chardet
# python-constantly
# python-cryptography
python-cssselect
python-defusedxml
# python-editdistance
# python-egenix-mx-base
python-evdev
# python-feedparser
# python-fpconst
# python-gdata
# python-geoip
python-hyperlink
python-idna
# python-incremental
# python-isort
# python-iwscan
# python-lazy-object-proxy
# python-lxml
python-mako
python-markupsafe
# python-mccabe
# python-mpd
# python-nose
python-notify
python-numpy
python-packaging
python-pip
python-ply
python-pyasn1
# python-pyasn1-modules
# python-pycparser
# python-pycurl
python-pyelftools
# python-pygame
python-pyparsing
# python-rdflib
# python-requests
# python-retrying
# python-service-identity
python-setuptools
python-six
# python-soappy
# python-telepathy
# python-urllib3
python-urwid
python-virtualenv
# python-wpactrl
python-wrapt
# python-wstools
pyxdg
qt5-3d
qt5-canvas3d
qt5-charts
qt5-connectivity
qt5-datavis3d
qt5-declarative
qt5-doc
qt5-examples
qt5-gamepad
qt5-graphicaleffects
qt5-imageformats
qt5-location
qt5-multimedia
qt5-networkauth
qt5-quickcontrols
qt5-quickcontrols2
qt5-remoteobjects
qt5-script
qt5-scxml
qt5-sensors
qt5-serialbus
qt5-serialport
qt5-speech
qt5-svg
qt5-tools
qt5-translations
qt5-virtualkeyboard
qt5-wayland
qt5-webchannel
qt5-webengine
qt5-webkit
qt5-websockets
qt5-webview
qt5-x11extras
qt5-xmlpatterns
randrproto
recordproto
renderproto
re2
ruby
schroedinger
scrnsaverproto
sdl
sdl2
sdl_image
sdl_sound
serf
sgml-common
shared-mime-info
slang
snappy
snowball
socat
source-highlight
speech-dispatcher
speex
speexdsp
startup-notification
t1lib
taglib
talloc
tcl
tdb
tevent
texlive-bin
texlive-core
texlive-formatsextra
texlive-latexextra
texlive-pictures
texlive-science
tslib
ttf-bitstream-vera
ttf-dejavu
ttf-hack
ttf-indic-otf
unixodbc
unzip
#usbmuxd
v4l-utils
vala
valgrind
videoproto
vid.stab
volume_key
vte
vte3
wavpack
wayland
wayland-protocols
webrtc-audio-processing
wget
whois
wxgtk
x265
xapian-core
xbitmaps
# xcb-proto
# xcb-util
xcb-util-cursor
# xcb-util-image
# xcb-util-keysyms
# xcb-util-renderutil
# xcb-util-wm
xdg-utils
xextproto
xf86-input-libinput
xf86-video-dummy
xf86-video-fbdev
xf86-video-sisusb
xf86-video-vesa
xf86-video-vmware
xf86-video-voodoo
xf86vidmodeproto
xineramaproto
xkeyboard-config
xmlto
xorg-bdftopcf
xorg-fonts-alias
xorg-fonts-encodings
xorg-fonts-misc
xorg-font-util
xorg-font-utils
xorg-luit
xorg-mkfontdir
xorg-mkfontscale
xorg-setxkbmap
xorg-twm
xorg-util-macros
xorg-xauth
xorg-xinit
xorg-xkbcomp
xorg-xmessage
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xrdb
xorg-xset
xorg-xsetroot
# xproto
xterm
xvidcore
yajl
yelp-tools
yelp-xsl
zip
zita-alsa-pcmi
zita-resampler
zsh
zvbi
zziplib
geoip-database
mercurial

25
data/missing Normal file
View File

@@ -0,0 +1,25 @@
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

View File

@@ -1,111 +0,0 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Artix Linux
# packagers with `pacman-key --populate archlinux cromnix`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
[system-testing]
Include = /etc/pacman.d/mirrorlist
[system]
Include = /etc/pacman.d/mirrorlist
[world-testing]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy-testing]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
[lib32-testing]
Include = /etc/pacman.d/mirrorlist
[lib32]
Include = /etc/pacman.d/mirrorlist
#
# ARCHLINUX
#
[testing]
Include = /etc/pacman.d/mirrorlist-arch
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
[multilib-testing]
Include = /etc/pacman.d/mirrorlist-arch
[multilib]
Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -1,90 +0,0 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Artix Linux
# packagers with `pacman-key --populate archlinux cromnix`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
[system]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
[lib32]
Include = /etc/pacman.d/mirrorlist
#
# ARCHLINUX
#
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
[multilib]
Include = /etc/pacman.d/mirrorlist-arch

38
data/qt5.list Normal file
View File

@@ -0,0 +1,38 @@
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

View File

@@ -53,9 +53,8 @@ default_locale(){
if [[ ! -f "$mnt/etc/locale.gen.bak" ]];then
info "Setting locale ..."
mv "$mnt/etc/locale.gen" "$mnt/etc/locale.gen.bak"
printf '%s.UTF-8 UTF-8\n' en_US > "$mnt/etc/locale.gen"
printf 'LANG=%s.UTF-8\n' en_US > "$mnt/etc/locale.conf"
printf 'LC_MESSAGES=C\n' >> "$mnt/etc/locale.conf"
printf '%s.UTF-8 UTF-8\n' en_US de_DE > "$mnt/etc/locale.gen"
echo 'LANG=en_US.UTF-8.UTF-8' > "$mnt/etc/locale.conf"
fi
elif [[ $action == "reset" ]];then
if [[ -f "$mnt/etc/locale.gen.bak" ]];then

View File

@@ -78,7 +78,17 @@ die() {
msg_table_header(){
local mesg=$1; shift
printf "${GREEN} ${mesg} ${ALL_OFF}\n" "$@" >&2
printf "${BLUE} ${mesg} ${ALL_OFF}\n" "$@" >&2
}
msg_row_downgrade(){
local mesg=$1; shift
printf "${YELLOW} ${mesg}${ALL_OFF}\n" "$@" >&2
}
msg_row_notify(){
local mesg=$1; shift
printf "${GREEN} ${mesg}${ALL_OFF}\n" "$@" >&2
}
msg_row(){
@@ -86,9 +96,9 @@ msg_row(){
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
msg_row_update(){
msg_row_upgrade(){
local mesg=$1; shift
printf "${RED}${BOLD} ${mesg} ${ALL_OFF}\n" "$@" >&2
printf "${RED}${RED} ${mesg} ${ALL_OFF}\n" "$@" >&2
}
import(){

View File

@@ -1,73 +0,0 @@
#!/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.
import ${LIBDIR}/util-pkg.sh
del_from_repo(){
local repo="$1" destarch="$2" pkg="$3" ver result
local repo_path=${repos_root}/$repo/os/$destarch
source $pkg/PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if ! result=$(find_cached_package "$name" "$ver" "$CARCH");then
cd $repo_path
repo-remove -R $repo.db.tar.xz $name
fi
done
}
move_to_repo(){
local repo_src="$1" repo_dest="$2" repo_arch="$3"
local repo_path=${repos_root}/$repo_src/os/$repo_arch
local src=$PWD
local filelist=${workspace_dir}/$repo_src.files.txt
local pkglist=${workspace_dir}/$repo_src.pkgs.txt
[[ -n ${PKGDEST} ]] && src=${PKGDEST}
cd $repo_path
msg "Writing repo lists [%s]" "$repo_src"
ls *.pkg.tar.xz{,.sig} > $filelist
ls *.pkg.tar.xz > $pkglist
rm -v *
repo-add $repo_src.db.tar.xz
repo_path=${repos_root}/$repo_dest/os/$repo_arch
local move=$(cat $filelist) pkgs=$(cat $pkglist)
msg "Reading repo lists [%s]" "$repo_dest"
for f in ${move[@]};do
ln -sfv $src/$f $repo_path/
done
cd $repo_path
repo-add -R $repo_dest.db.tar.xz ${pkgs[@]}
}
add_to_repo(){
local repo="$1" destarch="$2" pkg="$3" ver pkgfile=
local repo_path=${repos_root}/$repo/os/$destarch
source $pkg/PKGBUILD
for name in ${pkgname[@]};do
info "finddeps: %s" "$name"
finddeps $name
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then
info "find-libdeps: %s" "$pkgfile"
find-libdeps "$pkgfile"
info "find-libprovides: %s" "$pkgfile"
find-libprovides "$pkgfile"
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
signfile ${pkgfile}
ln -sf ${pkgfile}{,.sig} $repo_path/
cd $repo_path
repo-add -R $repo.db.tar.xz ${pkgfile##*/}
fi
done
}

View File

@@ -1,210 +0,0 @@
#!/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.
get_local_head(){
echo $(git log --pretty=%H ...refs/heads/$1^ | head -n 1)
}
get_remote_head(){
echo $(git ls-remote origin -h refs/heads/$1 | cut -f1)
}
is_dirty() {
[[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1
return 0
}
sync_tree(){
local branch="master" repo="$1"
git checkout $branch
local local_head=$(get_local_head "$branch")
local remote_head=$(get_remote_head "$branch")
local timer=$(get_timer)
msg "Checking [%s] ..." "$repo"
msg2 "local: %s" "${local_head}"
msg2 "remote: %s" "${remote_head}"
if [[ "${local_head}" == "${remote_head}" ]]; then
info "nothing to do"
else
info "needs sync"
git pull origin $branch
fi
msg "Done [%s]" "$repo"
show_elapsed_time "${FUNCNAME}" "${timer}"
}
clone_tree(){
local timer=$(get_timer) repo="$1" host_tree="$2"
msg "Preparing [%s] ..." "$repo"
info "clone"
git clone $host_tree.git
msg "Done [%s]" "$repo"
show_elapsed_time "${FUNCNAME}" "${timer}"
}
sync_tree_arch(){
local repo="$1"
cd ${tree_dir_arch}
for repo in ${repo_tree_arch[@]};do
if [[ -d ${repo} ]];then
cd ${repo}
sync_tree "${repo}"
cd ..
else
clone_tree "${repo}" "${host_tree_arch}/${repo}"
fi
done
cd ..
}
sync_tree_artix(){
local repo="$1"
cd ${tree_dir_artix}
for repo in ${repo_tree_artix[@]};do
if [[ -d ${repo} ]];then
cd ${repo}
sync_tree "${repo}"
cd ..
else
clone_tree "${repo}" "${host_tree_artix}/${repo}"
fi
done
cd ..
}
read_import_list(){
local repo="$1"
local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g"
import_list=$(sed "$_com_rm" "${list_dir_import}/$repo.list" | sed "$_space" | sed "$_clean")
}
is_untracked(){
[[ $(git ls-files --others --exclude-standard) != "" ]] || return 1
return 0
}
patch_pkg(){
local pkg="$1"
case $pkg in
'glibc')
sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \
-e '/nscd.service/d' \
-i $pkg/PKGBUILD
;;
# 'bash')
# sed -e 's|system.bash_logout)|system.bash_logout\n artix.bashrc)|' \
# -e 's|etc/bash.|etc/bash/|g' \
# -e 's|install -dm755 "$pkgdir"/etc/skel/|install -dm755 "$pkgdir"/etc/{skel,bash/bashrc.d}/|' \
# -e 's|/etc/skel/.bash_logout|/etc/skel/.bash_logout\n install -m644 artix.bashrc "$pkgdir"/etc/bash/bashrc.d/artix.bashrc|' \
# -i $pkg/PKGBUILD
#
# cd $pkg
# patch -p1 -i $DATADIR/patches/artix-bash.patch
# updpkgsums
# cd ..
# ;;
'tp_smapi'|'acpi_call'|'r8168')
sed -e 's|-ARCH|-ARTIX|g' -i $pkg/PKGBUILD
;;
esac
}
get_import_path(){
local arch_dir arch_repo import_path
local repo="$1" pkg="$2" src=
case $repo in
system|world)
arch_dir=packages
[[ "$repo" == 'system' ]] && arch_repo=core
[[ "$repo" == 'world' ]] && arch_repo=extra
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
src=$import_path/$arch_repo-x86_64
[[ -d $import_path/testing-x86_64 ]] && src=$import_path/testing-x86_64
[[ -d $import_path/$arch_repo-any ]] && src=$import_path/$arch_repo-any
[[ -d $import_path/testing-any ]] && src=$import_path/testing-any
;;
galaxy)
arch_repo=community
arch_dir=$arch_repo
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos/$arch_repo
src=$import_path-x86_64
[[ -d $import_path-testing-x86_64 ]] && src=$import_path-testing-x86_64
[[ -d $import_path-any ]] && src=$import_path-any
[[ -d $import_path-testing-any ]] && src=$import_path-testing-any
;;
lib32)
arch_repo=multilib
arch_dir=community
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
src=$import_path/$arch_repo-x86_64
[[ -d $import_path/$arch_repo-testing-x86_64 ]] && src=$import_path/$arch_repo-testing-x86_64
;;
esac
echo $src
}
show_version_table(){
local repo="$1"
declare -A UPDATES
msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version"
for pkg in ${tree_dir_artix}/$repo/*; do
if [[ -f $pkg/PKGBUILD ]];then
source $pkg/PKGBUILD 2>/dev/null
package=${pkg##*/}
artixver=$(get_full_version $package)
local src=$(get_import_path "$repo" "$package")
if [[ -f $src/PKGBUILD ]];then
source $src/PKGBUILD 2>/dev/null
archver=$(get_full_version $package)
fi
if [ $(vercmp $artixver $archver) -lt 0 ];then
UPDATES[$package]="$pkg/PKGBUILD $src/PKGBUILD"
msg_row_update "%-30s %-30s %-30s %-30s" "$repo" "$package" "$artixver" "$archver"
fi
fi
unset pkgver epoch pkgrel artixver archver package
done
find "${patches_dir}/$repo/" -name *.patch -delete
for upd in "${!UPDATES[@]}"; do
msg "Writing %s update patch ..." "$upd"
diff -u ${UPDATES[$upd]} > ${patches_dir}/$repo/"$upd"-archlinux.patch
done
}
import_from_arch(){
local timer=$(get_timer) branch='testing' repo="$1" push="$2"
read_import_list "$repo"
if [[ -n ${import_list[@]} ]];then
cd ${tree_dir_artix}/$repo
git checkout $branch &> /dev/null
$(is_dirty) && die "[%s] has uncommited changes!" "${repo}"
git pull origin "$branch"
for pkg in ${import_list[@]};do
local src=$(get_import_path "$repo" "$pkg") dest=${tree_dir_artix}/$repo/$pkg
source $src/PKGBUILD 2>/dev/null
local ver=$(get_full_version $pkg)
msg "Package: %s-%s" "$pkg" "$ver"
msg2 "src: %s" "$src"
msg2 "dest: %s" "$dest"
rsync "${rsync_args[@]}" $src/ $dest/
patch_pkg "$pkg"
# if ${push};then
# local timeout=10
# git add "$pkg"
# git commit -m "$pkg-$ver"
# sleep $timeout
# git push origin "$branch"
# fi
unset pkgver epoch pkgrel ver
done
fi
show_elapsed_time "${FUNCNAME}" "${timer}"
}

View File

@@ -9,6 +9,192 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
get_local_head(){
echo $(git log --pretty=%H ...refs/heads/$1^ | head -n 1)
}
get_remote_head(){
echo $(git ls-remote origin -h refs/heads/$1 | cut -f1)
}
is_dirty() {
[[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1
return 0
}
is_untracked(){
[[ $(git ls-files --others --exclude-standard) != "" ]] || return 1
return 0
}
patch_pkg(){
local pkg="$1" repo="$2"
case $pkg in
'glibc')
sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \
-e '/nscd.service/d' \
-i $pkg/trunk/PKGBUILD
;;
'tp_smapi'|'acpi_call'|'r8168'|'bbswitch')
sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD
;;
'nvidia')
sed -e 's|-ARCH|-ARTIX|g' -e 's|for Arch kernel|for Artix kernel|g' \
-e 's|for LTS Arch kernel|for LTS Artix kernel|g' \
-i $pkg/trunk/PKGBUILD
;;
'linux')
sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD
sed -e 's|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION="-ARTIX"|' \
-e 's|CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME="artixlinux"|' \
-i $pkg/trunk/config
cd $pkg/trunk
updpkgsums
cd ../..
;;
'licenses')
sed -e 's|https://www.archlinux.org/|https://www.artixlinux.org/|' -i $pkg/trunk/PKGBUILD
;;
'bash')
sed -e 's|system.bash_logout)|system.bash_logout artix.bashrc)|' \
-e "s|etc/bash.|etc/bash/|g" \
-e 's|"$pkgdir/etc/skel/.bash_logout"|"$pkgdir/etc/skel/.bash_logout"\n install -Dm644 artix.bashrc $pkgdir/etc/bash/bashrc.d/artix.bashrc|' \
-i $pkg/trunk/PKGBUILD
cd $pkg/trunk
patch -Np 1 -i ${DATADIR}/patches/artix-bash.patch
updpkgsums
cd ../..
;;
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
packages) import_path=${tree_dir_arch}/packages ;;
packages-galaxy) import_path=${tree_dir_arch}/community ;;
esac
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=
if [[ -d $pkg/repos/core-x86_64 ]];then
repo=core-x86_64
elif [[ -d $pkg/repos/core-any ]];then
repo=core-any
fi
if [[ -d $pkg/repos/extra-x86_64 ]];then
repo=extra-x86_64
elif [[ -d $pkg/repos/extra-any ]];then
repo=extra-any
fi
if [[ -d $pkg/repos/testing-x86_64 ]];then
repo=testing-x86_64
elif [[ -d $pkg/repos/testing-any ]];then
repo=testing-any
fi
if [[ -d $pkg/repos/staging-x86_64 ]];then
repo=staging-x86_64
elif [[ -d $pkg/repos/staging-any ]];then
repo=staging-any
fi
if [[ -d $pkg/repos/community-x86_64 ]];then
repo=community-x86_64
elif [[ -d $pkg/repos/community-any ]];then
repo=community-any
fi
if [[ -d $pkg/repos/community-testing-x86_64 ]];then
repo=community-testing-x86_64
elif [[ -d $pkg/repos/community-testing-any ]];then
repo=community-testing-any
fi
if [[ -d $pkg/repos/community-staging-x86_64 ]];then
repo=community-staging-x86_64
elif [[ -d $pkg/repos/community-staging-any ]];then
repo=community-staging-any
fi
if [[ -d $pkg/repos/multilib-x86_64 ]];then
repo=multilib-x86_64
fi
if [[ -d $pkg/repos/multilib-testing-x86_64 ]];then
repo=multilib-testing-x86_64
fi
if [[ -d $pkg/repos/multilib-staging-x86_64 ]];then
repo=multilib-staging-x86_64
fi
echo $repo
}
arch_to_artix_repo(){
local repo="$1"
case $repo in
core-*) repo=system ;;
extra-*) repo=world ;;
community-x86_64|community-any) repo=galaxy ;;
multilib-x86_64) repo=lib32 ;;
testing-*) repo=gremlins ;;
staging-*) repo=goblins ;;
multilib-testing-x86_64) repo=lib32-gremlins ;;
multilib-staging-x86_64) repo=lib32-goblins ;;
community-testing-*) repo=galaxy-gremlins ;;
community-staging-*) repo=galaxy-goblins ;;
esac
echo $repo
}
# $1: sofile
# $2: soarch
process_sofile() {

View File

@@ -67,26 +67,14 @@ init_artools_pkg(){
[[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix
# to be removed
[[ -z ${repo_tree_artix[@]} ]] && repo_tree_artix=('system' 'world' 'galaxy' 'lib32')
[[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux'
[[ -z ${tree_dir_arch} ]] && tree_dir_arch=${workspace_dir}/archlinux
# to be removed
[[ -z ${repo_tree_arch} ]] && repo_tree_arch=('packages' 'community')
[[ -z ${host_tree_arch} ]] && host_tree_arch='git://projects.archlinux.org/svntogit'
list_dir_import="${SYSCONFDIR}/import.list.d"
[[ -d ${AT_USERCONFDIR}/import.list.d ]] && list_dir_import=${AT_USERCONFDIR}/import.list.d
chroots_pkg="${chroots_dir}/buildpkg"
[[ -z ${patches_dir} ]] && patches_dir=${workspace_dir}/archlinux-patches
[[ -z ${repos_root} ]] && repos_root="${workspace_dir}/repos"
}