forked from artix/artools
		
	Compare commits
	
		
			188 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					02b28e82ef | ||
| 
						 | 
					fb6d1d4c1b | ||
| 
						 | 
					9fc3fbd14d | ||
| 
						 | 
					72f2781cb9 | ||
| 
						 | 
					9ddd73c8b4 | ||
| 
						 | 
					3c92d5c87a | ||
| 
						 | 
					bc8f17cc86 | ||
| 
						 | 
					1ceb6926e9 | ||
| 
						 | 
					4d3a993a72 | ||
| 
						 | 
					a52bdc9799 | ||
| 
						 | 
					b62e90f778 | ||
| 
						 | 
					5d2fda793d | ||
| 
						 | 
					550663cfd1 | ||
| 
						 | 
					6c117fb97d | ||
| 
						 | 
					7e6d832314 | ||
| 
						 | 
					6fc7b124fc | ||
| 
						 | 
					a011005901 | ||
| 
						 | 
					5da4fea263 | ||
| 
						 | 
					e1b8a0493b | ||
| 
						 | 
					8fe1e82226 | ||
| 
						 | 
					aa8725518b | ||
| 
						 | 
					fc5a446784 | ||
| 
						 | 
					64ce7c3bd6 | ||
| 
						 | 
					8e3a7d98f9 | ||
| 
						 | 
					c4e47b6513 | ||
| 
						 | 
					b17e93d37f | ||
| 
						 | 
					f2e575a37c | ||
| 
						 | 
					706fa58ddd | ||
| 
						 | 
					de4652ac94 | ||
| 
						 | 
					cd37fde7ca | ||
| 
						 | 
					0f3b352020 | ||
| 
						 | 
					c60dabdf6b | ||
| 
						 | 
					208b751142 | ||
| 
						 | 
					bfc8b8ce80 | ||
| 
						 | 
					87185b7d99 | ||
| 
						 | 
					6cfbc8b97e | ||
| 
						 | 
					4f454f4ec4 | ||
| 
						 | 
					478e8fbba3 | ||
| 
						 | 
					fc41bd7be4 | ||
| 
						 | 
					b9eeec876b | ||
| 
						 | 
					ce6d6d093e | ||
| 
						 | 
					996deb8924 | ||
| 
						 | 
					63af5c762f | ||
| 
						 | 
					9eef1c3a05 | ||
| 
						 | 
					95858019e9 | ||
| 
						 | 
					e1a9f2a1b3 | ||
| 
						 | 
					238302d3ce | ||
| 
						 | 
					73d7fd28af | ||
| 
						 | 
					4d834ddaaa | ||
| 
						 | 
					027e29e025 | ||
| 
						 | 
					5fbf1f7d43 | ||
| 
						 | 
					88b0206121 | ||
| 
						 | 
					d71af677f5 | ||
| 
						 | 
					63ef4ee33b | ||
| 
						 | 
					0b2e104504 | ||
| 
						 | 
					3a7881d5c5 | ||
| 
						 | 
					74dd869dc2 | ||
| 
						 | 
					718d4062b0 | ||
| 
						 | 
					66e9fa4caa | ||
| 
						 | 
					f728680c28 | ||
| 
						 | 
					3a0746a358 | ||
| 
						 | 
					5da701a318 | ||
| 
						 | 
					45b1a95332 | ||
| 
						 | 
					450b51ea71 | ||
| 
						 | 
					aa71c050b2 | ||
| 
						 | 
					e4966f2351 | ||
| 
						 | 
					894054d3cd | ||
| 
						 | 
					969ce59e3d | ||
| 
						 | 
					94ec82f2d5 | ||
| 
						 | 
					58a043a35c | ||
| 
						 | 
					0cfdb6b8df | ||
| 
						 | 
					bc5f417a90 | ||
| 
						 | 
					371f93ea7f | ||
| 
						 | 
					3fb842f36a | ||
| 
						 | 
					78fbb97bd9 | ||
| 
						 | 
					23d75a7c12 | ||
| 
						 | 
					8626be9c0b | ||
| 
						 | 
					557aac62e4 | ||
| 
						 | 
					f261bb9e5b | ||
| 
						 | 
					3281655692 | ||
| 
						 | 
					dfd3961d9c | ||
| 
						 | 
					0939e6d5a2 | ||
| 
						 | 
					a9652ed8cf | ||
| 
						 | 
					c6d43721cb | ||
| 
						 | 
					b4900e760d | ||
| 
						 | 
					346e05d943 | ||
| 
						 | 
					c786e6900f | ||
| 
						 | 
					d42bfb6893 | ||
| 
						 | 
					40be81f3f3 | ||
| 
						 | 
					db8ba96909 | ||
| 
						 | 
					5750465180 | ||
| 
						 | 
					be3720cd56 | ||
| 
						 | 
					2d042b1545 | ||
| 
						 | 
					a66c12ebc1 | ||
| 
						 | 
					28c7ea361c | ||
| 
						 | 
					40e3623b3a | ||
| 
						 | 
					0cd6b45f04 | ||
| 
						 | 
					2d998df432 | ||
| 
						 | 
					d10dbed4b2 | ||
| 
						 | 
					f74dd7654a | ||
| 
						 | 
					313db49bba | ||
| 
						 | 
					0235f2f9cd | ||
| 
						 | 
					e08c5a9659 | ||
| 
						 | 
					c38319b40c | ||
| 
						 | 
					c7d07f4408 | ||
| 
						 | 
					cf5239b814 | ||
| 
						 | 
					d77b860628 | ||
| 
						 | 
					4a53b6dfd1 | ||
| 
						 | 
					88a3135dc2 | ||
| 
						 | 
					b72dcdae89 | ||
| 
						 | 
					9e7b0aba10 | ||
| 
						 | 
					9d32b0ca9e | ||
| 
						 | 
					e496c4d3dd | ||
| 
						 | 
					146021408d | ||
| 
						 | 
					c40ec0eca2 | ||
| 
						 | 
					fbba7656f9 | ||
| 
						 | 
					a2c90b7613 | ||
| 
						 | 
					925f5e197a | ||
| 
						 | 
					7a2170ea14 | ||
| 
						 | 
					f81910a891 | ||
| 
						 | 
					b731228828 | ||
| 
						 | 
					b82294fcb9 | ||
| 
						 | 
					2b4b3107bf | ||
| 
						 | 
					a906875af7 | ||
| 
						 | 
					4b4e07e743 | ||
| 
						 | 
					2127988036 | ||
| 
						 | 
					710a8dc57f | ||
| 
						 | 
					16fd97e2d3 | ||
| 
						 | 
					25808c8034 | ||
| 
						 | 
					d87aade54b | ||
| 
						 | 
					37aa3c1c65 | ||
| 
						 | 
					c870472267 | ||
| 
						 | 
					563e2bbc4a | ||
| 
						 | 
					6463779536 | ||
| 
						 | 
					8b98c6cac9 | ||
| 
						 | 
					a47c8e1a44 | ||
| 
						 | 
					c7cf6c05a0 | ||
| 
						 | 
					5c4406a19a | ||
| 
						 | 
					5a1105302a | ||
| 
						 | 
					6a376c8b65 | ||
| 
						 | 
					bfbbd12316 | ||
| 
						 | 
					c51d75acf0 | ||
| 
						 | 
					11ea38fe32 | ||
| 
						 | 
					55b9b69859 | ||
| 
						 | 
					d2ae040e45 | ||
| 
						 | 
					691c401251 | ||
| 
						 | 
					8861b9c8f8 | ||
| 
						 | 
					c74dda6e53 | ||
| 
						 | 
					da54be8ea2 | ||
| 
						 | 
					6551d66a99 | ||
| 
						 | 
					8ed2464c5f | ||
| 
						 | 
					f2006adfaa | ||
| 
						 | 
					fe3bd6296f | ||
| 
						 | 
					4ac466a83e | ||
| 
						 | 
					c76a29eaf7 | ||
| 
						 | 
					4b7ff99b98 | ||
| 
						 | 
					e034e965d3 | ||
| 
						 | 
					e4bb309841 | ||
| 
						 | 
					7d207257f7 | ||
| 
						 | 
					ec10df53b8 | ||
| 
						 | 
					d32d254632 | ||
| 
						 | 
					793721249a | ||
| 
						 | 
					acd9ee7e28 | ||
| 
						 | 
					c9337155e1 | ||
| 
						 | 
					8f1da6d4fb | ||
| 
						 | 
					1ab0e41426 | ||
| 
						 | 
					6f01896066 | ||
| 
						 | 
					cba60d97c6 | ||
| 
						 | 
					4ba2a309c0 | ||
| 
						 | 
					6193ad59b2 | ||
| 
						 | 
					b2c1c3288b | ||
| 
						 | 
					84242b79d0 | ||
| 
						 | 
					6039f88715 | ||
| 
						 | 
					54cb15f3a2 | ||
| 
						 | 
					13f63047a2 | ||
| 
						 | 
					7cc0c0c86a | ||
| 
						 | 
					327be3b735 | ||
| 
						 | 
					6e20fc6d07 | ||
| 
						 | 
					8436f0cafb | ||
| 
						 | 
					1ded762a78 | ||
| 
						 | 
					f3ac8b8679 | ||
| 
						 | 
					622f426686 | ||
| 
						 | 
					07ee48ff72 | ||
| 
						 | 
					1728682147 | ||
| 
						 | 
					710d615cbb | ||
| 
						 | 
					a305eac6ce | ||
| 
						 | 
					b964b729cc | ||
| 
						 | 
					6d5b4d45dd | 
							
								
								
									
										47
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								Makefile
									
									
									
									
									
								
							@@ -1,4 +1,6 @@
 | 
			
		||||
Version=0.6
 | 
			
		||||
Version=0.7
 | 
			
		||||
 | 
			
		||||
Chroot_version=0.7
 | 
			
		||||
 | 
			
		||||
PREFIX = /usr/local
 | 
			
		||||
SYSCONFDIR = /etc
 | 
			
		||||
@@ -22,31 +24,40 @@ LIBS_BASE = \
 | 
			
		||||
	lib/util-fstab.sh
 | 
			
		||||
 | 
			
		||||
SHARED_BASE = \
 | 
			
		||||
	$(wildcard data/pacman-*.conf)
 | 
			
		||||
 | 
			
		||||
LIST_IMPORT = \
 | 
			
		||||
	$(wildcard data/import.list.d/*.list)
 | 
			
		||||
	$(wildcard data/pacman*.conf)
 | 
			
		||||
 | 
			
		||||
BIN_PKG = \
 | 
			
		||||
	bin/checkpkg \
 | 
			
		||||
	bin/lddd \
 | 
			
		||||
	bin/finddeps \
 | 
			
		||||
	bin/findupdates \
 | 
			
		||||
	bin/find-libdeps \
 | 
			
		||||
	bin/mkchrootpkg \
 | 
			
		||||
	bin/buildpkg \
 | 
			
		||||
	bin/buildtree \
 | 
			
		||||
	bin/deploypkg
 | 
			
		||||
	bin/deploypkg \
 | 
			
		||||
	bin/commitpkg
 | 
			
		||||
 | 
			
		||||
LIBS_PKG = \
 | 
			
		||||
	$(wildcard lib/util-pkg*.sh)
 | 
			
		||||
 | 
			
		||||
SHARED_PKG = \
 | 
			
		||||
	$(wildcard data/makepkg-*.conf)
 | 
			
		||||
	data/makepkg.conf
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
@@ -55,8 +66,7 @@ LIBS_ISO = \
 | 
			
		||||
	$(wildcard lib/util-iso*.sh)
 | 
			
		||||
 | 
			
		||||
SHARED_ISO = \
 | 
			
		||||
	data/mkinitcpio.conf \
 | 
			
		||||
	data/linux.preset
 | 
			
		||||
	data/mkinitcpio.conf
 | 
			
		||||
 | 
			
		||||
CPIOHOOKS = \
 | 
			
		||||
	$(wildcard initcpio/hooks/*)
 | 
			
		||||
@@ -89,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 $@"
 | 
			
		||||
@@ -115,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
 | 
			
		||||
 | 
			
		||||
@@ -154,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
 | 
			
		||||
@@ -177,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
 | 
			
		||||
@@ -194,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
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,6 @@ usage() {
 | 
			
		||||
    echo "usage: ${0##*/} [options] root [packages...]"
 | 
			
		||||
    echo " -C <config>      Use an alternate config file for pacman"
 | 
			
		||||
    echo " -c               Use the package cache on the host, rather than the target"
 | 
			
		||||
    echo " -d               Allow installation to a non-mountpoint directory"
 | 
			
		||||
    echo " -G               Avoid copying the host's pacman keyring to the target"
 | 
			
		||||
    echo " -i               Avoid auto-confirmation of package selections"
 | 
			
		||||
    echo " -M               Avoid copying the host's mirrorlist to the target"
 | 
			
		||||
@@ -47,12 +46,11 @@ usage() {
 | 
			
		||||
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
opts=':C:cdGiM'
 | 
			
		||||
opts=':C:cGiM'
 | 
			
		||||
 | 
			
		||||
while getopts ${opts} arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
        C) pacman_conf=$OPTARG ;;
 | 
			
		||||
        d) directory=true ;;
 | 
			
		||||
        c) hostcache=true ;;
 | 
			
		||||
        i) interactive=true ;;
 | 
			
		||||
        G) copykeyring=false ;;
 | 
			
		||||
@@ -77,10 +75,6 @@ ${interactive} || pacman_args+=(--noconfirm)
 | 
			
		||||
 | 
			
		||||
[[ -d $newroot ]] || die "%s is not a directory" "$newroot"
 | 
			
		||||
 | 
			
		||||
if ! mountpoint -q "$newroot" && ! ${directory}; then
 | 
			
		||||
    die '%s is not a mountpoint!' "$newroot"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# create obligatory directories
 | 
			
		||||
create_min_fs "$newroot"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -26,24 +26,21 @@ prepare_build(){
 | 
			
		||||
 | 
			
		||||
    netgroups=${netgroups_url}/netgroups-${initsys}.yaml
 | 
			
		||||
 | 
			
		||||
    local pac_arch='default' pacman_conf pac_conf
 | 
			
		||||
    [[ "${target_arch}" == 'x86_64' ]] && pac_arch='lib32'
 | 
			
		||||
    local pacman_conf pac_file="pacman-default.conf"
 | 
			
		||||
 | 
			
		||||
    if [[ ${stablility} == 'buildiso' ]];then
 | 
			
		||||
        pac_conf=$pac_arch
 | 
			
		||||
    else
 | 
			
		||||
        pac_conf=$pac_arch-${stablility}
 | 
			
		||||
    fi
 | 
			
		||||
    case "${stablility}" in
 | 
			
		||||
        'gremlins') pac_file="pacman-${stablility}.conf" ;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    pacman_conf="${DATADIR}/pacman-$pac_conf.conf"
 | 
			
		||||
    [[ -f $AT_USERCONFDIR/pacman-$pac_conf.conf ]] && pacman_conf="$AT_USERCONFDIR/pacman-$pac_conf.conf"
 | 
			
		||||
    pacman_conf="${DATADIR}/$pac_file"
 | 
			
		||||
    [[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
 | 
			
		||||
 | 
			
		||||
    iso_file=$(gen_iso_fn).iso
 | 
			
		||||
 | 
			
		||||
    mkchroot_args+=(-C ${pacman_conf})
 | 
			
		||||
    work_dir=${chroots_iso}/${profile}/${target_arch}
 | 
			
		||||
 | 
			
		||||
    iso_dir="${cache_dir_iso}/${profile}"
 | 
			
		||||
    iso_dir="${iso_pool}/${profile}"
 | 
			
		||||
 | 
			
		||||
    iso_root=${chroots_iso}/${profile}/iso
 | 
			
		||||
    mnt_dir=${chroots_iso}/${profile}/mnt
 | 
			
		||||
@@ -63,9 +60,8 @@ show_profile(){
 | 
			
		||||
        msg2 "password: %s" "${password}"
 | 
			
		||||
        msg2 "addgroups: %s" "${addgroups}"
 | 
			
		||||
 | 
			
		||||
        msg2 "enable_live: %s" "${enable_live[*]}"
 | 
			
		||||
        msg2 "openrc_boot: %s" "${openrc_boot[*]}"
 | 
			
		||||
        msg2 "openrc_default: %s" "${openrc_default[*]}"
 | 
			
		||||
        msg2 "services_live: %s" "${services_live[*]}"
 | 
			
		||||
        msg2 "services: %s" "${services[*]}"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -75,10 +71,10 @@ display_settings(){
 | 
			
		||||
 | 
			
		||||
    msg "OPTIONS:"
 | 
			
		||||
    msg2 "profile: %s" "${profile}"
 | 
			
		||||
    msg2 "arch: %s" "${target_arch}"
 | 
			
		||||
    msg2 "initsys: %s" "${initsys}"
 | 
			
		||||
    msg2 "kernel: %s" "${kernel}"
 | 
			
		||||
    [[ -n ${gpgkey} ]] && msg2 "gpgkey: %s" "${gpgkey}"
 | 
			
		||||
    msg2 "stablility: %s" "${stablility}"
 | 
			
		||||
 | 
			
		||||
    msg "ARGS:"
 | 
			
		||||
    msg2 "clean_first: %s" "${clean_first}"
 | 
			
		||||
@@ -146,11 +142,10 @@ stablility=${cmd##*-}
 | 
			
		||||
usage() {
 | 
			
		||||
    echo "Usage: ${0##*/} [options]"
 | 
			
		||||
    echo "    -p <profile>       Profile [default: ${profile}]"
 | 
			
		||||
    echo "    -a <arch>          Arch [default: ${target_arch}]"
 | 
			
		||||
    echo '    -r <dir>           Chroots directory'
 | 
			
		||||
    echo "                       [default: ${chroots_iso}]"
 | 
			
		||||
    echo '    -t <dir>           Target directory'
 | 
			
		||||
    echo "                       [default: ${cache_dir_iso}]"
 | 
			
		||||
    echo "                       [default: ${iso_pool}]"
 | 
			
		||||
    echo '    -k <name>          Kernel to use'
 | 
			
		||||
    echo "                       [default: ${kernel}]"
 | 
			
		||||
    echo '    -i <name>          Init system to use'
 | 
			
		||||
@@ -172,14 +167,13 @@ usage() {
 | 
			
		||||
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
opts='p:a:r:t:k:i:g:czxmvqh'
 | 
			
		||||
opts='p:r:t:k:i:g:czxmvqh'
 | 
			
		||||
 | 
			
		||||
while getopts "${opts}" arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
        p) profile="$OPTARG" ;;
 | 
			
		||||
        a) target_arch="$OPTARG" ;;
 | 
			
		||||
        r) chroots_iso="$OPTARG" ;;
 | 
			
		||||
        t) cache_dir_iso="$OPTARG" ;;
 | 
			
		||||
        t) iso_pool="$OPTARG" ;;
 | 
			
		||||
        k) kernel="$OPTARG" ;;
 | 
			
		||||
        i) initsys="$OPTARG" ;;
 | 
			
		||||
        g) gpgkey="$OPTARG" ;;
 | 
			
		||||
 
 | 
			
		||||
@@ -20,16 +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(){
 | 
			
		||||
    check_build "$1"
 | 
			
		||||
    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(){
 | 
			
		||||
@@ -37,18 +33,16 @@ display_settings(){
 | 
			
		||||
    show_config
 | 
			
		||||
 | 
			
		||||
    msg "OPTIONS:"
 | 
			
		||||
    msg2 "arch: %s" "${target_arch}"
 | 
			
		||||
    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
 | 
			
		||||
@@ -61,62 +55,43 @@ pretend=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_arch='default' pac_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
 | 
			
		||||
    local pac_file="pacman-${repository}.conf"
 | 
			
		||||
 | 
			
		||||
    if [[ "${target_arch}" == 'lib32' ]];then
 | 
			
		||||
        pac_arch='lib32'
 | 
			
		||||
        base_devel+=('multilib-devel')
 | 
			
		||||
    fi
 | 
			
		||||
    local pacman_conf="${DATADIR}/$pac_file"
 | 
			
		||||
    [[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
 | 
			
		||||
 | 
			
		||||
    if [[ ${stablility} == 'buildpkg' ]];then
 | 
			
		||||
        pac_conf=$pac_arch
 | 
			
		||||
    else
 | 
			
		||||
        pac_conf=$pac_arch-${stablility}
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    [[ "$pac_arch" == 'lib32' ]] && target_arch='x86_64'
 | 
			
		||||
 | 
			
		||||
    local pacman_conf="${DATADIR}/pacman-$pac_conf.conf"
 | 
			
		||||
    [[ -f $AT_USERCONFDIR/pacman-$pac_conf.conf ]] && pacman_conf="$AT_USERCONFDIR/pacman-$pac_conf.conf"
 | 
			
		||||
    work_dir="${chroots_pkg}/${repository}-${target_arch}"
 | 
			
		||||
 | 
			
		||||
    local makepkg_conf="${DATADIR}/makepkg-${target_arch}.conf"
 | 
			
		||||
    [[ -f $AT_USERCONFDIR/makepkg-${target_arch}.conf ]] && makepkg_conf="$AT_USERCONFDIR/makepkg-${target_arch}.conf"
 | 
			
		||||
    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[@]}")
 | 
			
		||||
 | 
			
		||||
    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 "    -a <arch>          Arch [default: ${target_arch}]"
 | 
			
		||||
    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 '    -q                 Query settings and pretend build'
 | 
			
		||||
    echo '    -h                 This help'
 | 
			
		||||
@@ -128,14 +103,11 @@ usage() {
 | 
			
		||||
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
opts='p:a:r:z:cqh'
 | 
			
		||||
opts='r:cqh'
 | 
			
		||||
 | 
			
		||||
while getopts "${opts}" arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
        p) package="$OPTARG" ;;
 | 
			
		||||
        a) target_arch="$OPTARG" ;;
 | 
			
		||||
        r) chroots_pkg="$OPTARG" ;;
 | 
			
		||||
        z) repository="$OPTARG" ;;
 | 
			
		||||
        r) repository="$OPTARG" ;;
 | 
			
		||||
        c) create_first=true ;;
 | 
			
		||||
        q) pretend=true ;;
 | 
			
		||||
        h|?) usage 0 ;;
 | 
			
		||||
@@ -143,7 +115,6 @@ while getopts "${opts}" arg; do
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# shift $(($OPTIND - 1))
 | 
			
		||||
makepkg_args+=("${@:$OPTIND}")
 | 
			
		||||
 | 
			
		||||
check_root
 | 
			
		||||
@@ -176,4 +147,4 @@ else
 | 
			
		||||
        pacman -Syu --noconfirm || abort
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
build "${package}"
 | 
			
		||||
build
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										223
									
								
								bin/buildtree.in
									
									
									
									
									
								
							
							
						
						
									
										223
									
								
								bin/buildtree.in
									
									
									
									
									
								
							@@ -18,54 +18,209 @@ 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" src= dest=
 | 
			
		||||
    local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
 | 
			
		||||
    [[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
 | 
			
		||||
    src=${tree_dir_arch}/$git_tree_arch/$pkg/trunk
 | 
			
		||||
 | 
			
		||||
    local git_tree_artix=$(find_tree "${tree_dir_artix}" "$pkg")
 | 
			
		||||
    dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
 | 
			
		||||
 | 
			
		||||
    cd ${tree_dir_arch}/$git_tree_arch
 | 
			
		||||
 | 
			
		||||
    source $src/PKGBUILD 2>/dev/null
 | 
			
		||||
    local archver=$(get_full_version $pkg)
 | 
			
		||||
 | 
			
		||||
    msg "Package: %s" "$pkg"
 | 
			
		||||
    msg2 "Arch Version: %s" "$archver"
 | 
			
		||||
    [[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
 | 
			
		||||
    [[ -n ${checkdepends[@]} ]] && msg2 "depends: %s" "${checkdepends[*]}"
 | 
			
		||||
    [[ -n ${depends[@]} ]] && msg2 "depends: %s" "${depends[*]}"
 | 
			
		||||
 | 
			
		||||
    if [[ -d $dest ]];then
 | 
			
		||||
        cd ${tree_dir_artix}/$git_tree_artix
 | 
			
		||||
 | 
			
		||||
        source $dest/PKGBUILD 2>/dev/null
 | 
			
		||||
        local artixver=$(get_full_version $pkg)
 | 
			
		||||
 | 
			
		||||
        msg2 "Artix Version: %s" "$artixver"
 | 
			
		||||
        info "Update from archlinux (%s)" "$git_tree_arch"
 | 
			
		||||
        rsync "${rsync_args[@]}" $src/ $dest/
 | 
			
		||||
        patch_pkg "$pkg" "$tree"
 | 
			
		||||
    else
 | 
			
		||||
        [[ $git_tree_arch == 'packages' ]] && git_tree_artix=$git_tree_arch
 | 
			
		||||
        [[ $git_tree_arch == 'community' ]] && git_tree_artix='packages-galaxy'
 | 
			
		||||
 | 
			
		||||
        cd ${tree_dir_artix}/$git_tree_artix
 | 
			
		||||
 | 
			
		||||
        dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
 | 
			
		||||
        mkdir $pkg
 | 
			
		||||
 | 
			
		||||
        info "Import from archlinux (%s)" "$git_tree_arch"
 | 
			
		||||
        rsync "${rsync_args[@]}" $src/ $dest/
 | 
			
		||||
        patch_pkg "$pkg" "$tree"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sync_repos(){
 | 
			
		||||
    pull_tree_arch
 | 
			
		||||
    pull_tree_artix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
display_settings(){
 | 
			
		||||
    show_version
 | 
			
		||||
    show_config
 | 
			
		||||
 | 
			
		||||
    msg "REPOS:"
 | 
			
		||||
    msg2 "repo_tree_arch: %s" "${repo_tree_arch[*]}"
 | 
			
		||||
    msg2 "repo_tree_artix: %s" "${repo_tree_artix[*]}"
 | 
			
		||||
 | 
			
		||||
    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: %s" "${import}"
 | 
			
		||||
 | 
			
		||||
    msg "PATHS:"
 | 
			
		||||
    msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
 | 
			
		||||
    msg2 "tree_dir_arch: %s" "${tree_dir_arch}"
 | 
			
		||||
    msg2 "patches_dir: %s" "${patches_dir}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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=${PWD##*/}
 | 
			
		||||
upgrades=true
 | 
			
		||||
downgrades=false
 | 
			
		||||
artix=false
 | 
			
		||||
import=false
 | 
			
		||||
package=''
 | 
			
		||||
 | 
			
		||||
rsync_args=(-aWxv --progress --delete-before --no-R --no-implied-dirs)
 | 
			
		||||
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 a package from arch'
 | 
			
		||||
    echo '    -q            Query settings'
 | 
			
		||||
    echo '    -h            This help'
 | 
			
		||||
    echo ''
 | 
			
		||||
@@ -75,16 +230,17 @@ usage() {
 | 
			
		||||
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
opts='r:aipscqh'
 | 
			
		||||
opts='p:csudaiqh'
 | 
			
		||||
 | 
			
		||||
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=true ;;
 | 
			
		||||
        q) pretend=true ;;
 | 
			
		||||
        h|?) usage 0 ;;
 | 
			
		||||
        *) echo "invalid argument '${arg}'"; usage 1 ;;
 | 
			
		||||
@@ -95,14 +251,13 @@ shift $(($OPTIND - 1))
 | 
			
		||||
 | 
			
		||||
prepare_dir "${tree_dir_artix}"
 | 
			
		||||
prepare_dir "${tree_dir_arch}"
 | 
			
		||||
prepare_dir "${patches_dir}"
 | 
			
		||||
 | 
			
		||||
${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} && from_arch "${package}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,8 @@
 | 
			
		||||
 | 
			
		||||
version=@version@
 | 
			
		||||
 | 
			
		||||
chroot_version=@chroot_version@
 | 
			
		||||
 | 
			
		||||
LIBDIR='@libdir@'
 | 
			
		||||
 | 
			
		||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
			
		||||
@@ -87,11 +89,12 @@ copy_hostconf () {
 | 
			
		||||
        cp -T "$file" "$working_dir$file"
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${cache_dirs[@]})|g" -i "$1/etc/pacman.conf"
 | 
			
		||||
    sed -r "s|^#?\\s*CacheDir.+|CacheDir = ${cache_dirs[*]}|g" -i "$1/etc/pacman.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										173
									
								
								bin/commitpkg.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								bin/commitpkg.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,173 @@
 | 
			
		||||
#!/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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
@@ -78,7 +78,7 @@ opts='p:l:uvtqh'
 | 
			
		||||
while getopts "${opts}" arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
        p) profile="$OPTARG" ;;
 | 
			
		||||
        l) limit="$OPTARG" ;;
 | 
			
		||||
        l) uplimit="$OPTARG" ;;
 | 
			
		||||
        u) update=true; rsync_args+=(-u) ;;
 | 
			
		||||
        t) torrent=true ;;
 | 
			
		||||
        v) verbose=true; rsync_args+=(-v --stats) ;;
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
            set_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
 | 
			
		||||
@@ -64,6 +64,13 @@ optstring_apply_quirks() {
 | 
			
		||||
    # one might install Arch from a Fedora environment), so let's remove it.
 | 
			
		||||
    optstring_remove_option "$varname" seclabel
 | 
			
		||||
 | 
			
		||||
    # Prune 'relatime' option for any pseudofs. This seems to be a rampant
 | 
			
		||||
    # default which the kernel often exports even if the underlying filesystem
 | 
			
		||||
    # doesn't support it. Example: https://bugs.archlinux.org/task/54554.
 | 
			
		||||
    if awk -v fstype="$fstype" '$1 == fstype { exit 1 }' /proc/filesystems; then
 | 
			
		||||
        optstring_remove_option "$varname" relatime
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    case $fstype in
 | 
			
		||||
        f2fs)
 | 
			
		||||
        # These are Kconfig options for f2fs. Kernels supporting the options will
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,8 @@
 | 
			
		||||
 | 
			
		||||
version=@version@
 | 
			
		||||
 | 
			
		||||
chroot_version=@chroot_version@
 | 
			
		||||
 | 
			
		||||
LIBDIR='@libdir@'
 | 
			
		||||
 | 
			
		||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
			
		||||
@@ -71,7 +73,7 @@ else
 | 
			
		||||
    cache_dirs=(${cache_dir})
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
basestrap_args=(-Gcd ${pacman_conf:+-C "$pacman_conf"})
 | 
			
		||||
basestrap_args=(-Gc ${pacman_conf:+-C "$pacman_conf"})
 | 
			
		||||
[[ -n ${mirror} ]] && basestrap_args+=(-M)
 | 
			
		||||
 | 
			
		||||
umask 0022
 | 
			
		||||
@@ -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"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,29 +19,6 @@ import ${LIBDIR}/util-chroot.sh
 | 
			
		||||
 | 
			
		||||
shopt -s nullglob
 | 
			
		||||
 | 
			
		||||
init_variables() {
 | 
			
		||||
    default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg)
 | 
			
		||||
    makepkg_args=("${default_makepkg_args[@]}")
 | 
			
		||||
    keepbuilddir=false
 | 
			
		||||
    update_first=false
 | 
			
		||||
    clean_first=false
 | 
			
		||||
    run_namcap=false
 | 
			
		||||
    temp_chroot=false
 | 
			
		||||
    chrootdir=
 | 
			
		||||
    passeddir=
 | 
			
		||||
    makepkg_user=
 | 
			
		||||
    declare -ga install_pkgs
 | 
			
		||||
    declare -gi ret=0
 | 
			
		||||
 | 
			
		||||
    bindmounts_ro=()
 | 
			
		||||
    bindmounts_rw=()
 | 
			
		||||
 | 
			
		||||
    copy=$USER
 | 
			
		||||
    [[ -n ${SUDO_USER:-} ]] && copy=$SUDO_USER
 | 
			
		||||
    [[ -z "$copy" || $copy = root ]] && copy=copy
 | 
			
		||||
    src_owner=${SUDO_USER:-$USER}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
usage() {
 | 
			
		||||
    echo "Usage: ${0##*/} [options] -r <chrootdir> [--] [makepkg args]"
 | 
			
		||||
    echo ' Run this script in a PKGBUILD dir to build a package inside a'
 | 
			
		||||
@@ -169,7 +146,7 @@ prepare_chroot() {
 | 
			
		||||
    local keepbuilddir=$3
 | 
			
		||||
    local run_namcap=$4
 | 
			
		||||
 | 
			
		||||
    $keepbuilddir || rm -rf "$copydir/build"
 | 
			
		||||
    [[ $keepbuilddir = true ]] || rm -rf "$copydir/build"
 | 
			
		||||
 | 
			
		||||
    local builduser_uid="${SUDO_UID:-$UID}"
 | 
			
		||||
    local builduser_gid="$(id -g "$builduser_uid")"
 | 
			
		||||
@@ -208,9 +185,10 @@ EOF
 | 
			
		||||
    {
 | 
			
		||||
        printf '#!/bin/bash\n'
 | 
			
		||||
        declare -f _chrootbuild
 | 
			
		||||
        declare -p SOURCE_DATE_EPOCH 2>/dev/null || true
 | 
			
		||||
        printf '_chrootbuild "$@" || exit\n'
 | 
			
		||||
 | 
			
		||||
        if $run_namcap; then
 | 
			
		||||
        if [[ $run_namcap = true ]]; then
 | 
			
		||||
            declare -f _chrootnamcap
 | 
			
		||||
            printf '_chrootnamcap || exit\n'
 | 
			
		||||
        fi
 | 
			
		||||
@@ -221,10 +199,21 @@ EOF
 | 
			
		||||
# These functions aren't run in makechrootpkg,
 | 
			
		||||
# so no global variables
 | 
			
		||||
_chrootbuild() {
 | 
			
		||||
    exec </dev/console
 | 
			
		||||
    export LANG=en_US.UTF-8
 | 
			
		||||
    # No coredumps
 | 
			
		||||
    ulimit -c 0
 | 
			
		||||
 | 
			
		||||
    # Work around chroot-run not giving a ctty
 | 
			
		||||
    # exec </dev/console
 | 
			
		||||
 | 
			
		||||
    . /etc/profile
 | 
			
		||||
    sudo -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
 | 
			
		||||
 | 
			
		||||
    export LANG=en_US.UTF-8
 | 
			
		||||
 | 
			
		||||
    # workaround meson locale errors
 | 
			
		||||
    # supposedly fixed with coming python-3.7
 | 
			
		||||
    locale-gen &> /dev/null
 | 
			
		||||
 | 
			
		||||
    sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_chrootnamcap() {
 | 
			
		||||
@@ -241,17 +230,16 @@ _chrootnamcap() {
 | 
			
		||||
#  - USER
 | 
			
		||||
download_sources() {
 | 
			
		||||
    local copydir=$1
 | 
			
		||||
    local src_owner=$2
 | 
			
		||||
    local makepkg_user=$2
 | 
			
		||||
 | 
			
		||||
    local builddir="$(mktemp -d)"
 | 
			
		||||
    local builddir
 | 
			
		||||
    builddir="$(mktemp -d)"
 | 
			
		||||
    chmod 1777 "$builddir"
 | 
			
		||||
 | 
			
		||||
    # Ensure sources are downloaded
 | 
			
		||||
    makepkg_user=${makepkg_user:-$SUDO_USER}
 | 
			
		||||
    sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
 | 
			
		||||
    makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o ||
 | 
			
		||||
    die "Could not download sources."
 | 
			
		||||
    (( $? != 0 )) && die "Could not download sources."
 | 
			
		||||
        makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o ||
 | 
			
		||||
        die "Could not download sources."
 | 
			
		||||
 | 
			
		||||
    # Clean up garbage from verifysource
 | 
			
		||||
    rm -rf "$builddir"
 | 
			
		||||
@@ -286,6 +274,11 @@ move_products() {
 | 
			
		||||
    for s in "$copydir"/srcpkgdest/*; do
 | 
			
		||||
        chown "$src_owner" "$s"
 | 
			
		||||
        mv "$s" "$SRCPKGDEST"
 | 
			
		||||
 | 
			
		||||
        # Fix broken symlink because of temporary chroot SRCPKGDEST /srcpkgdest
 | 
			
		||||
        if [[ "$PWD" != "$SRCPKGDEST" && -L "$PWD/${s##*/}" ]]; then
 | 
			
		||||
            ln -sf "$SRCPKGDEST/${s##*/}"
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
}
 | 
			
		||||
# }}}
 | 
			
		||||
@@ -293,7 +286,26 @@ move_products() {
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
main() {
 | 
			
		||||
    init_variables
 | 
			
		||||
    default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg)
 | 
			
		||||
    makepkg_args=("${default_makepkg_args[@]}")
 | 
			
		||||
    keepbuilddir=false
 | 
			
		||||
    update_first=false
 | 
			
		||||
    clean_first=false
 | 
			
		||||
    run_namcap=false
 | 
			
		||||
    temp_chroot=false
 | 
			
		||||
    chrootdir=
 | 
			
		||||
    passeddir=
 | 
			
		||||
    makepkg_user=
 | 
			
		||||
    declare -ga install_pkgs
 | 
			
		||||
    declare -gi ret=0
 | 
			
		||||
 | 
			
		||||
    bindmounts_ro=()
 | 
			
		||||
    bindmounts_rw=()
 | 
			
		||||
 | 
			
		||||
    copy=$USER
 | 
			
		||||
    [[ -n ${SUDO_USER:-} ]] && copy=$SUDO_USER
 | 
			
		||||
    [[ -z "$copy" || $copy = root ]] && copy=copy
 | 
			
		||||
    src_owner=${SUDO_USER:-$USER}
 | 
			
		||||
 | 
			
		||||
    local opts='hcur:I:l:nTD:d:U:'
 | 
			
		||||
 | 
			
		||||
@@ -380,7 +392,7 @@ main() {
 | 
			
		||||
 | 
			
		||||
    download_sources "$copydir" "$src_owner"
 | 
			
		||||
 | 
			
		||||
    prepare_chroot "$copydir" "$USER_HOME" "$keepbuilddir"
 | 
			
		||||
    prepare_chroot "$copydir" "$USER_HOME" "$keepbuilddir" "$run_namcap"
 | 
			
		||||
 | 
			
		||||
    bindmounts_rw+=("${PWD}:/startdir" "${SRCDEST}:/srcdest")
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										274
									
								
								data/Jenkinsfile.galaxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										274
									
								
								data/Jenkinsfile.galaxy
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,274 @@
 | 
			
		||||
def ADD_REPO = ''
 | 
			
		||||
def RM_REPO = ''
 | 
			
		||||
def IS_ADD = 'false'
 | 
			
		||||
def IS_REMOVE = 'false'
 | 
			
		||||
def IS_BUILD = 'false'
 | 
			
		||||
def PKG_TRUNK = ''
 | 
			
		||||
def PKG_PATH = ''
 | 
			
		||||
 | 
			
		||||
pipeline {
 | 
			
		||||
    agent any
 | 
			
		||||
    options {
 | 
			
		||||
        skipDefaultCheckout()
 | 
			
		||||
        timestamps()
 | 
			
		||||
    }
 | 
			
		||||
    stages {
 | 
			
		||||
        stage('Checkout') {
 | 
			
		||||
            steps {
 | 
			
		||||
                script {
 | 
			
		||||
                    checkout scm
 | 
			
		||||
 | 
			
		||||
                    def currentCommit = sh(returnStdout: true, script: 'git rev-parse @').trim()
 | 
			
		||||
                    echo "currentCommit: ${currentCommit}"
 | 
			
		||||
 | 
			
		||||
                    def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n')
 | 
			
		||||
                    def changedPkgStatus = []
 | 
			
		||||
                    def pkgPath = []
 | 
			
		||||
                    int entryCount = 0
 | 
			
		||||
                    for ( int i = 0; i < changedFilesStatus.size(); i++ ) {
 | 
			
		||||
                        def entry = changedFilesStatus[i].split()
 | 
			
		||||
                        def fileStatus = entry[0]
 | 
			
		||||
                        entryCount = entry.size()
 | 
			
		||||
                        for ( int j = 1; j < entry.size(); j++ ) {
 | 
			
		||||
                            if ( entry[j].contains('/PKGBUILD') && entry[j].contains('/repos') ){
 | 
			
		||||
                                changedPkgStatus << "${fileStatus} " + entry[j].minus('/PKGBUILD')
 | 
			
		||||
                                pkgPath << entry[j].minus('/PKGBUILD')
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    int pkgCount = changedPkgStatus.size()
 | 
			
		||||
                    int pkgPathCount = pkgPath.size()
 | 
			
		||||
                    echo "pkgCount: ${pkgCount}"
 | 
			
		||||
                    echo "entryCount: ${entryCount}"
 | 
			
		||||
                    echo "pkgPathCount: ${pkgPathCount}"
 | 
			
		||||
                    echo "changedPkgStatus: ${changedPkgStatus}"
 | 
			
		||||
 | 
			
		||||
                    if ( pkgCount > 0 ) {
 | 
			
		||||
 | 
			
		||||
                        if ( entryCount == 2 && pkgCount == 2 ) {
 | 
			
		||||
                            def pkgEntry1 = changedPkgStatus[0].split()
 | 
			
		||||
                            def pkgEntry2 = changedPkgStatus[1].split()
 | 
			
		||||
                            def srcPath = []
 | 
			
		||||
                            def pkgStatus = []
 | 
			
		||||
                            srcPath << pkgEntry1[1]
 | 
			
		||||
                            srcPath << pkgEntry2[1]
 | 
			
		||||
                            pkgStatus << pkgEntry1[0]
 | 
			
		||||
                            pkgStatus << pkgEntry2[0]
 | 
			
		||||
                            def buildInfo1 = srcPath[0].tokenize('/')
 | 
			
		||||
                            def buildInfo2 = srcPath[1].tokenize('/')
 | 
			
		||||
 | 
			
		||||
                            if ( pkgStatus[0] == "M" ) {
 | 
			
		||||
                                IS_ADD = 'true'
 | 
			
		||||
                                if ( srcPath[0].contains('community-testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                } else if ( srcPath[0].contains('community-x86_64') || srcPath[0].contains('community-any') ) {
 | 
			
		||||
                                    ADD_REPO = 'galaxy'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( srcPath[0].contains('multilib-testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'lib32-gremlins'
 | 
			
		||||
                                } else if ( srcPath[0].contains('multilib-x86_64') ) {
 | 
			
		||||
                                    ADD_REPO = 'lib32'
 | 
			
		||||
                                }
 | 
			
		||||
                            } else if ( pkgStatus[1] == "M" ) {
 | 
			
		||||
                                IS_ADD = 'true'
 | 
			
		||||
                                if ( srcPath[1].contains('community-testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                } else if ( srcPath[1].contains('community-x86_64') || srcPath[1].contains('community-any') ) {
 | 
			
		||||
                                    ADD_REPO = 'galaxy'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( srcPath[1].contains('multilib-testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'lib32-gremlins'
 | 
			
		||||
                                } else if ( srcPath[1].contains('multilib-x86_64') ) {
 | 
			
		||||
                                    ADD_REPO = 'lib32'
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            if ( pkgStatus[0] == "D" ) {
 | 
			
		||||
                                IS_REMOVE = 'true'
 | 
			
		||||
                                if ( srcPath[0].contains('community-testing') ) {
 | 
			
		||||
                                    RM_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                } else if ( srcPath[0].contains('community-x86_64') || srcPath[0].contains('community-any') ) {
 | 
			
		||||
                                    RM_REPO = 'galaxy'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( srcPath[0].contains('multilib-testing') ) {
 | 
			
		||||
                                    RM_REPO = 'lib32-gremlins'
 | 
			
		||||
                                } else if ( srcPath[0].contains('multilib-x86_64') ) {
 | 
			
		||||
                                    RM_REPO = 'lib32'
 | 
			
		||||
                                }
 | 
			
		||||
                            } else if ( pkgStatus[1] == "D" ) {
 | 
			
		||||
                                IS_REMOVE = 'true'
 | 
			
		||||
                                if ( srcPath[1].contains('community-testing') ) {
 | 
			
		||||
                                    RM_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                } else if ( srcPath[1].contains('community-x86_64') || srcPath[1].contains('community-any') ) {
 | 
			
		||||
                                    RM_REPO = 'galaxy'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( srcPath[1].contains('multilib-testing') ) {
 | 
			
		||||
                                    RM_REPO = 'lib32-gremlins'
 | 
			
		||||
                                } else if ( srcPath[1].contains('multilib-x86_64') ) {
 | 
			
		||||
                                    RM_REPO = 'lib32'
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                            PKG_TRUNK = buildInfo1[0] + '/trunk'
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        if ( entryCount == 3 && pkgCount == 2 ) {
 | 
			
		||||
                            def pkgEntry = changedPkgStatus[0].split()
 | 
			
		||||
                            def pkgStatus = pkgEntry[0]
 | 
			
		||||
                            def buildInfo1 = pkgPath[0].tokenize('/')
 | 
			
		||||
                            def buildInfo2 = pkgPath[1].tokenize('/')
 | 
			
		||||
 | 
			
		||||
                            if ( pkgStatus.contains('R') ) {
 | 
			
		||||
                                IS_ADD = 'true'
 | 
			
		||||
                                IS_REMOVE = 'true'
 | 
			
		||||
 | 
			
		||||
                                if ( pkgPath[0].contains('community-staging') && pkgPath[1].contains('community-testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                    RM_REPO = 'galaxy-goblins'
 | 
			
		||||
                                } else if ( pkgPath[0].contains('community-testing') && pkgPath[1].contains('community-staging') ) {
 | 
			
		||||
                                    ADD_REPO = 'galaxy-goblins'
 | 
			
		||||
                                    RM_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if ( pkgPath[0].contains('community-testing') && pkgPath[1].contains('community-x86_64') || pkgPath[0].contains('community-any') ) {
 | 
			
		||||
                                    ADD_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                    RM_REPO = 'galaxy'
 | 
			
		||||
                                } else if ( pkgPath[0].contains('community-x86_64') || pkgPath[0].contains('community-any') && pkgPath[1].contains('community-testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'galaxy'
 | 
			
		||||
                                    RM_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if ( pkgPath[0].contains('multilib-staging') && pkgPath[1].contains('multilib-testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'lib32-gremlins'
 | 
			
		||||
                                    RM_REPO = 'lib32-goblins'
 | 
			
		||||
                                } else if ( pkgPath[0].contains('multilib-testing') && pkgPath[1].contains('multilib-staging') ) {
 | 
			
		||||
                                    ADD_REPO = 'lib32-goblins'
 | 
			
		||||
                                    RM_REPO = 'lib32-gremlins'
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if ( pkgPath[0].contains('multilib-testing') && pkgPath[1].contains('multilib-x86_64') ) {
 | 
			
		||||
                                    ADD_REPO = 'lib32'
 | 
			
		||||
                                    RM_REPO = 'lib32-gremlins'
 | 
			
		||||
                                } else if ( pkgPath[0].contains('multilib-x86_64') && pkgPath[1].contains('multilib-testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'lib32-gremlins'
 | 
			
		||||
                                    RM_REPO = 'lib32'
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            PKG_TRUNK = buildInfo1[0] + '/trunk'
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        if ( pkgCount == 1 ) {
 | 
			
		||||
                            def pkgEntry = changedPkgStatus[0].split()
 | 
			
		||||
                            def pkgStatus = pkgEntry[0]
 | 
			
		||||
                            def srcPath = pkgEntry[1]
 | 
			
		||||
                            def buildInfo = srcPath.tokenize('/')
 | 
			
		||||
 | 
			
		||||
                            if ( srcPath.contains('community-staging') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'galaxy-goblins'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            } else if ( srcPath.contains('community-testing') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'galaxy-gremlins'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            } else if ( srcPath.contains('community-x86_64') || srcPath.contains('community-any') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'galaxy'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            }
 | 
			
		||||
                            if ( srcPath.contains('multilib-staging') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'lib32-goblins'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            } else if ( srcPath.contains('multilib-testing') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'lib32-gremlins'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            } else if ( srcPath.contains('multilib-x86_64') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'lib32'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            }
 | 
			
		||||
                            PKG_PATH = srcPath
 | 
			
		||||
                            PKG_TRUNK = buildInfo[0] + '/trunk'
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        stage('Build') {
 | 
			
		||||
            environment {
 | 
			
		||||
                BUILDBOT_GPGP = credentials('BUILDBOT_GPGP')
 | 
			
		||||
            }
 | 
			
		||||
            when {
 | 
			
		||||
                expression { return  IS_BUILD == 'true' }
 | 
			
		||||
            }
 | 
			
		||||
            steps {
 | 
			
		||||
                dir("${PKG_PATH}") {
 | 
			
		||||
                    sh "buildpkg -r ${ADD_REPO}"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            post {
 | 
			
		||||
                success {
 | 
			
		||||
                    dir("${PKG_PATH}") {
 | 
			
		||||
                        sh "deploypkg -a -d ${ADD_REPO} -s"
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        stage('Add') {
 | 
			
		||||
            when {
 | 
			
		||||
                expression { return  IS_ADD == 'true' }
 | 
			
		||||
            }
 | 
			
		||||
            steps {
 | 
			
		||||
                dir("${PKG_TRUNK}") {
 | 
			
		||||
                    sh "deploypkg -a -d ${ADD_REPO}"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        stage('Remove') {
 | 
			
		||||
            when {
 | 
			
		||||
                expression { return  IS_REMOVE == 'true' }
 | 
			
		||||
            }
 | 
			
		||||
            steps {
 | 
			
		||||
                dir("${PKG_TRUNK}") {
 | 
			
		||||
                    sh "deploypkg -r -d ${RM_REPO}"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										241
									
								
								data/Jenkinsfile.packages
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										241
									
								
								data/Jenkinsfile.packages
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,241 @@
 | 
			
		||||
def ADD_REPO = ''
 | 
			
		||||
def RM_REPO = ''
 | 
			
		||||
def IS_ADD = 'false'
 | 
			
		||||
def IS_REMOVE = 'false'
 | 
			
		||||
def IS_BUILD = 'false'
 | 
			
		||||
def PKG_TRUNK = ''
 | 
			
		||||
def PKG_PATH = ''
 | 
			
		||||
 | 
			
		||||
pipeline {
 | 
			
		||||
    agent any
 | 
			
		||||
    options {
 | 
			
		||||
        skipDefaultCheckout()
 | 
			
		||||
        timestamps()
 | 
			
		||||
    }
 | 
			
		||||
    stages {
 | 
			
		||||
        stage('Checkout') {
 | 
			
		||||
            steps {
 | 
			
		||||
                script {
 | 
			
		||||
                    checkout scm
 | 
			
		||||
 | 
			
		||||
                    def currentCommit = sh(returnStdout: true, script: 'git rev-parse @').trim()
 | 
			
		||||
                    echo "currentCommit: ${currentCommit}"
 | 
			
		||||
 | 
			
		||||
                    def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n')
 | 
			
		||||
                    def changedPkgStatus = []
 | 
			
		||||
                    def pkgPath = []
 | 
			
		||||
                    int entryCount = 0
 | 
			
		||||
                    for ( int i = 0; i < changedFilesStatus.size(); i++ ) {
 | 
			
		||||
                        def entry = changedFilesStatus[i].split()
 | 
			
		||||
                        def fileStatus = entry[0]
 | 
			
		||||
                        entryCount = entry.size()
 | 
			
		||||
                        for ( int j = 1; j < entry.size(); j++ ) {
 | 
			
		||||
                            if ( entry[j].contains('/PKGBUILD') && entry[j].contains('/repos') ){
 | 
			
		||||
                                changedPkgStatus << "${fileStatus} " + entry[j].minus('/PKGBUILD')
 | 
			
		||||
                                pkgPath << entry[j].minus('/PKGBUILD')
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    int pkgCount = changedPkgStatus.size()
 | 
			
		||||
                    int pkgPathCount = pkgPath.size()
 | 
			
		||||
                    echo "pkgCount: ${pkgCount}"
 | 
			
		||||
                    echo "entryCount: ${entryCount}"
 | 
			
		||||
                    echo "pkgPathCount: ${pkgPathCount}"
 | 
			
		||||
                    echo "changedPkgStatus: ${changedPkgStatus}"
 | 
			
		||||
 | 
			
		||||
                    if ( pkgCount > 0 ) {
 | 
			
		||||
 | 
			
		||||
                        if ( entryCount == 2 && pkgCount == 2 ) {
 | 
			
		||||
                            def pkgEntry1 = changedPkgStatus[0].split()
 | 
			
		||||
                            def pkgEntry2 = changedPkgStatus[1].split()
 | 
			
		||||
                            def srcPath = []
 | 
			
		||||
                            def pkgStatus = []
 | 
			
		||||
                            srcPath << pkgEntry1[1]
 | 
			
		||||
                            srcPath << pkgEntry2[1]
 | 
			
		||||
                            pkgStatus << pkgEntry1[0]
 | 
			
		||||
                            pkgStatus << pkgEntry2[0]
 | 
			
		||||
                            def buildInfo1 = srcPath[0].tokenize('/')
 | 
			
		||||
                            def buildInfo2 = srcPath[1].tokenize('/')
 | 
			
		||||
 | 
			
		||||
                            if ( pkgStatus[0] == 'M' ) {
 | 
			
		||||
                                IS_ADD = 'true'
 | 
			
		||||
                                if ( srcPath[0].contains('testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'gremlins'
 | 
			
		||||
                                } else if ( srcPath[0].contains('core') ) {
 | 
			
		||||
                                    ADD_REPO = 'system'
 | 
			
		||||
                                } else if ( srcPath[0].contains('extra') ) {
 | 
			
		||||
                                    ADD_REPO = 'world'
 | 
			
		||||
                                }
 | 
			
		||||
                            } else if ( pkgStatus[1] == 'M' ) {
 | 
			
		||||
                                IS_ADD = 'true'
 | 
			
		||||
                                if ( srcPath[1].contains('testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'gremlins'
 | 
			
		||||
                                } else if ( srcPath[1].contains('core') ) {
 | 
			
		||||
                                    ADD_REPO = ''
 | 
			
		||||
                                } else if ( srcPath[1].contains('extra') ) {
 | 
			
		||||
                                    ADD_REPO = 'world'
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            if ( pkgStatus[0] == 'D' ) {
 | 
			
		||||
                                IS_REMOVE = 'true'
 | 
			
		||||
                                if ( srcPath[0].contains('testing') ) {
 | 
			
		||||
                                    RM_REPO = 'gremlins'
 | 
			
		||||
                                } else if ( srcPath[0].contains('core') ) {
 | 
			
		||||
                                    RM_REPO = 'system'
 | 
			
		||||
                                } else if ( srcPath[0].contains('extra') ) {
 | 
			
		||||
                                    RM_REPO = 'world'
 | 
			
		||||
                                }
 | 
			
		||||
                            } else if ( pkgStatus[1] == 'D' ) {
 | 
			
		||||
                                IS_REMOVE = 'true'
 | 
			
		||||
                                if ( srcPath[1].contains('testing') ) {
 | 
			
		||||
                                    RM_REPO = 'gremlins'
 | 
			
		||||
                                } else if ( srcPath[1].contains('core') ) {
 | 
			
		||||
                                    RM_REPO = 'system'
 | 
			
		||||
                                } else if ( srcPath[1].contains('extra') ) {
 | 
			
		||||
                                    RM_REPO = 'world'
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            PKG_TRUNK = buildInfo1[0] + '/trunk'
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        if ( entryCount == 3 && pkgCount == 2 ) {
 | 
			
		||||
                            def pkgEntry = changedPkgStatus[0].split()
 | 
			
		||||
                            def pkgStatus = pkgEntry[0]
 | 
			
		||||
                            def buildInfo1 = pkgPath[0].tokenize('/')
 | 
			
		||||
                            def buildInfo2 = pkgPath[1].tokenize('/')
 | 
			
		||||
 | 
			
		||||
                            if ( pkgStatus.contains('R') ) {
 | 
			
		||||
                                IS_ADD = 'true'
 | 
			
		||||
                                IS_REMOVE = 'true'
 | 
			
		||||
 | 
			
		||||
                                if ( pkgPath[0].contains('staging') && pkgPath[1].contains('testing') ) {
 | 
			
		||||
                                    ADD_REPO = 'gremlins'
 | 
			
		||||
                                    RM_REPO = 'goblins'
 | 
			
		||||
                                } else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('staging') ) {
 | 
			
		||||
                                    ADD_REPO = 'goblins'
 | 
			
		||||
                                    RM_REPO = 'gremlins'
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if ( pkgPath[0].contains('core') && pkgPath[1].contains('testing')) {
 | 
			
		||||
                                    ADD_REPO = 'gremlins'
 | 
			
		||||
                                    RM_REPO = 'system'
 | 
			
		||||
                                } else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('core')) {
 | 
			
		||||
                                    ADD_REPO = 'system'
 | 
			
		||||
                                    RM_REPO = 'gremlins'
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if ( pkgPath[0].contains('extra') && pkgPath[1].contains('testing')) {
 | 
			
		||||
                                    ADD_REPO = 'gremlins'
 | 
			
		||||
                                    RM_REPO = 'world'
 | 
			
		||||
                                } else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('extra')) {
 | 
			
		||||
                                    ADD_REPO = 'world'
 | 
			
		||||
                                    RM_REPO = 'gremlins'
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if ( pkgPath[0].contains('core') && pkgPath[1].contains('extra')) {
 | 
			
		||||
                                    ADD_REPO = 'world'
 | 
			
		||||
                                    RM_REPO = 'system'
 | 
			
		||||
                                } else if ( pkgPath[0].contains('extra') && pkgPath[1].contains('core')) {
 | 
			
		||||
                                    ADD_REPO = 'system'
 | 
			
		||||
                                    RM_REPO = 'world'
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            PKG_TRUNK = buildInfo1[0] + '/trunk'
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        if ( pkgCount == 1 ) {
 | 
			
		||||
                            def pkgEntry = changedPkgStatus[0].split()
 | 
			
		||||
                            def pkgStatus = pkgEntry[0]
 | 
			
		||||
                            def srcPath = pkgEntry[1]
 | 
			
		||||
                            def buildInfo = srcPath.tokenize('/')
 | 
			
		||||
 | 
			
		||||
                            if ( srcPath.contains('staging') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'goblins'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            } else if ( srcPath.contains('testing') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'gremlins'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            } else if ( srcPath.contains('core') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'system'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            } else if ( srcPath.contains('extra') ) {
 | 
			
		||||
                                if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
 | 
			
		||||
                                    IS_BUILD = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                if ( pkgStatus == 'D' ) {
 | 
			
		||||
                                    IS_REMOVE = 'true'
 | 
			
		||||
                                }
 | 
			
		||||
                                ADD_REPO = 'world'
 | 
			
		||||
                                RM_REPO = ADD_REPO
 | 
			
		||||
                            }
 | 
			
		||||
                            PKG_PATH = srcPath
 | 
			
		||||
                            PKG_TRUNK = buildInfo[0] + '/trunk'
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        stage('Build') {
 | 
			
		||||
            environment {
 | 
			
		||||
                BUILDBOT_GPGP = credentials('BUILDBOT_GPGP')
 | 
			
		||||
            }
 | 
			
		||||
            when {
 | 
			
		||||
                expression { return  IS_BUILD == 'true' }
 | 
			
		||||
            }
 | 
			
		||||
            steps {
 | 
			
		||||
                dir("${PKG_PATH}") {
 | 
			
		||||
                    sh "buildpkg -r ${ADD_REPO}"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            post {
 | 
			
		||||
                success {
 | 
			
		||||
                    dir("${PKG_PATH}") {
 | 
			
		||||
                        sh "deploypkg -a -d ${ADD_REPO} -s"
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        stage('Add') {
 | 
			
		||||
            when {
 | 
			
		||||
                expression { return  IS_ADD == 'true' }
 | 
			
		||||
            }
 | 
			
		||||
            steps {
 | 
			
		||||
                dir("${PKG_TRUNK}") {
 | 
			
		||||
                    sh "deploypkg -a -d ${ADD_REPO}"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        stage('Remove') {
 | 
			
		||||
            when {
 | 
			
		||||
                expression { return  IS_REMOVE == 'true' }
 | 
			
		||||
            }
 | 
			
		||||
            steps {
 | 
			
		||||
                dir("${PKG_TRUNK}") {
 | 
			
		||||
                    sh "deploypkg -r -d ${RM_REPO}"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -2,9 +2,6 @@
 | 
			
		||||
################ artools-base ###############
 | 
			
		||||
#############################################
 | 
			
		||||
 | 
			
		||||
# default taget arch: auto detect
 | 
			
		||||
# target_arch=$(uname -m)
 | 
			
		||||
 | 
			
		||||
# build dir where buildpkg or buildiso chroots are created
 | 
			
		||||
# chroots_dir=/var/lib/artools
 | 
			
		||||
 | 
			
		||||
@@ -15,14 +12,8 @@
 | 
			
		||||
################ artools-pkg ################
 | 
			
		||||
#############################################
 | 
			
		||||
 | 
			
		||||
# artix package tree
 | 
			
		||||
# repo_tree_artix=('system' 'world' 'galaxy' 'lib32')
 | 
			
		||||
 | 
			
		||||
# host_tree_artix='https://github.com/artix-linux'
 | 
			
		||||
 | 
			
		||||
# archlinux package tree
 | 
			
		||||
# repo_tree_arch=('packages' 'community')
 | 
			
		||||
 | 
			
		||||
# host_tree_arch=git://projects.archlinux.org/svntogit
 | 
			
		||||
 | 
			
		||||
# default repos root
 | 
			
		||||
@@ -32,6 +23,9 @@
 | 
			
		||||
################ artools-iso ################
 | 
			
		||||
#############################################
 | 
			
		||||
 | 
			
		||||
# the iso storage directory
 | 
			
		||||
# iso_pool="${workspace_dir}/iso"
 | 
			
		||||
 | 
			
		||||
# the dist release; default: auto
 | 
			
		||||
# iso_version=$(date +%Y%m%d)
 | 
			
		||||
 | 
			
		||||
@@ -41,11 +35,14 @@
 | 
			
		||||
# unset defaults to given value
 | 
			
		||||
# kernel="linux-lts"
 | 
			
		||||
 | 
			
		||||
# custom additional kernel args
 | 
			
		||||
# kernel_args=""
 | 
			
		||||
 | 
			
		||||
# gpg key; leave empty or commented to skip sfs signing
 | 
			
		||||
# gpgkey=""
 | 
			
		||||
 | 
			
		||||
# set upload bandwidth limit in kB/s
 | 
			
		||||
# limit=100
 | 
			
		||||
# uplimit=100
 | 
			
		||||
 | 
			
		||||
# the torrent tracker urls, comma separated
 | 
			
		||||
# tracker_url='udp://mirror.strits.dk:6969'
 | 
			
		||||
 
 | 
			
		||||
@@ -6,4 +6,3 @@ artix-live-portable-efi
 | 
			
		||||
virtualbox-guest-modules-artix
 | 
			
		||||
virtualbox-guest-utils
 | 
			
		||||
linux-lts-headers
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -59,6 +59,7 @@ ntfs-3g
 | 
			
		||||
>openrc nfs-utils-openrc
 | 
			
		||||
>openrc rsync-openrc
 | 
			
		||||
>openrc wpa_supplicant-openrc
 | 
			
		||||
>openrc opentmpfiles
 | 
			
		||||
os-prober
 | 
			
		||||
pacman
 | 
			
		||||
pciutils
 | 
			
		||||
@@ -77,7 +78,7 @@ texinfo
 | 
			
		||||
usbutils
 | 
			
		||||
util-linux
 | 
			
		||||
which
 | 
			
		||||
>x86_64 efibootmgr
 | 
			
		||||
efibootmgr
 | 
			
		||||
xfsprogs
 | 
			
		||||
zd1211-firmware
 | 
			
		||||
zsh
 | 
			
		||||
 
 | 
			
		||||
@@ -8,8 +8,7 @@
 | 
			
		||||
# autologin="true"
 | 
			
		||||
 | 
			
		||||
# service runlevels
 | 
			
		||||
# openrc_boot=('elogind')
 | 
			
		||||
# openrc_default=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
 | 
			
		||||
# services=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
 | 
			
		||||
 | 
			
		||||
# default values
 | 
			
		||||
# addgroups="video,power,storage,optical,network,lp,scanner,wheel,users"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
autoconf-archive
 | 
			
		||||
confuse
 | 
			
		||||
libappindicator
 | 
			
		||||
libdbusmenu
 | 
			
		||||
libftdi
 | 
			
		||||
libindicator
 | 
			
		||||
libdbi
 | 
			
		||||
libpgm
 | 
			
		||||
libsodium
 | 
			
		||||
zeromq
 | 
			
		||||
jansson
 | 
			
		||||
libnewt
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
lib32-glibc
 | 
			
		||||
gcc-multilib
 | 
			
		||||
llvm
 | 
			
		||||
@@ -1,151 +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
 | 
			
		||||
libksba
 | 
			
		||||
libmnl
 | 
			
		||||
libmpc
 | 
			
		||||
libnftnl
 | 
			
		||||
libnghttp2
 | 
			
		||||
libnl
 | 
			
		||||
libpcap
 | 
			
		||||
libpipeline
 | 
			
		||||
libpsl
 | 
			
		||||
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
 | 
			
		||||
@@ -1,231 +0,0 @@
 | 
			
		||||
libasyncns
 | 
			
		||||
libblockdev
 | 
			
		||||
libbytesize
 | 
			
		||||
libcap-ng
 | 
			
		||||
libcroco
 | 
			
		||||
libdaemon
 | 
			
		||||
libdatrie
 | 
			
		||||
libdrm
 | 
			
		||||
libepoxy
 | 
			
		||||
libexif
 | 
			
		||||
libfontenc
 | 
			
		||||
libglvnd
 | 
			
		||||
libgphoto2
 | 
			
		||||
libical
 | 
			
		||||
libice
 | 
			
		||||
libieee1284
 | 
			
		||||
libimobiledevice
 | 
			
		||||
libiscsi
 | 
			
		||||
libjpeg-turbo
 | 
			
		||||
libomxil-bellagio
 | 
			
		||||
libpaper
 | 
			
		||||
libpciaccess
 | 
			
		||||
libplist
 | 
			
		||||
libpng
 | 
			
		||||
libproxy
 | 
			
		||||
librsvg
 | 
			
		||||
libsm
 | 
			
		||||
libthai
 | 
			
		||||
libtiff
 | 
			
		||||
libtxc_dxtn
 | 
			
		||||
libunwind
 | 
			
		||||
libusb-compat
 | 
			
		||||
libusbmuxd
 | 
			
		||||
libwebp
 | 
			
		||||
libx11
 | 
			
		||||
libxau
 | 
			
		||||
libxaw
 | 
			
		||||
libxcb
 | 
			
		||||
libxcomposite
 | 
			
		||||
libxcursor
 | 
			
		||||
libxdamage
 | 
			
		||||
libxdmcp
 | 
			
		||||
libxext
 | 
			
		||||
libxfixes
 | 
			
		||||
libxfont
 | 
			
		||||
libxfont2
 | 
			
		||||
libxft
 | 
			
		||||
libxi
 | 
			
		||||
libxinerama
 | 
			
		||||
libxkbcommon
 | 
			
		||||
libxkbfile
 | 
			
		||||
libxml2
 | 
			
		||||
libxmu
 | 
			
		||||
libxpm
 | 
			
		||||
libxrandr
 | 
			
		||||
libxrender
 | 
			
		||||
libxshmfence
 | 
			
		||||
libxslt
 | 
			
		||||
libxt
 | 
			
		||||
libxtst
 | 
			
		||||
libxxf86vm
 | 
			
		||||
libgusb
 | 
			
		||||
liblouis
 | 
			
		||||
libraqm
 | 
			
		||||
liblqr
 | 
			
		||||
libuv
 | 
			
		||||
libqmi
 | 
			
		||||
glib-networking
 | 
			
		||||
gsettings-desktop-schemas
 | 
			
		||||
slang
 | 
			
		||||
dbus-python
 | 
			
		||||
lirc
 | 
			
		||||
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
 | 
			
		||||
adwaita-icon-theme
 | 
			
		||||
alsa-lib
 | 
			
		||||
apr
 | 
			
		||||
apr-util
 | 
			
		||||
atk
 | 
			
		||||
at-spi2-atk
 | 
			
		||||
at-spi2-core
 | 
			
		||||
boost
 | 
			
		||||
cairo
 | 
			
		||||
cantarell-fonts
 | 
			
		||||
check
 | 
			
		||||
compositeproto
 | 
			
		||||
damageproto
 | 
			
		||||
dbus-glib
 | 
			
		||||
dconf
 | 
			
		||||
desktop-file-utils
 | 
			
		||||
docbook-dsssl
 | 
			
		||||
docbook-sgml31
 | 
			
		||||
docbook-utils
 | 
			
		||||
docbook-xml
 | 
			
		||||
docbook-xsl
 | 
			
		||||
double-conversion
 | 
			
		||||
doxygen
 | 
			
		||||
eventlog
 | 
			
		||||
fixesproto
 | 
			
		||||
fontconfig
 | 
			
		||||
fontsproto
 | 
			
		||||
freetype2
 | 
			
		||||
gd
 | 
			
		||||
gdk-pixbuf2
 | 
			
		||||
ghostscript
 | 
			
		||||
giflib
 | 
			
		||||
gnome-common
 | 
			
		||||
gobject-introspection
 | 
			
		||||
gptfdisk
 | 
			
		||||
graphite
 | 
			
		||||
graphviz
 | 
			
		||||
gsfonts
 | 
			
		||||
gtk3
 | 
			
		||||
gtk-doc
 | 
			
		||||
gts
 | 
			
		||||
harfbuzz
 | 
			
		||||
hicolor-icon-theme
 | 
			
		||||
ijs
 | 
			
		||||
inputproto
 | 
			
		||||
intltool
 | 
			
		||||
itstool
 | 
			
		||||
jasper
 | 
			
		||||
jbig2dec
 | 
			
		||||
json-glib
 | 
			
		||||
kbproto
 | 
			
		||||
lcms2
 | 
			
		||||
mesa
 | 
			
		||||
mtdev
 | 
			
		||||
net-snmp
 | 
			
		||||
openjade
 | 
			
		||||
opensp
 | 
			
		||||
pango
 | 
			
		||||
parted
 | 
			
		||||
pcre2
 | 
			
		||||
perl-error
 | 
			
		||||
perl-xml-parser
 | 
			
		||||
perl-yaml
 | 
			
		||||
pixman
 | 
			
		||||
python2
 | 
			
		||||
python
 | 
			
		||||
python-appdirs
 | 
			
		||||
python-beaker
 | 
			
		||||
python-mako
 | 
			
		||||
python-markupsafe
 | 
			
		||||
python-packaging
 | 
			
		||||
python-pyparsing
 | 
			
		||||
python-setuptools
 | 
			
		||||
python-six
 | 
			
		||||
randrproto
 | 
			
		||||
recordproto
 | 
			
		||||
renderproto
 | 
			
		||||
serf
 | 
			
		||||
sgml-common
 | 
			
		||||
shared-mime-info
 | 
			
		||||
source-highlight
 | 
			
		||||
speexdsp
 | 
			
		||||
tslib
 | 
			
		||||
v4l-utils
 | 
			
		||||
vala
 | 
			
		||||
valgrind
 | 
			
		||||
volume_key
 | 
			
		||||
vte3
 | 
			
		||||
vte
 | 
			
		||||
wayland
 | 
			
		||||
wayland-protocols
 | 
			
		||||
xcb-proto
 | 
			
		||||
xcb-util
 | 
			
		||||
xcb-util-image
 | 
			
		||||
xcb-util-keysyms
 | 
			
		||||
xcb-util-renderutil
 | 
			
		||||
xcb-util-wm
 | 
			
		||||
xextproto
 | 
			
		||||
xf86vidmodeproto
 | 
			
		||||
xineramaproto
 | 
			
		||||
xkeyboard-config
 | 
			
		||||
xorg-bdftopcf
 | 
			
		||||
xorg-fonts-alias
 | 
			
		||||
xorg-fonts-encodings
 | 
			
		||||
xorg-fonts-misc
 | 
			
		||||
xorg-font-util
 | 
			
		||||
xorg-font-utils
 | 
			
		||||
xorg-mkfontdir
 | 
			
		||||
xorg-mkfontscale
 | 
			
		||||
xorg-setxkbmap
 | 
			
		||||
xorg-xkbcomp
 | 
			
		||||
xproto
 | 
			
		||||
yelp-tools
 | 
			
		||||
yelp-xsl
 | 
			
		||||
cmake
 | 
			
		||||
jemalloc
 | 
			
		||||
jsoncpp
 | 
			
		||||
fribidi
 | 
			
		||||
js
 | 
			
		||||
imagemagick
 | 
			
		||||
poppler
 | 
			
		||||
bc
 | 
			
		||||
xdg-utils
 | 
			
		||||
xf86-input-libinput
 | 
			
		||||
@@ -1,14 +0,0 @@
 | 
			
		||||
# mkinitcpio preset file for the 'linux' package
 | 
			
		||||
 | 
			
		||||
ALL_config="/etc/mkinitcpio.conf"
 | 
			
		||||
ALL_kver="/boot/vmlinuz-@kernel@-@arch@"
 | 
			
		||||
 | 
			
		||||
PRESETS=('default' 'fallback')
 | 
			
		||||
 | 
			
		||||
#default_config="/etc/mkinitcpio.conf"
 | 
			
		||||
default_image="/boot/initramfs-@kernel@-@arch@.img"
 | 
			
		||||
#default_options=""
 | 
			
		||||
 | 
			
		||||
#fallback_config="/etc/mkinitcpio.conf"
 | 
			
		||||
fallback_image="/boot/initramfs-@kernel@-@arch@-fallback.img"
 | 
			
		||||
fallback_options="-S autodetect"
 | 
			
		||||
@@ -1,147 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
# /etc/makepkg.conf
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
#########################################################################
 | 
			
		||||
# SOURCE ACQUISITION
 | 
			
		||||
#########################################################################
 | 
			
		||||
#
 | 
			
		||||
#-- The download utilities that makepkg should use to acquire sources
 | 
			
		||||
#  Format: 'protocol::agent'
 | 
			
		||||
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
 | 
			
		||||
          'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
 | 
			
		||||
          'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
 | 
			
		||||
          'rsync::/usr/bin/rsync --no-motd -z %u %o'
 | 
			
		||||
          'scp::/usr/bin/scp -C %u %o')
 | 
			
		||||
 | 
			
		||||
# Other common tools:
 | 
			
		||||
# /usr/bin/snarf
 | 
			
		||||
# /usr/bin/lftpget -c
 | 
			
		||||
# /usr/bin/wget
 | 
			
		||||
 | 
			
		||||
#-- The package required by makepkg to download VCS sources
 | 
			
		||||
#  Format: 'protocol::package'
 | 
			
		||||
VCSCLIENTS=('bzr::bzr'
 | 
			
		||||
            'git::git'
 | 
			
		||||
            'hg::mercurial'
 | 
			
		||||
            'svn::subversion')
 | 
			
		||||
 | 
			
		||||
#########################################################################
 | 
			
		||||
# ARCHITECTURE, COMPILE FLAGS
 | 
			
		||||
#########################################################################
 | 
			
		||||
#
 | 
			
		||||
CARCH="i686"
 | 
			
		||||
CHOST="i686-pc-linux-gnu"
 | 
			
		||||
 | 
			
		||||
#-- Compiler and Linker Flags
 | 
			
		||||
# -march (or -mcpu) builds exclusively for an architecture
 | 
			
		||||
# -mtune optimizes for an architecture, but builds for whole processor family
 | 
			
		||||
CPPFLAGS="-D_FORTIFY_SOURCE=2"
 | 
			
		||||
CFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
 | 
			
		||||
CXXFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
 | 
			
		||||
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
 | 
			
		||||
#-- Make Flags: change this for DistCC/SMP systems
 | 
			
		||||
#MAKEFLAGS="-j2"
 | 
			
		||||
#-- Debugging flags
 | 
			
		||||
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
 | 
			
		||||
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
 | 
			
		||||
 | 
			
		||||
#########################################################################
 | 
			
		||||
# BUILD ENVIRONMENT
 | 
			
		||||
#########################################################################
 | 
			
		||||
#
 | 
			
		||||
# Defaults: BUILDENV=(!distcc color !ccache check !sign)
 | 
			
		||||
#  A negated environment option will do the opposite of the comments below.
 | 
			
		||||
#
 | 
			
		||||
#-- distcc:   Use the Distributed C/C++/ObjC compiler
 | 
			
		||||
#-- color:    Colorize output messages
 | 
			
		||||
#-- ccache:   Use ccache to cache compilation
 | 
			
		||||
#-- check:    Run the check() function if present in the PKGBUILD
 | 
			
		||||
#-- sign:     Generate PGP signature file
 | 
			
		||||
#
 | 
			
		||||
BUILDENV=(!distcc color !ccache check !sign)
 | 
			
		||||
#
 | 
			
		||||
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
 | 
			
		||||
#-- specify a space-delimited list of hosts running in the DistCC cluster.
 | 
			
		||||
#DISTCC_HOSTS=""
 | 
			
		||||
#
 | 
			
		||||
#-- Specify a directory for package building.
 | 
			
		||||
#BUILDDIR=/tmp/makepkg
 | 
			
		||||
 | 
			
		||||
#########################################################################
 | 
			
		||||
# GLOBAL PACKAGE OPTIONS
 | 
			
		||||
#   These are default values for the options=() settings
 | 
			
		||||
#########################################################################
 | 
			
		||||
#
 | 
			
		||||
# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)
 | 
			
		||||
#  A negated option will do the opposite of the comments below.
 | 
			
		||||
#
 | 
			
		||||
#-- strip:      Strip symbols from binaries/libraries
 | 
			
		||||
#-- docs:       Save doc directories specified by DOC_DIRS
 | 
			
		||||
#-- libtool:    Leave libtool (.la) files in packages
 | 
			
		||||
#-- staticlibs: Leave static library (.a) files in packages
 | 
			
		||||
#-- emptydirs:  Leave empty directories in packages
 | 
			
		||||
#-- zipman:     Compress manual (man and info) pages in MAN_DIRS with gzip
 | 
			
		||||
#-- purge:      Remove files specified by PURGE_TARGETS
 | 
			
		||||
#-- upx:        Compress binary executable files using UPX
 | 
			
		||||
#-- optipng:    Optimize PNG images with optipng
 | 
			
		||||
#-- debug:      Add debugging flags as specified in DEBUG_* variables
 | 
			
		||||
#
 | 
			
		||||
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)
 | 
			
		||||
 | 
			
		||||
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
 | 
			
		||||
INTEGRITY_CHECK=(md5)
 | 
			
		||||
#-- Options to be used when stripping binaries. See `man strip' for details.
 | 
			
		||||
STRIP_BINARIES="--strip-all"
 | 
			
		||||
#-- Options to be used when stripping shared libraries. See `man strip' for details.
 | 
			
		||||
STRIP_SHARED="--strip-unneeded"
 | 
			
		||||
#-- Options to be used when stripping static libraries. See `man strip' for details.
 | 
			
		||||
STRIP_STATIC="--strip-debug"
 | 
			
		||||
#-- Manual (man and info) directories to compress (if zipman is specified)
 | 
			
		||||
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
 | 
			
		||||
#-- Doc directories to remove (if !docs is specified)
 | 
			
		||||
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
 | 
			
		||||
#-- Files to be removed from all packages (if purge is specified)
 | 
			
		||||
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
 | 
			
		||||
 | 
			
		||||
#########################################################################
 | 
			
		||||
# PACKAGE OUTPUT
 | 
			
		||||
#########################################################################
 | 
			
		||||
#
 | 
			
		||||
# Default: put built package and cached source in build directory
 | 
			
		||||
#
 | 
			
		||||
#-- Destination: specify a fixed directory where all packages will be placed
 | 
			
		||||
#PKGDEST=/home/packages
 | 
			
		||||
#-- Source cache: specify a fixed directory where source files will be cached
 | 
			
		||||
#SRCDEST=/home/sources
 | 
			
		||||
#-- Source packages: specify a fixed directory where all src packages will be placed
 | 
			
		||||
#SRCPKGDEST=/home/srcpackages
 | 
			
		||||
#-- Log files: specify a fixed directory where all log files will be placed
 | 
			
		||||
#LOGDEST=/home/makepkglogs
 | 
			
		||||
#-- Packager: name/email of the person or organization building packages
 | 
			
		||||
#PACKAGER="John Doe <john@doe.com>"
 | 
			
		||||
#-- Specify a key to use for package signing
 | 
			
		||||
#GPGKEY=""
 | 
			
		||||
 | 
			
		||||
#########################################################################
 | 
			
		||||
# COMPRESSION DEFAULTS
 | 
			
		||||
#########################################################################
 | 
			
		||||
#
 | 
			
		||||
COMPRESSGZ=(gzip -c -f -n)
 | 
			
		||||
COMPRESSBZ2=(bzip2 -c -f)
 | 
			
		||||
COMPRESSXZ=(xz -c -z -)
 | 
			
		||||
COMPRESSLRZ=(lrzip -q)
 | 
			
		||||
COMPRESSLZO=(lzop -q)
 | 
			
		||||
COMPRESSZ=(compress -c -f)
 | 
			
		||||
 | 
			
		||||
#########################################################################
 | 
			
		||||
# EXTENSION DEFAULTS
 | 
			
		||||
#########################################################################
 | 
			
		||||
#
 | 
			
		||||
# WARNING: Do NOT modify these variables unless you know what you are
 | 
			
		||||
#          doing.
 | 
			
		||||
#
 | 
			
		||||
PKGEXT='.pkg.tar.xz'
 | 
			
		||||
SRCEXT='.src.tar.gz'
 | 
			
		||||
 | 
			
		||||
# vim: set ft=sh ts=2 sw=2 et:
 | 
			
		||||
							
								
								
									
										51
									
								
								data/missing
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								data/missing
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
extra/python-appdirs
 | 
			
		||||
extra/python-beaker
 | 
			
		||||
extra/python-mako
 | 
			
		||||
extra/python-markupsafe
 | 
			
		||||
extra/python-packaging
 | 
			
		||||
extra/python-pyparsing
 | 
			
		||||
 | 
			
		||||
extra/libmp4v2
 | 
			
		||||
extra/libmpdclient
 | 
			
		||||
extra/audiofile
 | 
			
		||||
extra/libid3tag
 | 
			
		||||
extra/idnkit
 | 
			
		||||
extra/neon
 | 
			
		||||
extra/sbc
 | 
			
		||||
extra/enchant
 | 
			
		||||
extra/chromaprint
 | 
			
		||||
extra/ttf-liberation
 | 
			
		||||
extra/ethtool
 | 
			
		||||
extra/pygobject2-devel
 | 
			
		||||
extra/python2-gobject2
 | 
			
		||||
extra/faac
 | 
			
		||||
extra/mjpegtools
 | 
			
		||||
extra/mpg123
 | 
			
		||||
extra/serf
 | 
			
		||||
extra/tinycdb
 | 
			
		||||
 | 
			
		||||
extra/js
 | 
			
		||||
 | 
			
		||||
extra/speexdsp
 | 
			
		||||
extra/spandsp
 | 
			
		||||
extra/soundtouch
 | 
			
		||||
extra/gst-plugins-bad
 | 
			
		||||
 | 
			
		||||
extra/appstream-glib
 | 
			
		||||
extra/opencl-headers
 | 
			
		||||
 | 
			
		||||
# openrc-world deps
 | 
			
		||||
extra/metalog
 | 
			
		||||
extra/clamav
 | 
			
		||||
extra/lighttpd
 | 
			
		||||
extra/dnsmasq
 | 
			
		||||
extra/postgresql-libs
 | 
			
		||||
extra/postfix
 | 
			
		||||
extra/wicd
 | 
			
		||||
extra/cyrus-sasl
 | 
			
		||||
extra/mpd
 | 
			
		||||
extra/bitlbee
 | 
			
		||||
extra/bind
 | 
			
		||||
extra/lirc
 | 
			
		||||
extra/sane
 | 
			
		||||
extra/transmission-cli
 | 
			
		||||
@@ -34,7 +34,7 @@ Architecture = auto
 | 
			
		||||
#Color
 | 
			
		||||
#TotalDownload
 | 
			
		||||
CheckSpace
 | 
			
		||||
#VerbosePkgLists
 | 
			
		||||
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.
 | 
			
		||||
@@ -73,11 +73,9 @@ Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
[galaxy]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
# An example of a custom package repository.  See the pacman manpage for
 | 
			
		||||
# tips on creating your own repositories.
 | 
			
		||||
#[custom]
 | 
			
		||||
#SigLevel = Optional TrustAll
 | 
			
		||||
#Server = file:///home/custompkgs
 | 
			
		||||
#
 | 
			
		||||
# ARCHLINUX
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@ Architecture = auto
 | 
			
		||||
#Color
 | 
			
		||||
#TotalDownload
 | 
			
		||||
CheckSpace
 | 
			
		||||
#VerbosePkgLists
 | 
			
		||||
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.
 | 
			
		||||
@@ -64,29 +64,33 @@ LocalFileSigLevel = Optional
 | 
			
		||||
# The header [repo-name] is crucial - it must be present and
 | 
			
		||||
# uncommented to enable the repo.
 | 
			
		||||
 | 
			
		||||
[system-testing]
 | 
			
		||||
[goblins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[gremlins]
 | 
			
		||||
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]
 | 
			
		||||
[galaxy-goblins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[galaxy-gremlins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[galaxy]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
# An example of a custom package repository.  See the pacman manpage for
 | 
			
		||||
# tips on creating your own repositories.
 | 
			
		||||
#[custom]
 | 
			
		||||
#SigLevel = Optional TrustAll
 | 
			
		||||
#Server = file:///home/custompkgs
 | 
			
		||||
#
 | 
			
		||||
# ARCHLINUX
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[staging]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[testing]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
@@ -94,6 +98,9 @@ Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
[extra]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[community-staging]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[community-testing]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										96
									
								
								data/pacman-gremlins.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								data/pacman-gremlins.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
			
		||||
#
 | 
			
		||||
# /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.
 | 
			
		||||
 | 
			
		||||
[gremlins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[system]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[world]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[galaxy-gremlins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[galaxy]
 | 
			
		||||
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
 | 
			
		||||
@@ -34,7 +34,7 @@ Architecture = auto
 | 
			
		||||
#Color
 | 
			
		||||
#TotalDownload
 | 
			
		||||
CheckSpace
 | 
			
		||||
#VerbosePkgLists
 | 
			
		||||
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.
 | 
			
		||||
@@ -64,38 +64,42 @@ LocalFileSigLevel = Optional
 | 
			
		||||
# The header [repo-name] is crucial - it must be present and
 | 
			
		||||
# uncommented to enable the repo.
 | 
			
		||||
 | 
			
		||||
[system-testing]
 | 
			
		||||
[goblins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[gremlins]
 | 
			
		||||
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]
 | 
			
		||||
[galaxy-goblins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[galaxy-gremlins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[galaxy]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
# If you want to run 32 bit applications on your x86_64 system,
 | 
			
		||||
# enable the lib32 repositories as required here.
 | 
			
		||||
[lib32-goblins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[lib32-testing]
 | 
			
		||||
[lib32-gremlins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[lib32]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
# An example of a custom package repository.  See the pacman manpage for
 | 
			
		||||
# tips on creating your own repositories.
 | 
			
		||||
#[custom]
 | 
			
		||||
#SigLevel = Optional TrustAll
 | 
			
		||||
#Server = file:///home/custompkgs
 | 
			
		||||
# 
 | 
			
		||||
# ARCHLINUX
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[staging]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[testing]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
@@ -103,12 +107,18 @@ Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
[extra]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[community-staging]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[community-testing]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[community]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[multilib-staging]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
[multilib-testing]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										108
									
								
								data/pacman-lib32-gremlins.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								data/pacman-lib32-gremlins.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,108 @@
 | 
			
		||||
#
 | 
			
		||||
# /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.
 | 
			
		||||
 | 
			
		||||
[gremlins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[system]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[world]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[galaxy-gremlins]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[galaxy]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
[lib32-gremlins]
 | 
			
		||||
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
 | 
			
		||||
@@ -34,7 +34,7 @@ Architecture = auto
 | 
			
		||||
#Color
 | 
			
		||||
#TotalDownload
 | 
			
		||||
CheckSpace
 | 
			
		||||
#VerbosePkgLists
 | 
			
		||||
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.
 | 
			
		||||
@@ -73,17 +73,12 @@ Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
[galaxy]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
# If you want to run 32 bit applications on your x86_64 system,
 | 
			
		||||
# enable the lib32 repositories as required here.
 | 
			
		||||
 | 
			
		||||
[lib32]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist
 | 
			
		||||
 | 
			
		||||
# An example of a custom package repository.  See the pacman manpage for
 | 
			
		||||
# tips on creating your own repositories.
 | 
			
		||||
#[custom]
 | 
			
		||||
#SigLevel = Optional TrustAll
 | 
			
		||||
#Server = file:///home/custompkgs
 | 
			
		||||
# 
 | 
			
		||||
# ARCHLINUX
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[extra]
 | 
			
		||||
Include = /etc/pacman.d/mirrorlist-arch
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
--- /dev/null
 | 
			
		||||
+++ b/bash/artix.bashrc
 | 
			
		||||
+++ b/artix.bashrc
 | 
			
		||||
@@ -0,0 +1,46 @@
 | 
			
		||||
+use_color=true
 | 
			
		||||
+
 | 
			
		||||
@@ -47,3 +47,41 @@
 | 
			
		||||
+fi
 | 
			
		||||
+
 | 
			
		||||
+unset use_color safe_term match_lhs sh
 | 
			
		||||
--- a/dot.bashrc
 | 
			
		||||
+++ b/dot.bashrc
 | 
			
		||||
@@ -5,5 +5,5 @@
 | 
			
		||||
 # If not running interactively, don't do anything
 | 
			
		||||
 [[ $- != *i* ]] && return
 | 
			
		||||
 | 
			
		||||
-alias ls='ls --color=auto'
 | 
			
		||||
-PS1='[\u@\h \W]\$ '
 | 
			
		||||
+# alias ls='ls --color=auto'
 | 
			
		||||
+# PS1='[\u@\h \W]\$ '
 | 
			
		||||
 | 
			
		||||
--- a/system.bashrc
 | 
			
		||||
+++ a/system.bashrc
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
 #
 | 
			
		||||
-# /etc/bash.bashrc
 | 
			
		||||
+# /etc/bash/bashrc
 | 
			
		||||
 #
 | 
			
		||||
 | 
			
		||||
 # If not running interactively, don't do anything
 | 
			
		||||
@@ -19,4 +19,8 @@
 | 
			
		||||
     ;;
 | 
			
		||||
 esac
 | 
			
		||||
 | 
			
		||||
+for sh in /etc/bash/bashrc.d/*.bashrc ; do
 | 
			
		||||
+	[[ -r ${sh} ]] && source "${sh}"
 | 
			
		||||
+done
 | 
			
		||||
+
 | 
			
		||||
 [ -r /usr/share/bash-completion/bash_completion   ] && . /usr/share/bash-completion/bash_completion
 | 
			
		||||
 | 
			
		||||
--- a/system.bash_logout
 | 
			
		||||
+++ a/system.bash_logout
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
 #
 | 
			
		||||
-# /etc/bash.bash_logout
 | 
			
		||||
+# /etc/bash/bash_logout
 | 
			
		||||
 #
 | 
			
		||||
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
--- a/bash/dot.bashrc
 | 
			
		||||
+++ b/bash/dot.bashrc
 | 
			
		||||
@@ -5,5 +5,5 @@
 | 
			
		||||
 # If not running interactively, don't do anything
 | 
			
		||||
 [[ $- != *i* ]] && return
 | 
			
		||||
 | 
			
		||||
-alias ls='ls --color=auto'
 | 
			
		||||
-PS1='[\u@\h \W]\$ '
 | 
			
		||||
+# alias ls='ls --color=auto'
 | 
			
		||||
+# PS1='[\u@\h \W]\$ '
 | 
			
		||||
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
--- a/bash/system.bashrc
 | 
			
		||||
+++ a/bash/system.bashrc
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
 #
 | 
			
		||||
-# /etc/bash.bashrc
 | 
			
		||||
+# /etc/bash/bashrc
 | 
			
		||||
 #
 | 
			
		||||
 | 
			
		||||
 # If not running interactively, don't do anything
 | 
			
		||||
@@ -19,4 +19,8 @@
 | 
			
		||||
     ;;
 | 
			
		||||
 esac
 | 
			
		||||
 | 
			
		||||
+for sh in /etc/bash/bashrc.d/*.bashrc ; do
 | 
			
		||||
+	[[ -r ${sh} ]] && source "${sh}"
 | 
			
		||||
+done
 | 
			
		||||
+
 | 
			
		||||
 [ -r /usr/share/bash-completion/bash_completion   ] && . /usr/share/bash-completion/bash_completion
 | 
			
		||||
 | 
			
		||||
@@ -1,8 +0,0 @@
 | 
			
		||||
--- a/bash/system.bash_logout
 | 
			
		||||
+++ a/bash/system.bash_logout
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
 #
 | 
			
		||||
-# /etc/bash.bash_logout
 | 
			
		||||
+# /etc/bash/bash_logout
 | 
			
		||||
 #
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										38
									
								
								data/qt5.list
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								data/qt5.list
									
									
									
									
									
										Normal 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
 | 
			
		||||
@@ -102,7 +102,7 @@ _mnt_dev() {
 | 
			
		||||
_verify_checksum() {
 | 
			
		||||
    local _status
 | 
			
		||||
    cd "/run/artix/bootmnt/${artixbasedir}/${arch}"
 | 
			
		||||
    md5sum -c $1.md5 > /tmp/checksum.log 2>&1
 | 
			
		||||
    sha512sum -c $1.sha512 > /tmp/checksum.log 2>&1
 | 
			
		||||
    _status=$?
 | 
			
		||||
    cd "${OLDPWD}"
 | 
			
		||||
    return ${_status}
 | 
			
		||||
@@ -160,7 +160,7 @@ artix_mount_handler() {
 | 
			
		||||
    if [[ "${checksum}" == "y" ]]; then
 | 
			
		||||
        for fs in rootfs desktopfs livefs;do
 | 
			
		||||
            if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.sfs" ]]; then
 | 
			
		||||
                if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.md5" ]]; then
 | 
			
		||||
                if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.sha512" ]]; then
 | 
			
		||||
                    msg -n ":: Self-test requested, please wait..."
 | 
			
		||||
                    if _verify_checksum "${fs}"; then
 | 
			
		||||
                        msg "done. Checksum is OK, continue booting."
 | 
			
		||||
@@ -170,7 +170,7 @@ artix_mount_handler() {
 | 
			
		||||
                        launch_interactive_shell
 | 
			
		||||
                    fi
 | 
			
		||||
                else
 | 
			
		||||
                    echo "ERROR: checksum=y option specified but ${artixbasedir}/${arch}/${fs}.md5 not found"
 | 
			
		||||
                    echo "ERROR: checksum=y option specified but ${artixbasedir}/${arch}/${fs}.sha512 not found"
 | 
			
		||||
                    launch_interactive_shell
 | 
			
		||||
                fi
 | 
			
		||||
            fi
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,7 @@ declare -A pseudofs_types=([anon_inodefs]=1
 | 
			
		||||
                        [bdev]=1
 | 
			
		||||
                        [binfmt_misc]=1
 | 
			
		||||
                        [cgroup]=1
 | 
			
		||||
                        [cgroup2]=1
 | 
			
		||||
                        [configfs]=1
 | 
			
		||||
                        [cpuset]=1
 | 
			
		||||
                        [debugfs]=1
 | 
			
		||||
@@ -72,7 +73,7 @@ valid_number_of_base() {
 | 
			
		||||
mangle() {
 | 
			
		||||
    local i= chr= out=
 | 
			
		||||
 | 
			
		||||
    unset {a..f} {A..F}
 | 
			
		||||
    local {a..f}= {A..F}=
 | 
			
		||||
 | 
			
		||||
    for (( i = 0; i < ${#1}; i++ )); do
 | 
			
		||||
        chr=${1:i:1}
 | 
			
		||||
@@ -91,7 +92,7 @@ mangle() {
 | 
			
		||||
unmangle() {
 | 
			
		||||
    local i= chr= out= len=$(( ${#1} - 4 ))
 | 
			
		||||
 | 
			
		||||
    unset {a..f} {A..F}
 | 
			
		||||
    local {a..f}= {A..F}=
 | 
			
		||||
 | 
			
		||||
    for (( i = 0; i < len; i++ )); do
 | 
			
		||||
        chr=${1:i:1}
 | 
			
		||||
 
 | 
			
		||||
@@ -52,6 +52,7 @@ configure_grub(){
 | 
			
		||||
    sed -e "s|@arch@|${target_arch}|g" \
 | 
			
		||||
        -e "s|@iso_label@|${iso_label}|" \
 | 
			
		||||
        -e "s|@iso_name@|${iso_name}|g" \
 | 
			
		||||
        -e "s|@kernel_args@|${kernel_args}|g" \
 | 
			
		||||
        -i $conf
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -44,21 +44,19 @@ load_profile(){
 | 
			
		||||
    [[ -z ${password} ]] && password="artix"
 | 
			
		||||
 | 
			
		||||
    if [[ -z ${addgroups} ]];then
 | 
			
		||||
        addgroups="video,power,storage,optical,network,lp,scanner,wheel,users"
 | 
			
		||||
        addgroups="video,power,storage,optical,network,lp,scanner,wheel,users,audio"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -z ${openrc_boot[@]} ]];then
 | 
			
		||||
        openrc_boot=('elogind')
 | 
			
		||||
    if [[ -z ${services[@]} ]];then
 | 
			
		||||
        services=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -z ${openrc_default[@]} ]];then
 | 
			
		||||
        openrc_default=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
 | 
			
		||||
    [[ ${displaymanager} != "none" ]] && services+=('xdm')
 | 
			
		||||
    
 | 
			
		||||
    if [[ -z ${services_live[@]} ]];then
 | 
			
		||||
        services_live=('artix-live' 'pacman-init')
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    [[ ${displaymanager} != "none" ]] && openrc_default+=('xdm')
 | 
			
		||||
 | 
			
		||||
    enable_live=('artix-live' 'pacman-init')
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    [[ -z ${netgroups_url} ]] && netgroups_url="https://raw.githubusercontent.com/artix-linux/netgroups/master"
 | 
			
		||||
 | 
			
		||||
    return 0
 | 
			
		||||
@@ -84,9 +82,8 @@ write_live_session_conf(){
 | 
			
		||||
    echo "addgroups='${addgroups}'" >> ${conf}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# $1: file name
 | 
			
		||||
load_pkgs(){
 | 
			
		||||
    local pkglist="$1" arch="$2" init="$3" _kv="$4"
 | 
			
		||||
    local pkglist="$1" init="$2" _kv="$3"
 | 
			
		||||
    info "Loading Packages: [%s] ..." "${pkglist##*/}"
 | 
			
		||||
 | 
			
		||||
    local _init="s|>$init||g"
 | 
			
		||||
@@ -96,13 +93,6 @@ load_pkgs(){
 | 
			
		||||
        'runit') _init_rm1="s|>s6.*||g"; _init_rm2="s|>openrc.*||g" ;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    local _arch="s|>x86_64||g" _arch_rm="s|>i686.*||g"
 | 
			
		||||
 | 
			
		||||
    if [[ "$arch" == 'i686' ]];then
 | 
			
		||||
        _arch="s|>i686||g"
 | 
			
		||||
        _arch_rm="s|>x86_64.*||g"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    local _blacklist="s|>blacklist.*||g" \
 | 
			
		||||
        _kernel="s|KERNEL|$_kv|g" \
 | 
			
		||||
        _space="s| ||g" \
 | 
			
		||||
@@ -116,8 +106,6 @@ load_pkgs(){
 | 
			
		||||
            | sed "$_init" \
 | 
			
		||||
            | sed "$_init_rm1" \
 | 
			
		||||
            | sed "$_init_rm2" \
 | 
			
		||||
            | sed "$_arch" \
 | 
			
		||||
            | sed "$_arch_rm" \
 | 
			
		||||
            | sed "$_kernel" \
 | 
			
		||||
            | sed "$_clean"))
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@ connect(){
 | 
			
		||||
gen_webseed(){
 | 
			
		||||
    local webseed seed="$1"
 | 
			
		||||
    for mirror in ${host_mirrors[@]};do
 | 
			
		||||
        webseed=${webseed:-}${webseed:+,}"http://${mirror}.dl.${seed}"
 | 
			
		||||
        webseed=${webseed:-}${webseed:+,}"https://${mirror}.dl.${seed}"
 | 
			
		||||
    done
 | 
			
		||||
    echo ${webseed}
 | 
			
		||||
}
 | 
			
		||||
@@ -27,9 +27,10 @@ make_torrent(){
 | 
			
		||||
 | 
			
		||||
    if [[ -n $(find ${src_dir} -type f -name "*.iso") ]]; then
 | 
			
		||||
        for iso in $(ls ${src_dir}/*.iso);do
 | 
			
		||||
            local seed=${file_host}/project/${project}/${target_dir}/${iso##*/}
 | 
			
		||||
            local seed=${file_host}/project/${project}${target_dir}${iso##*/}
 | 
			
		||||
            local mktorrent_args=(-c "${torrent_meta}" -p -l ${piece_size} -a ${tracker_url} -w $(gen_webseed ${seed}))
 | 
			
		||||
            ${verbose} && mktorrent_args+=(-v)
 | 
			
		||||
            info "mktorrent_args: %s" "${mktorrent_args[@]}"
 | 
			
		||||
            msg2 "Creating (%s) ..." "${iso##*/}.torrent"
 | 
			
		||||
            mktorrent ${mktorrent_args[*]} -o ${iso}.torrent ${iso}
 | 
			
		||||
        done
 | 
			
		||||
@@ -38,7 +39,7 @@ make_torrent(){
 | 
			
		||||
 | 
			
		||||
prepare_transfer(){
 | 
			
		||||
    target_dir="/iso/${profile}/"
 | 
			
		||||
    src_dir="${cache_dir_iso}/${profile}/"
 | 
			
		||||
    src_dir="${iso_pool}/${profile}/"
 | 
			
		||||
    ${torrent} && make_torrent
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,24 +9,14 @@
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
get_preset(){
 | 
			
		||||
    local p=${tmp_dir}/${kernel}.preset
 | 
			
		||||
    cp ${DATADIR}/linux.preset $p
 | 
			
		||||
    sed -e "s|@kernel@|$kernel|g" \
 | 
			
		||||
        -e "s|@arch@|${target_arch}|g"\
 | 
			
		||||
        -i $p
 | 
			
		||||
    echo $p
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
write_bootloader_conf(){
 | 
			
		||||
    local conf="$1/bootloader.conf" efi_boot_loader='grub'
 | 
			
		||||
    local conf="$1/bootloader.conf"
 | 
			
		||||
    msg2 "Writing %s ..." "${conf##*/}"
 | 
			
		||||
    source "$(get_preset)"
 | 
			
		||||
    echo '---' > "$conf"
 | 
			
		||||
    echo "efiBootLoader: \"${efi_boot_loader}\"" >> "$conf"
 | 
			
		||||
    echo "kernel: \"${ALL_kver#*/boot}\"" >> "$conf"
 | 
			
		||||
    echo "img: \"${default_image#*/boot}\"" >> "$conf"
 | 
			
		||||
    echo "fallback: \"${fallback_image#*/boot}\"" >> "$conf"
 | 
			
		||||
    echo "efiBootLoader: \"grub\"" >> "$conf"
 | 
			
		||||
    echo "kernel: \"/vmlinuz-$kernel-${target_arch}\"" >> "$conf"
 | 
			
		||||
    echo "img: \"/initramfs-$kernel-${target_arch}.img\"" >> "$conf"
 | 
			
		||||
    echo "fallback: \"/initramfs-$kernel-${target_arch}-fallback.img\"" >> "$conf"
 | 
			
		||||
    echo 'timeout: "10"' >> "$conf"
 | 
			
		||||
    echo "kernelLine: \", with ${kernel}\"" >> "$conf"
 | 
			
		||||
    echo "fallbackKernelLine: \", with ${kernel} (fallback initramfs)\"" >> "$conf"
 | 
			
		||||
@@ -43,11 +33,7 @@ write_servicescfg_conf(){
 | 
			
		||||
    echo '' >> "$conf"
 | 
			
		||||
    echo 'services:' >> "$conf"
 | 
			
		||||
    echo '    enabled:' >> "$conf"
 | 
			
		||||
    for s in ${openrc_boot[@]};do
 | 
			
		||||
        echo "      - name: $s" >> "$conf"
 | 
			
		||||
        echo '        runlevel: boot' >> "$conf"
 | 
			
		||||
    done
 | 
			
		||||
    for s in ${openrc_default[@]};do
 | 
			
		||||
    for s in ${services[@]};do
 | 
			
		||||
        echo "      - name: $s" >> "$conf"
 | 
			
		||||
        echo '        runlevel: default' >> "$conf"
 | 
			
		||||
    done
 | 
			
		||||
@@ -86,17 +72,33 @@ write_netinstall_conf(){
 | 
			
		||||
    echo "groupsUrl: ${netgroups}" >> "$conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
write_unpack_conf(){
 | 
			
		||||
    local conf="$1/unpackfs.conf"
 | 
			
		||||
    msg2 "Writing %s ..." "${conf##*/}"
 | 
			
		||||
    echo "---" > "$conf"
 | 
			
		||||
    echo "unpack:" >> "$conf"
 | 
			
		||||
    echo "    - source: \"/run/${iso_name}/bootmnt/${iso_name}/${target_arch}/rootfs.sfs\"" >> "$conf"
 | 
			
		||||
    echo "      sourcefs: \"squashfs\"" >> "$conf"
 | 
			
		||||
    echo "      destination: \"\"" >> "$conf"
 | 
			
		||||
    if [[ -f "${desktop_list}" ]] ; then
 | 
			
		||||
        echo "    - source: \"/run/${iso_name}/bootmnt/${iso_name}/${target_arch}/desktopfs.sfs\"" >> "$conf"
 | 
			
		||||
        echo "      sourcefs: \"squashfs\"" >> "$conf"
 | 
			
		||||
        echo "      destination: \"\"" >> "$conf"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
configure_calamares(){
 | 
			
		||||
    local modules_dir="$1"
 | 
			
		||||
    if [[ -d $modules_dir ]];then
 | 
			
		||||
    local dest="$1" mods="$1/etc/calamares/modules"
 | 
			
		||||
    if [[ -d $dest/etc/calamares/modules ]];then
 | 
			
		||||
        info "Configuring [Calamares]"
 | 
			
		||||
        write_users_conf "$modules_dir"
 | 
			
		||||
        write_netinstall_conf "$modules_dir"
 | 
			
		||||
        write_initcpio_conf "$modules_dir"
 | 
			
		||||
        write_netinstall_conf "$mods"
 | 
			
		||||
        write_unpack_conf "$mods"
 | 
			
		||||
        write_users_conf "$mods"
 | 
			
		||||
        write_initcpio_conf "$mods"
 | 
			
		||||
        case ${initsys} in
 | 
			
		||||
            'openrc') write_servicescfg_conf "$modules_dir" ;;
 | 
			
		||||
            'openrc') write_servicescfg_conf "$mods" ;;
 | 
			
		||||
        esac
 | 
			
		||||
        write_bootloader_conf "$modules_dir"
 | 
			
		||||
        write_bootloader_conf "$mods"
 | 
			
		||||
        info "Done configuring [Calamares]"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -86,9 +86,9 @@ error_function() {
 | 
			
		||||
 | 
			
		||||
# $1: function
 | 
			
		||||
run_log(){
 | 
			
		||||
    local func="$1"
 | 
			
		||||
    local func="$1" log_dir='/var/log/artools'
 | 
			
		||||
    local logfile=${log_dir}/$(gen_iso_fn).$func.log
 | 
			
		||||
    logpipe=$(mktemp -u "${tmp_dir}/$func.pipe.XXXXXXXX")
 | 
			
		||||
    logpipe=$(mktemp -u "/tmp/$func.pipe.XXXXXXXX")
 | 
			
		||||
    mkfifo "$logpipe"
 | 
			
		||||
    tee "$logfile" < "$logpipe" &
 | 
			
		||||
    local teepid=$!
 | 
			
		||||
@@ -165,14 +165,11 @@ configure_services(){
 | 
			
		||||
    info "Configuring [%s]" "${initsys}"
 | 
			
		||||
    case ${initsys} in
 | 
			
		||||
        'openrc')
 | 
			
		||||
            for svc in ${openrc_boot[@]}; do
 | 
			
		||||
                add_svc_rc "$mnt" "$svc" "boot"
 | 
			
		||||
            done
 | 
			
		||||
            for svc in ${openrc_default[@]}; do
 | 
			
		||||
            for svc in ${services[@]}; do
 | 
			
		||||
                [[ $svc == "xdm" ]] && set_xdm "$mnt"
 | 
			
		||||
                add_svc_rc "$mnt" "$svc" "default"
 | 
			
		||||
            done
 | 
			
		||||
            for svc in ${enable_live[@]}; do
 | 
			
		||||
            for svc in ${services_live[@]}; do
 | 
			
		||||
                add_svc_rc "$mnt" "$svc" "default"
 | 
			
		||||
            done
 | 
			
		||||
        ;;
 | 
			
		||||
@@ -245,7 +242,7 @@ configure_live_image(){
 | 
			
		||||
    configure_hosts "$fs"
 | 
			
		||||
    configure_system "$fs"
 | 
			
		||||
    configure_services "$fs"
 | 
			
		||||
    configure_calamares "$fs/etc/calamares/modules"
 | 
			
		||||
    configure_calamares "$fs"
 | 
			
		||||
    write_live_session_conf "$fs"
 | 
			
		||||
    msg "Done configuring [livefs]"
 | 
			
		||||
}
 | 
			
		||||
@@ -262,9 +259,9 @@ make_sig () {
 | 
			
		||||
 | 
			
		||||
make_checksum(){
 | 
			
		||||
    local idir="$1" file="$2"
 | 
			
		||||
    msg2 "Creating md5sum ..."
 | 
			
		||||
    msg2 "Creating sha512sum ..."
 | 
			
		||||
    cd $idir
 | 
			
		||||
    md5sum $file.sfs > $file.md5
 | 
			
		||||
    sha512sum $file.sfs > $file.sha512
 | 
			
		||||
    cd ${OLDPWD}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -282,8 +279,8 @@ make_sfs() {
 | 
			
		||||
    msg "Generating SquashFS image for %s" "${src}"
 | 
			
		||||
    if [[ -f "${sfs}" ]]; then
 | 
			
		||||
        local has_changed_dir=$(find ${src} -newer ${sfs})
 | 
			
		||||
        msg2 "Possible changes for %s ..." "${src}"  >> ${tmp_dir}/buildiso.debug
 | 
			
		||||
        msg2 "%s" "${has_changed_dir}" >> ${tmp_dir}/buildiso.debug
 | 
			
		||||
        msg2 "Possible changes for %s ..." "${src}"  >> /tmp/buildiso.debug
 | 
			
		||||
        msg2 "%s" "${has_changed_dir}" >> /tmp/buildiso.debug
 | 
			
		||||
        if [[ -n "${has_changed_dir}" ]]; then
 | 
			
		||||
            msg2 "SquashFS image %s is not up to date, rebuilding..." "${sfs}"
 | 
			
		||||
            rm "${sfs}"
 | 
			
		||||
@@ -524,14 +521,14 @@ compress_images(){
 | 
			
		||||
 | 
			
		||||
prepare_images(){
 | 
			
		||||
    local timer=$(get_timer)
 | 
			
		||||
    load_pkgs "${root_list}" "${target_arch}" "${initsys}" "${kernel}"
 | 
			
		||||
    load_pkgs "${root_list}" "${initsys}" "${kernel}"
 | 
			
		||||
    run_safe "make_rootfs"
 | 
			
		||||
    if [[ -f "${desktop_list}" ]] ; then
 | 
			
		||||
        load_pkgs "${desktop_list}" "${target_arch}" "${initsys}" "${kernel}"
 | 
			
		||||
        load_pkgs "${desktop_list}" "${initsys}" "${kernel}"
 | 
			
		||||
        run_safe "make_desktopfs"
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f ${live_list} ]]; then
 | 
			
		||||
        load_pkgs "${live_list}" "${target_arch}" "${initsys}" "${kernel}"
 | 
			
		||||
        load_pkgs "${live_list}" "${initsys}" "${kernel}"
 | 
			
		||||
        run_safe "make_livefs"
 | 
			
		||||
    fi
 | 
			
		||||
    run_safe "make_bootfs"
 | 
			
		||||
 
 | 
			
		||||
@@ -8,61 +8,22 @@
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
export LC_MESSAGES=C
 | 
			
		||||
# export LC_MESSAGES=C
 | 
			
		||||
export LANG=C
 | 
			
		||||
 | 
			
		||||
declare ALL_OFF='' BOLD='' BLUE='' GREEN='' RED='' YELLOW=''
 | 
			
		||||
source /usr/share/makepkg/util.sh
 | 
			
		||||
 | 
			
		||||
if [[ -t 2 ]]; then
 | 
			
		||||
    # prefer terminal safe colored and bold text when tput is supported
 | 
			
		||||
    if tput setaf 0 &>/dev/null; then
 | 
			
		||||
        ALL_OFF="$(tput sgr0)"
 | 
			
		||||
        BOLD="$(tput bold)"
 | 
			
		||||
        RED="${BOLD}$(tput setaf 1)"
 | 
			
		||||
        GREEN="${BOLD}$(tput setaf 2)"
 | 
			
		||||
        YELLOW="${BOLD}$(tput setaf 3)"
 | 
			
		||||
        BLUE="${BOLD}$(tput setaf 4)"
 | 
			
		||||
    else
 | 
			
		||||
        ALL_OFF="\e[0m"
 | 
			
		||||
        BOLD="\e[1m"
 | 
			
		||||
        RED="${BOLD}\e[31m"
 | 
			
		||||
        GREEN="${BOLD}\e[32m"
 | 
			
		||||
        YELLOW="${BOLD}\e[33m"
 | 
			
		||||
        BLUE="${BOLD}\e[34m"
 | 
			
		||||
    fi
 | 
			
		||||
    colorize
 | 
			
		||||
else
 | 
			
		||||
    declare -gr ALL_OFF='' BOLD='' BLUE='' GREEN='' RED='' YELLOW=''
 | 
			
		||||
fi
 | 
			
		||||
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
 | 
			
		||||
 | 
			
		||||
plain() {
 | 
			
		||||
    local mesg=$1; shift
 | 
			
		||||
    printf "${BOLD}    ${mesg}${ALL_OFF}\n" "$@" >&2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
msg() {
 | 
			
		||||
    local mesg=$1; shift
 | 
			
		||||
    printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
msg2() {
 | 
			
		||||
    local mesg=$1; shift
 | 
			
		||||
    printf "${BLUE}  ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
info() {
 | 
			
		||||
    local mesg=$1; shift
 | 
			
		||||
    printf "${YELLOW} -->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
warning() {
 | 
			
		||||
    local mesg=$1; shift
 | 
			
		||||
    printf "${YELLOW}==> WARNING:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
error() {
 | 
			
		||||
    local mesg=$1; shift
 | 
			
		||||
    printf "${RED}==> ERROR:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stat_busy() {
 | 
			
		||||
    local mesg=$1; shift
 | 
			
		||||
    printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}...${ALL_OFF}" "$@" >&2
 | 
			
		||||
@@ -117,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(){
 | 
			
		||||
@@ -125,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(){
 | 
			
		||||
 
 | 
			
		||||
@@ -1,78 +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
 | 
			
		||||
    # uncomment for local test run
 | 
			
		||||
#     rsync -v --files-from="$filelist" $repo_path "$src"
 | 
			
		||||
    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 result
 | 
			
		||||
    if [[ $pkg == 'llvm' ]];then
 | 
			
		||||
        if [[ ${repo#*-} == 'testing' ]];then
 | 
			
		||||
            repo='world-testing'
 | 
			
		||||
        else
 | 
			
		||||
            repo='world'
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    local repo_path=${repos_root}/$repo/os/$destarch
 | 
			
		||||
    source $pkg/PKGBUILD
 | 
			
		||||
    local dest=$pkg
 | 
			
		||||
    for name in ${pkgname[@]};do
 | 
			
		||||
        [[ $arch == any ]] && CARCH=any
 | 
			
		||||
        ver=$(get_full_version $name)
 | 
			
		||||
        if ! result=$(find_cached_package "$name" "$ver" "$CARCH"); then
 | 
			
		||||
            pkgfile=$name-$ver-$CARCH.pkg.tar.xz
 | 
			
		||||
            [[ -n ${PKGDEST} ]] && dest=${PKGDEST}/$pkgfile
 | 
			
		||||
            [[ -e $dest.sig ]] && rm $dest.sig
 | 
			
		||||
            signfile $dest
 | 
			
		||||
            ln -sf $dest{,.sig} $repo_path/
 | 
			
		||||
            cd $repo_path
 | 
			
		||||
            repo-add -R $repo.db.tar.xz $pkgfile
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
}
 | 
			
		||||
@@ -1,238 +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
 | 
			
		||||
 | 
			
		||||
            patch -p1 -i $DATADIR/patches/dot-bashrc.patch
 | 
			
		||||
            patch -p1 -i $DATADIR/patches/system-bashrc.patch
 | 
			
		||||
            patch -p1 -i $DATADIR/patches/system-bashrc_logout.patch
 | 
			
		||||
            patch -p1 -i $DATADIR/patches/artix-bashrc.patch
 | 
			
		||||
            cd $pkg
 | 
			
		||||
                updpkgsums
 | 
			
		||||
            cd ..
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_import_path(){
 | 
			
		||||
    local arch_dir arch_repo import_path
 | 
			
		||||
    local repo="$1" pkg="$2"
 | 
			
		||||
    case $repo in
 | 
			
		||||
        system|world)
 | 
			
		||||
            if [[ "$repo" == 'system' ]];then
 | 
			
		||||
                arch_repo=core
 | 
			
		||||
                arch_dir=packages
 | 
			
		||||
            fi
 | 
			
		||||
            if [[ "$repo" == 'world' ]];then
 | 
			
		||||
                arch_repo=extra
 | 
			
		||||
                arch_dir=packages
 | 
			
		||||
            fi
 | 
			
		||||
            import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
 | 
			
		||||
 | 
			
		||||
            src=$import_path/$arch_repo-x86_64
 | 
			
		||||
            if [[ -d $import_path/testing-x86_64 ]];then
 | 
			
		||||
                src=$import_path/testing-x86_64
 | 
			
		||||
            fi
 | 
			
		||||
            if [[ -d $import_path/$arch_repo-any ]];then
 | 
			
		||||
                src=$import_path/$arch_repo-any
 | 
			
		||||
            fi
 | 
			
		||||
            if [[ -d $import_path/testing-any ]];then
 | 
			
		||||
                src=$import_path/testing-any
 | 
			
		||||
            fi
 | 
			
		||||
        ;;
 | 
			
		||||
        galaxy)
 | 
			
		||||
            arch_repo=community
 | 
			
		||||
            arch_dir=$arch_repo
 | 
			
		||||
            import_path=${tree_dir_arch}/$arch_dir/$pkg/repos/$arch_repo
 | 
			
		||||
 | 
			
		||||
            src=$import_path-x86_64
 | 
			
		||||
            if [[ -d $import_path-testing-x86_64 ]];then
 | 
			
		||||
                src=$import_path-testing-x86_64
 | 
			
		||||
            fi
 | 
			
		||||
            if [[ -d $import_path-any ]];then
 | 
			
		||||
                src=$import_path-any
 | 
			
		||||
            fi
 | 
			
		||||
            if [[ -d $import_path-testing-any ]];then
 | 
			
		||||
                src=$import_path-testing-any
 | 
			
		||||
            fi
 | 
			
		||||
        ;;
 | 
			
		||||
        lib32)
 | 
			
		||||
            if [[ "$pkg" == 'llvm' ]];then
 | 
			
		||||
                arch_repo=extra
 | 
			
		||||
                arch_dir=packages
 | 
			
		||||
                import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
 | 
			
		||||
                src=$import_path/extra-x86_64
 | 
			
		||||
                if [[ -d $import_path/testing-x86_64 ]];then
 | 
			
		||||
                    src=$import_path/testing-x86_64
 | 
			
		||||
                fi
 | 
			
		||||
            else
 | 
			
		||||
                arch_repo=multilib
 | 
			
		||||
                arch_dir=community
 | 
			
		||||
                import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
 | 
			
		||||
                src=$import_path/$arch_repo-x86_64
 | 
			
		||||
                if [[ -d $import_path/$arch_repo-testing-x86_64 ]];then
 | 
			
		||||
                    src=$import_path/$arch_repo-testing-x86_64
 | 
			
		||||
                fi
 | 
			
		||||
            fi
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
            set_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
 | 
			
		||||
    rm ${patches_dir}/*.patch
 | 
			
		||||
    for upd in "${!UPDATES[@]}"; do
 | 
			
		||||
        msg "Writing %s update patch ..." "$upd"
 | 
			
		||||
        diff -u ${UPDATES[$upd]} > ${patches_dir}/"$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
 | 
			
		||||
            set_import_path "$repo" "$pkg"
 | 
			
		||||
            source $src/PKGBUILD 2>/dev/null
 | 
			
		||||
            local ver=$(get_full_version $pkg)
 | 
			
		||||
            msg "Package: %s-%s" "$pkg" "$ver"
 | 
			
		||||
#             msg2 "src: %s" "$src"
 | 
			
		||||
            rsync "${rsync_args[@]}"  $src/ ${tree_dir_artix}/$repo/$pkg/
 | 
			
		||||
            patch_pkg "$pkg"
 | 
			
		||||
            if ${push};then
 | 
			
		||||
                git add "$pkg"
 | 
			
		||||
                git commit -m "$pkg-$ver"
 | 
			
		||||
                sleep 10
 | 
			
		||||
                git push origin "$branch"
 | 
			
		||||
            fi
 | 
			
		||||
            unset pkgver epoch pkgrel ver
 | 
			
		||||
        done
 | 
			
		||||
    fi
 | 
			
		||||
    show_elapsed_time "${FUNCNAME}" "${timer}"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										223
									
								
								lib/util-pkg.sh
									
									
									
									
									
								
							
							
						
						
									
										223
									
								
								lib/util-pkg.sh
									
									
									
									
									
								
							@@ -9,13 +9,190 @@
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
in_array() {
 | 
			
		||||
    local needle=$1; shift
 | 
			
		||||
    local item
 | 
			
		||||
    for item in "$@"; do
 | 
			
		||||
        [[ $item = $needle ]] && return 0 # Found
 | 
			
		||||
    done
 | 
			
		||||
    return 1 # Not Found
 | 
			
		||||
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
 | 
			
		||||
@@ -45,39 +222,15 @@ pkgver_equal() {
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
get_full_version() {
 | 
			
		||||
    # set defaults if they weren't specified in buildfile
 | 
			
		||||
    pkgbase=${pkgbase:-${pkgname[0]}}
 | 
			
		||||
    epoch=${epoch:-0}
 | 
			
		||||
    if [[ -z $1 ]]; then
 | 
			
		||||
        if [[ $epoch ]] && (( ! $epoch )); then
 | 
			
		||||
            echo $pkgver-$pkgrel
 | 
			
		||||
        else
 | 
			
		||||
            echo $epoch:$pkgver-$pkgrel
 | 
			
		||||
        fi
 | 
			
		||||
    else
 | 
			
		||||
        for i in pkgver pkgrel epoch; do
 | 
			
		||||
            local indirect="${i}_override"
 | 
			
		||||
            eval $(declare -f package_$1 | sed -n "s/\(^[[:space:]]*$i=\)/${i}_override=/p")
 | 
			
		||||
            [[ -z ${!indirect} ]] && eval ${indirect}=\"${!i}\"
 | 
			
		||||
        done
 | 
			
		||||
        if (( ! $epoch_override )); then
 | 
			
		||||
            echo $pkgver_override-$pkgrel_override
 | 
			
		||||
        else
 | 
			
		||||
            echo $epoch_override:$pkgver_override-$pkgrel_override
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
find_cached_package() {
 | 
			
		||||
    local searchdirs=("$PWD" "$PKGDEST") results=()
 | 
			
		||||
    local searchdirs=("$PKGDEST" "$PWD") results=()
 | 
			
		||||
    local targetname=$1 targetver=$2 targetarch=$3
 | 
			
		||||
    local dir pkg pkgbasename name ver rel arch r results
 | 
			
		||||
 | 
			
		||||
    for dir in "${searchdirs[@]}"; do
 | 
			
		||||
        [[ -d $dir ]] || continue
 | 
			
		||||
 | 
			
		||||
        for pkg in "$dir"/*.pkg.tar.xz; do
 | 
			
		||||
        for pkg in "$dir"/*.pkg.tar.?z; do
 | 
			
		||||
            [[ -f $pkg ]] || continue
 | 
			
		||||
 | 
			
		||||
            # avoid adding duplicates of the same inode
 | 
			
		||||
@@ -87,7 +240,7 @@ find_cached_package() {
 | 
			
		||||
 | 
			
		||||
            # split apart package filename into parts
 | 
			
		||||
            pkgbasename=${pkg##*/}
 | 
			
		||||
            pkgbasename=${pkgbasename%.pkg.tar?(.?z)}
 | 
			
		||||
            pkgbasename=${pkgbasename%.pkg.tar.?z}
 | 
			
		||||
 | 
			
		||||
            arch=${pkgbasename##*-}
 | 
			
		||||
            pkgbasename=${pkgbasename%-"$arch"}
 | 
			
		||||
@@ -110,7 +263,7 @@ find_cached_package() {
 | 
			
		||||
            return 1
 | 
			
		||||
        ;;
 | 
			
		||||
        1)
 | 
			
		||||
            printf '%s\n' "$results"
 | 
			
		||||
            printf '%s\n' "${results[0]}"
 | 
			
		||||
            return 0
 | 
			
		||||
        ;;
 | 
			
		||||
        *)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										24
									
								
								lib/util.sh
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								lib/util.sh
									
									
									
									
									
								
							@@ -27,7 +27,7 @@ load_vars() {
 | 
			
		||||
    [[ -f $1 ]] || return 1
 | 
			
		||||
 | 
			
		||||
    for var in {SRC,SRCPKG,PKG,LOG}DEST MAKEFLAGS PACKAGER CARCH GPGKEY; do
 | 
			
		||||
        [[ -z ${!var} ]] && eval $(grep -a "^${var}=" "$1")
 | 
			
		||||
        [[ -z ${!var:-} ]] && eval "$(grep -a "^${var}=" "$1")"
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    return 0
 | 
			
		||||
@@ -54,14 +54,10 @@ get_osid(){
 | 
			
		||||
 | 
			
		||||
init_artools_base(){
 | 
			
		||||
 | 
			
		||||
    [[ -z ${target_arch} ]] && target_arch=$(uname -m)
 | 
			
		||||
    target_arch=$(uname -m)
 | 
			
		||||
 | 
			
		||||
    [[ -z ${chroots_dir} ]] && chroots_dir='/var/lib/artools'
 | 
			
		||||
 | 
			
		||||
    log_dir='/var/log/artools'
 | 
			
		||||
 | 
			
		||||
    tmp_dir='/tmp'
 | 
			
		||||
 | 
			
		||||
    [[ -z ${workspace_dir} ]] && workspace_dir=/home/${OWNER}/artools-workspace
 | 
			
		||||
 | 
			
		||||
    prepare_dir "${workspace_dir}"
 | 
			
		||||
@@ -71,33 +67,23 @@ init_artools_pkg(){
 | 
			
		||||
 | 
			
		||||
    [[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix
 | 
			
		||||
 | 
			
		||||
    [[ -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
 | 
			
		||||
 | 
			
		||||
    [[ -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"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
init_artools_iso(){
 | 
			
		||||
    chroots_iso="${chroots_dir}/buildiso"
 | 
			
		||||
 | 
			
		||||
    cache_dir_iso="${workspace_dir}/iso"
 | 
			
		||||
    [[ -z ${iso_pool} ]] && iso_pool="${workspace_dir}/iso"
 | 
			
		||||
 | 
			
		||||
    prepare_dir "${cache_dir_iso}"
 | 
			
		||||
    prepare_dir "${iso_pool}"
 | 
			
		||||
 | 
			
		||||
    profile='base'
 | 
			
		||||
 | 
			
		||||
@@ -111,6 +97,8 @@ init_artools_iso(){
 | 
			
		||||
 | 
			
		||||
    [[ -z ${kernel} ]] && kernel="linux-lts"
 | 
			
		||||
 | 
			
		||||
    [[ -z ${kernel_args} ]] && kernel_args=""
 | 
			
		||||
 | 
			
		||||
    [[ -z ${gpgkey} ]] && gpgkey=''
 | 
			
		||||
 | 
			
		||||
    [[ -z ${uplimit} ]] && uplimit=100
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user