Compare commits
	
		
			61 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 38075ad5ad | |||
| a99a9c9699 | |||
| 2cd876ade4 | |||
| 4eea0db73d | |||
| 6f18d339df | |||
| d31ca02c2a | |||
| 8a0cd5c236 | |||
| e300104dcf | |||
| a13f0079db | |||
| cae48c0878 | |||
| ce481f6b07 | |||
| b6a4619ab3 | |||
| 88ebc5c476 | |||
| c27c516610 | |||
| 42ee8522dd | |||
| b7f05f4dd2 | |||
| f58e8b6c15 | |||
| d432ffee3f | |||
| 961bc2cd59 | |||
| 92aeff61d8 | |||
| 64725482f8 | |||
| 11cd590529 | |||
| bb22741aa1 | |||
| 28e4b73964 | |||
| 7ea0d6f475 | |||
| bdcc22fd46 | |||
| 3c2e97f915 | |||
| ba77c20d77 | |||
| c376041a07 | |||
| bd29d360b4 | |||
| 7e1b1ee238 | |||
| 221218ba2a | |||
| 697d18da82 | |||
| 27d0230ed7 | |||
| 41fdcb68fb | |||
| 37b02c08bc | |||
| 31200d7765 | |||
| 60844ee0ea | |||
| 2c2e6b41a1 | |||
| 52c81a0e61 | |||
| 6667147b77 | |||
| 26635e3a10 | |||
| 1d5a565ed8 | |||
| 4e54b48903 | |||
| 2f16cd73c9 | |||
| 9fd6ac3531 | |||
| 2f5acc6e3c | |||
| d73b6d9178 | |||
| d5404ac2fa | |||
| d250b967ba | |||
| 5715eecf0c | |||
| b6ef4d1895 | |||
| 3fd33eca4a | |||
| eceed82a61 | |||
| 7337c341ba | |||
| 51658f4838 | |||
| 9dcef56350 | |||
| ba2647b4b0 | |||
| e10571eac0 | |||
| 045ed9e895 | |||
| 60e77a878c | 
							
								
								
									
										104
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										104
									
								
								Makefile
									
									
									
									
									
								
							@@ -1,38 +1,13 @@
 | 
				
			|||||||
VERSION=0.8
 | 
					VERSION=0.10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CHROOT_VERSION=0.8
 | 
					CHROOT_VERSION=0.8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TOOLS = artools
 | 
					TOOLS = artools
 | 
				
			||||||
ifdef PREFIX
 | 
					PREFIX ?= /usr/local
 | 
				
			||||||
PREFIX = /usr/local
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
SYSCONFDIR = /etc
 | 
					SYSCONFDIR = /etc
 | 
				
			||||||
BINDIR = $(PREFIX)/bin
 | 
					BINDIR = $(PREFIX)/bin
 | 
				
			||||||
LIBDIR = $(PREFIX)/lib
 | 
					LIBDIR = $(PREFIX)/lib
 | 
				
			||||||
DATADIR = $(PREFIX)/share
 | 
					DATADIR = $(PREFIX)/share
 | 
				
			||||||
 | 
					 | 
				
			||||||
DIRMODE = -dm0755
 | 
					 | 
				
			||||||
FILEMODE = -m0644
 | 
					 | 
				
			||||||
MODE =  -m0755
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
LN = ln -sf
 | 
					 | 
				
			||||||
RM = rm -f
 | 
					 | 
				
			||||||
RMD = rm -fr --one-file-system
 | 
					 | 
				
			||||||
M4 = m4 -P
 | 
					 | 
				
			||||||
CHMODAW = chmod a-w
 | 
					 | 
				
			||||||
CHMODX = chmod +x
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ifdef WITH-PKG
 | 
					 | 
				
			||||||
WITH-PKG = no
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
WITH-PKG = yes
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
ifdef WITH-ISO
 | 
					 | 
				
			||||||
WITH-ISO = no
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
WITH-ISO = yes
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
CPIODIR = $(SYSCONFDIR)/initcpio
 | 
					CPIODIR = $(SYSCONFDIR)/initcpio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SYSCONF = \
 | 
					SYSCONF = \
 | 
				
			||||||
@@ -65,8 +40,7 @@ BIN_PKG = \
 | 
				
			|||||||
	bin/buildpkg \
 | 
						bin/buildpkg \
 | 
				
			||||||
	bin/buildtree \
 | 
						bin/buildtree \
 | 
				
			||||||
	bin/deploypkg \
 | 
						bin/deploypkg \
 | 
				
			||||||
	bin/commitpkg \
 | 
						bin/commitpkg
 | 
				
			||||||
	bin/mkpkgclean
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBS_PKG = \
 | 
					LIBS_PKG = \
 | 
				
			||||||
	$(wildcard lib/util-pkg*.sh)
 | 
						$(wildcard lib/util-pkg*.sh)
 | 
				
			||||||
@@ -103,19 +77,17 @@ LIBS_ISO = \
 | 
				
			|||||||
SHARED_ISO = \
 | 
					SHARED_ISO = \
 | 
				
			||||||
	data/mkinitcpio.conf
 | 
						data/mkinitcpio.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifeq ($(WITH-PKG),yes)
 | 
					DIRMODE = -dm0755
 | 
				
			||||||
 | 
					FILEMODE = -m0644
 | 
				
			||||||
 | 
					MODE =  -m0755
 | 
				
			||||||
 | 
					
 | 
				
			||||||
all: $(BIN_PKG)
 | 
					LN = ln -sf
 | 
				
			||||||
 | 
					RM = rm -f
 | 
				
			||||||
 | 
					M4 = m4 -P
 | 
				
			||||||
 | 
					CHMODAW = chmod a-w
 | 
				
			||||||
 | 
					CHMODX = chmod +x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endif
 | 
					all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO)
 | 
				
			||||||
 | 
					 | 
				
			||||||
ifeq ($(WITH-ISO),yes)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
all: $(BIN_ISO)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
all: $(BIN_BASE)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
EDIT = sed -e "s|@datadir[@]|$(DATADIR)/$(TOOLS)|g" \
 | 
					EDIT = sed -e "s|@datadir[@]|$(DATADIR)/$(TOOLS)|g" \
 | 
				
			||||||
	-e "s|@sysconfdir[@]|$(SYSCONFDIR)/$(TOOLS)|g" \
 | 
						-e "s|@sysconfdir[@]|$(SYSCONFDIR)/$(TOOLS)|g" \
 | 
				
			||||||
@@ -177,54 +149,6 @@ install_iso: install_cpio
 | 
				
			|||||||
	install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
 | 
						install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
 | 
				
			||||||
	install $(FILEMODE) $(SHARED_ISO) $(DESTDIR)$(DATADIR)/$(TOOLS)
 | 
						install $(FILEMODE) $(SHARED_ISO) $(DESTDIR)$(DATADIR)/$(TOOLS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uninstall_base:
 | 
					install: install_base install_pkg install_iso
 | 
				
			||||||
	for f in $(notdir $(SYSCONF)); do $(RM) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)/$$f; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(BIN_BASE)); do $(RM) $(DESTDIR)$(BINDIR)/$$f; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(LIBS_BASE)); do $(RM) $(DESTDIR)$(LIBDIR)/$(TOOLS)/$$f; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(SHARED_BASE)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/$$f; done
 | 
					 | 
				
			||||||
	$(RMD) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
 | 
					 | 
				
			||||||
	$(RMD) $(DESTDIR)$(LIBDIR)/$(TOOLS)
 | 
					 | 
				
			||||||
	$(RMD) $(DESTDIR)$(DATADIR)/$(TOOLS)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
uninstall_pkg:
 | 
					.PHONY: all clean install
 | 
				
			||||||
	for f in $(notdir $(BIN_PKG)); do $(RM) $(DESTDIR)$(BINDIR)/$$f; done
 | 
					 | 
				
			||||||
	$(RM) $(DESTDIR)$(BINDIR)/find-libprovides
 | 
					 | 
				
			||||||
	for l in $(COMMITPKG_SYMS); do $(RM) $(DESTDIR)$(BINDIR)/$$l; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(LIBS_PKG)); do $(RM) $(DESTDIR)$(LIBDIR)/$(TOOLS)/$$f; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(PATCHES)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/patches/$$f; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(SHARED_PKG)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/$$f; done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
uninstall_cpio:
 | 
					 | 
				
			||||||
	+make CPIODIR=$(CPIODIR) DESTDIR=$(DESTDIR) -C initcpio uninstall
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
uninstall_iso: uninstall_cpio
 | 
					 | 
				
			||||||
	for f in $(notdir $(BIN_ISO)); do $(RM) $(DESTDIR)$(BINDIR)/$$f; done
 | 
					 | 
				
			||||||
	for l in $(notdir $(BIN_ISO_SYMS)); do $(RM) $(DESTDIR)$(BINDIR)/$$l; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(LIBS_ISO)); do $(RM) $(DESTDIR)$(LIBDIR)/$(TOOLS)/$$f; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(SHARED_ISO)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/$$f; done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ifeq ($(WITH-PKG),yes)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install: install_pkg
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
uninstall: uninstall_pkg
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ifeq ($(WITH-ISO),yes)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install: install_iso
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
uninstall: uninstall_iso
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install: install_base
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
uninstall: uninstall_base
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
dist:
 | 
					 | 
				
			||||||
	git archive --format=tar --prefix=$(TOOLS)-$(VERSION)/ $(VERSION) | gzip -9 > $(TOOLS)-$(VERSION).tar.gz
 | 
					 | 
				
			||||||
	gpg --detach-sign --use-agent $(TOOLS)-$(VERSION).tar.gz
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.PHONY: all clean install uninstall dist
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,9 +6,6 @@ artools
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
* PREFIX=/usr/local (default if defined)
 | 
					* PREFIX=/usr/local (default if defined)
 | 
				
			||||||
* SYSCONFDIR=/etc
 | 
					* SYSCONFDIR=/etc
 | 
				
			||||||
* WITH-PKG=yes
 | 
					 | 
				
			||||||
* WITH-ISO=yes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Dependencies
 | 
					#### Dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -21,7 +18,6 @@ artools
 | 
				
			|||||||
##### Runtime:
 | 
					##### Runtime:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- base:
 | 
					- base:
 | 
				
			||||||
 | 
					 | 
				
			||||||
  * openssh
 | 
					  * openssh
 | 
				
			||||||
  * rsync
 | 
					  * rsync
 | 
				
			||||||
  * haveged
 | 
					  * haveged
 | 
				
			||||||
@@ -30,16 +26,14 @@ artools
 | 
				
			|||||||
  * pacman
 | 
					  * pacman
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- pkg:
 | 
					- pkg:
 | 
				
			||||||
 | 
					 | 
				
			||||||
  * namcap
 | 
					  * namcap
 | 
				
			||||||
  * git
 | 
					  * git-subrepo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- iso:
 | 
					- iso:
 | 
				
			||||||
  * dosfstools
 | 
					  * dosfstools
 | 
				
			||||||
  * libisoburn
 | 
					  * libisoburn
 | 
				
			||||||
  * squashfs-tools
 | 
					  * squashfs-tools
 | 
				
			||||||
  * mkinitcpio
 | 
					  * mkinitcpio
 | 
				
			||||||
  * mktorrent
 | 
					 | 
				
			||||||
  * grub
 | 
					  * grub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Configuration
 | 
					#### Configuration
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
shopt -s extglob
 | 
					shopt -s extglob
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -20,6 +20,36 @@ SYSCONFDIR='@sysconfdir@'
 | 
				
			|||||||
import ${LIBDIR}/util.sh
 | 
					import ${LIBDIR}/util.sh
 | 
				
			||||||
import ${LIBDIR}/util-mount.sh
 | 
					import ${LIBDIR}/util-mount.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					select_os(){
 | 
				
			||||||
 | 
					    local os_list=( $(detect) ) count=${#os_list[@]}
 | 
				
			||||||
 | 
					    if [[ ${count} > 1 ]];then
 | 
				
			||||||
 | 
					        msg "Detected systems:"
 | 
				
			||||||
 | 
					        local i=0
 | 
				
			||||||
 | 
					        for os in ${os_list[@]};do
 | 
				
			||||||
 | 
					            local last=${os##*:}
 | 
				
			||||||
 | 
					            case $last in
 | 
				
			||||||
 | 
					                'efi') count=$((count-1)) ;;
 | 
				
			||||||
 | 
					                *) info "$i) $(get_os_name $os)"; i=$((i+1)) ;;
 | 
				
			||||||
 | 
					            esac
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					        i=0
 | 
				
			||||||
 | 
					        msg "Select system to mount [0-%s] : " "$((count-1))"
 | 
				
			||||||
 | 
					        read select
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        select=0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    local os_str=${os_list[$select]} type
 | 
				
			||||||
 | 
					    type=$os_str
 | 
				
			||||||
 | 
					    root=${os_str%%:*}
 | 
				
			||||||
 | 
					    type=${type##*:}
 | 
				
			||||||
 | 
					    if [[ "${type##*:}" == 'linux' ]];then
 | 
				
			||||||
 | 
					        msg "Mounting (%s) [%s]" "$(get_os_name $os_str)" "$root"
 | 
				
			||||||
 | 
					        mount_os "$1" "$root"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        die "You can't mount %s!" "$select"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
display_settings(){
 | 
					display_settings(){
 | 
				
			||||||
    show_version
 | 
					    show_version
 | 
				
			||||||
    show_config
 | 
					    show_config
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
#  4) A valid mirror appears in /etc/pacman.d/mirrorlist
 | 
					#  4) A valid mirror appears in /etc/pacman.d/mirrorlist
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
shopt -s extglob
 | 
					shopt -s extglob
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
DATADIR='@datadir@'
 | 
					DATADIR='@datadir@'
 | 
				
			||||||
@@ -22,12 +22,12 @@ import ${LIBDIR}/util-iso.sh
 | 
				
			|||||||
prepare_build(){
 | 
					prepare_build(){
 | 
				
			||||||
    timer_start=$(get_timer)
 | 
					    timer_start=$(get_timer)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    load_profile "${profile}"
 | 
					    load_profile "${PROFILE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local pacman_conf pac_file="pacman-default.conf"
 | 
					    local pacman_conf pac_file="pacman-default.conf"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    case "${stablility}" in
 | 
					    case "${REPOSITORY}" in
 | 
				
			||||||
        'gremlins'|'goblins') pac_file="pacman-${stablility}.conf" ;;
 | 
					        'gremlins'|'goblins') pac_file="pacman-${REPOSITORY}.conf" ;;
 | 
				
			||||||
    esac
 | 
					    esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pacman_conf="${DATADIR}/$pac_file"
 | 
					    pacman_conf="${DATADIR}/$pac_file"
 | 
				
			||||||
@@ -35,29 +35,30 @@ prepare_build(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    iso_file=$(gen_iso_fn).iso
 | 
					    iso_file=$(gen_iso_fn).iso
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    mkchroot_args+=(-C ${pacman_conf})
 | 
					    iso_label="ARTIX_$(date +%Y%m)"
 | 
				
			||||||
    work_dir=${chroots_iso}/${profile}/${target_arch}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    iso_dir="${iso_pool}/${profile}"
 | 
					    mkchroot_args+=(-C ${pacman_conf} -m)
 | 
				
			||||||
 | 
					    work_dir=${CHROOTS_ISO}/${PROFILE}/${ARCH}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    iso_root=${chroots_iso}/${profile}/iso
 | 
					    iso_dir="${ISO_POOL}/${PROFILE}"
 | 
				
			||||||
    mnt_dir=${chroots_iso}/${profile}/mnt
 | 
					
 | 
				
			||||||
 | 
					    iso_root=${CHROOTS_ISO}/${PROFILE}/iso
 | 
				
			||||||
 | 
					    mnt_dir=${CHROOTS_ISO}/${PROFILE}/mnt
 | 
				
			||||||
    prepare_dir "${mnt_dir}"
 | 
					    prepare_dir "${mnt_dir}"
 | 
				
			||||||
    prepare_dir "${iso_dir}"
 | 
					    prepare_dir "${iso_dir}"
 | 
				
			||||||
 | 
					    prepare_dir "${iso_root}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
show_profile(){
 | 
					show_profile(){
 | 
				
			||||||
    msg2 "iso_file: %s" "${iso_file}"
 | 
					    msg2 "iso_file: %s" "${iso_file}"
 | 
				
			||||||
    if ${verbose};then
 | 
					    if ${verbose};then
 | 
				
			||||||
        msg2 "autologin: %s" "${autologin}"
 | 
					        msg2 "AUTOLOGIN: %s" "${AUTOLOGIN}"
 | 
				
			||||||
 | 
					        msg2 "HOST_NAME: %s" "${HOST_NAME}"
 | 
				
			||||||
        msg2 "hostname: %s" "${hostname}"
 | 
					        msg2 "USER_NAME: %s" "${USER_NAME}"
 | 
				
			||||||
        msg2 "username: %s" "${username}"
 | 
					        msg2 "PASSWORD: %s" "${PASSWORD}"
 | 
				
			||||||
        msg2 "password: %s" "${password}"
 | 
					        msg2 "ADDGROUPS: %s" "${ADDGROUPS}"
 | 
				
			||||||
        msg2 "addgroups: %s" "${addgroups}"
 | 
					        msg2 "SERVICES_LIVE: %s" "${SERVICES_LIVE[*]}"
 | 
				
			||||||
 | 
					        msg2 "SERVICES: %s" "${SERVICES[*]}"
 | 
				
			||||||
        msg2 "services_live: %s" "${services_live[*]}"
 | 
					 | 
				
			||||||
        msg2 "services: %s" "${services[*]}"
 | 
					 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -66,10 +67,10 @@ display_settings(){
 | 
				
			|||||||
    show_config
 | 
					    show_config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "OPTIONS:"
 | 
					    msg "OPTIONS:"
 | 
				
			||||||
    msg2 "profile: %s" "${profile}"
 | 
					    msg2 "PROFILE: %s" "${PROFILE}"
 | 
				
			||||||
    msg2 "initsys: %s" "${initsys}"
 | 
					    msg2 "INITSYS: %s" "${INITSYS}"
 | 
				
			||||||
    [[ -n ${gpgkey} ]] && msg2 "gpgkey: %s" "${gpgkey}"
 | 
					    [[ -n ${GPG_KEY} ]] && msg2 "GPG_KEY: %s" "${GPG_KEY}"
 | 
				
			||||||
    msg2 "stablility: %s" "${stablility}"
 | 
					    msg2 "REPOSITORY: %s" "${REPOSITORY}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "ARGS:"
 | 
					    msg "ARGS:"
 | 
				
			||||||
    msg2 "clean_first: %s" "${clean_first}"
 | 
					    msg2 "clean_first: %s" "${clean_first}"
 | 
				
			||||||
@@ -78,14 +79,14 @@ display_settings(){
 | 
				
			|||||||
    msg2 "persist: %s" "${persist}"
 | 
					    msg2 "persist: %s" "${persist}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "ISO SETTINGS:"
 | 
					    msg "ISO SETTINGS:"
 | 
				
			||||||
    msg2 "iso_version: %s" "${iso_version}"
 | 
					    msg2 "ISO_VERSION: %s" "${ISO_VERSION}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "BUILD:"
 | 
					    msg "BUILD:"
 | 
				
			||||||
    show_profile
 | 
					    show_profile
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build(){
 | 
					build(){
 | 
				
			||||||
    msg "Start building [%s]" "${profile}"
 | 
					    msg "Start building [%s]" "${PROFILE}"
 | 
				
			||||||
    if ${clean_first};then
 | 
					    if ${clean_first};then
 | 
				
			||||||
        for copy in "${work_dir}"/*; do
 | 
					        for copy in "${work_dir}"/*; do
 | 
				
			||||||
            [[ -d $copy ]] || continue
 | 
					            [[ -d $copy ]] || continue
 | 
				
			||||||
@@ -103,19 +104,19 @@ build(){
 | 
				
			|||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ${iso_only}; then
 | 
					    if ${iso_only}; then
 | 
				
			||||||
        [[ ! -d ${work_dir} ]] && die "Create images: buildiso -p %s -x" "${profile}"
 | 
					        [[ ! -d ${work_dir} ]] && die "Create images: buildiso -p %s -x" "${PROFILE}"
 | 
				
			||||||
        compress_images
 | 
					        compress_images
 | 
				
			||||||
        exit 1
 | 
					        exit 1
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if ${images_only}; then
 | 
					    if ${images_only}; then
 | 
				
			||||||
        prepare_images
 | 
					        prepare_images
 | 
				
			||||||
        warning "Continue compress: buildiso -p %s -zc ..." "${profile}"
 | 
					        warning "Continue compress: buildiso -p %s -zc ..." "${PROFILE}"
 | 
				
			||||||
        exit 1
 | 
					        exit 1
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        prepare_images
 | 
					        prepare_images
 | 
				
			||||||
        compress_images
 | 
					        compress_images
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    msg "Finished building [%s]" "${profile}"
 | 
					    msg "Finished building [%s]" "${PROFILE}"
 | 
				
			||||||
    show_elapsed_time "${FUNCNAME}" "${timer_start}"
 | 
					    show_elapsed_time "${FUNCNAME}" "${timer_start}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -132,19 +133,20 @@ persist=false
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
mkchroot_args=()
 | 
					mkchroot_args=()
 | 
				
			||||||
cmd=${0##*/}
 | 
					cmd=${0##*/}
 | 
				
			||||||
stablility=${cmd##*-}
 | 
					
 | 
				
			||||||
 | 
					REPOSITORY=${cmd##*-}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
usage() {
 | 
					usage() {
 | 
				
			||||||
    echo "Usage: ${0##*/} [options]"
 | 
					    echo "Usage: ${0##*/} [options]"
 | 
				
			||||||
    echo "    -p <profile>       Profile [default: ${profile}]"
 | 
					    echo "    -p <profile>       Profile [default: ${PROFILE}]"
 | 
				
			||||||
    echo '    -r <dir>           Chroots directory'
 | 
					    echo '    -r <dir>           Chroots directory'
 | 
				
			||||||
    echo "                       [default: ${chroots_iso}]"
 | 
					    echo "                       [default: ${CHROOTS_ISO}]"
 | 
				
			||||||
    echo '    -t <dir>           Target directory'
 | 
					    echo '    -t <dir>           Target directory'
 | 
				
			||||||
    echo "                       [default: ${iso_pool}]"
 | 
					    echo "                       [default: ${ISO_POOL}]"
 | 
				
			||||||
    echo '    -i <name>          Init system to use'
 | 
					    echo '    -i <name>          Init system to use'
 | 
				
			||||||
    echo "                       [default: ${initsys}]"
 | 
					    echo "                       [default: ${INITSYS}]"
 | 
				
			||||||
    echo '    -g <key>           The gpg key for sfs signing'
 | 
					    echo '    -g <key>           The gpg key for sfs signing'
 | 
				
			||||||
    echo "                       [default: ${gpgkey}]"
 | 
					    echo "                       [default: ${GPG_KEY}]"
 | 
				
			||||||
    echo '    -m                 Set SquashFS image mode to persistence'
 | 
					    echo '    -m                 Set SquashFS image mode to persistence'
 | 
				
			||||||
    echo '    -c                 Disable clean work dir'
 | 
					    echo '    -c                 Disable clean work dir'
 | 
				
			||||||
    echo '    -x                 Build images only'
 | 
					    echo '    -x                 Build images only'
 | 
				
			||||||
@@ -164,11 +166,11 @@ opts='p:r:t:i:g:czxmvqh'
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
while getopts "${opts}" arg; do
 | 
					while getopts "${opts}" arg; do
 | 
				
			||||||
    case "${arg}" in
 | 
					    case "${arg}" in
 | 
				
			||||||
        p) profile="$OPTARG" ;;
 | 
					        p) PROFILE="$OPTARG" ;;
 | 
				
			||||||
        r) chroots_iso="$OPTARG" ;;
 | 
					        r) CHROOTS_ISO="$OPTARG" ;;
 | 
				
			||||||
        t) iso_pool="$OPTARG" ;;
 | 
					        t) ISO_POOL="$OPTARG" ;;
 | 
				
			||||||
        i) initsys="$OPTARG" ;;
 | 
					        i) INITSYS="$OPTARG" ;;
 | 
				
			||||||
        g) gpgkey="$OPTARG" ;;
 | 
					        g) GPG_KEY="$OPTARG" ;;
 | 
				
			||||||
        c) clean_first=false ;;
 | 
					        c) clean_first=false ;;
 | 
				
			||||||
        x) images_only=true ;;
 | 
					        x) images_only=true ;;
 | 
				
			||||||
        z) iso_only=true ;;
 | 
					        z) iso_only=true ;;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
shopt -s nullglob
 | 
					shopt -s nullglob
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -33,14 +33,14 @@ display_settings(){
 | 
				
			|||||||
    show_config
 | 
					    show_config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "OPTIONS:"
 | 
					    msg "OPTIONS:"
 | 
				
			||||||
    msg2 "chroots_pkg: %s" "${chroots_pkg}"
 | 
					    msg2 "CHROOTS_PKG: %s" "${CHROOTS_PKG}"
 | 
				
			||||||
    msg2 "repository: %s" "${repository}"
 | 
					    msg2 "REPOSITORY: %s" "${REPOSITORY}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "ARGS:"
 | 
					    msg "ARGS:"
 | 
				
			||||||
    msg2 "create_first: %s" "${create_first}"
 | 
					    msg2 "create_first: %s" "${create_first}"
 | 
				
			||||||
    msg2 "makepkg_args: %s" "${makepkg_args[*]}"
 | 
					    msg2 "makepkg_args: %s" "${makepkg_args[*]}"
 | 
				
			||||||
    msg2 "mkchrootpkg_args: %s" "${mkchrootpkg_args[*]}"
 | 
					    msg2 "mkchrootpkg_args: %s" "${mkchrootpkg_args[*]}"
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    msg "BUILD:"
 | 
					    msg "BUILD:"
 | 
				
			||||||
    show_pkg
 | 
					    show_pkg
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -55,24 +55,24 @@ pretend=false
 | 
				
			|||||||
mkchroot_args=()
 | 
					mkchroot_args=()
 | 
				
			||||||
mkchrootpkg_args=(-c -n)
 | 
					mkchrootpkg_args=(-c -n)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
repository='default'
 | 
					REPOSITORY='default'
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
prepare_build(){
 | 
					prepare_build(){
 | 
				
			||||||
    local pac_file= mp_file='makepkg.conf'    
 | 
					    local pac_file= mp_file='makepkg.conf'
 | 
				
			||||||
            
 | 
					
 | 
				
			||||||
    base_devel=('base-devel')
 | 
					    base_devel=('base-devel')
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    case ${repository} in
 | 
					    case ${REPOSITORY} in
 | 
				
			||||||
        'system'|'world'|'galaxy') repository='default' ;;
 | 
					        'system'|'world'|'galaxy') REPOSITORY='default' ;;
 | 
				
			||||||
        lib32*) base_devel+=('multilib-devel') ;;
 | 
					        lib32*) base_devel+=('multilib-devel') ;;
 | 
				
			||||||
        galaxy-gremlins|galaxy-goblins) repository=${repository#*-} ;;
 | 
					        galaxy-gremlins|galaxy-goblins) REPOSITORY=${REPOSITORY#*-} ;;
 | 
				
			||||||
    esac
 | 
					    esac
 | 
				
			||||||
    local pac_file="pacman-${repository}.conf"
 | 
					    local pac_file="pacman-${REPOSITORY}.conf"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local pacman_conf="${DATADIR}/$pac_file"
 | 
					    local pacman_conf="${DATADIR}/$pac_file"
 | 
				
			||||||
    [[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
 | 
					    [[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    work_dir="${chroots_pkg}/${repository}-${target_arch}"
 | 
					    work_dir="${CHROOTS_PKG}/${REPOSITORY}-${ARCH}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local makepkg_conf="${DATADIR}/$mp_file"
 | 
					    local makepkg_conf="${DATADIR}/$mp_file"
 | 
				
			||||||
    [[ -f $AT_USERCONFDIR/$mp_file ]] && makepkg_conf="$AT_USERCONFDIR/$mp_file"
 | 
					    [[ -f $AT_USERCONFDIR/$mp_file ]] && makepkg_conf="$AT_USERCONFDIR/$mp_file"
 | 
				
			||||||
@@ -83,7 +83,7 @@ prepare_build(){
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build(){
 | 
					build(){
 | 
				
			||||||
    local timer_start=$(get_timer) 
 | 
					    local timer_start=$(get_timer)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    exec mkchrootpkg "${mkchrootpkg_args[@]}"
 | 
					    exec mkchrootpkg "${mkchrootpkg_args[@]}"
 | 
				
			||||||
    show_elapsed_time "${FUNCNAME}" "${timer_start}"
 | 
					    show_elapsed_time "${FUNCNAME}" "${timer_start}"
 | 
				
			||||||
@@ -91,7 +91,7 @@ build(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
usage() {
 | 
					usage() {
 | 
				
			||||||
    echo "Usage: ${0##*/} [options] -- [makepkg_args]"
 | 
					    echo "Usage: ${0##*/} [options] -- [makepkg_args]"
 | 
				
			||||||
    echo "    -r <dir>           Repository [default: ${repository}]"
 | 
					    echo "    -r <dir>           Repository [default: ${REPOSITORY}]"
 | 
				
			||||||
    echo '    -c                 Create root chroot'
 | 
					    echo '    -c                 Create root chroot'
 | 
				
			||||||
    echo '    -q                 Query settings and pretend build'
 | 
					    echo '    -q                 Query settings and pretend build'
 | 
				
			||||||
    echo '    -h                 This help'
 | 
					    echo '    -h                 This help'
 | 
				
			||||||
@@ -107,7 +107,7 @@ opts='r:cqh'
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
while getopts "${opts}" arg; do
 | 
					while getopts "${opts}" arg; do
 | 
				
			||||||
    case "${arg}" in
 | 
					    case "${arg}" in
 | 
				
			||||||
        r) repository="$OPTARG" ;;
 | 
					        r) REPOSITORY="$OPTARG" ;;
 | 
				
			||||||
        c) create_first=true ;;
 | 
					        c) create_first=true ;;
 | 
				
			||||||
        q) pretend=true ;;
 | 
					        q) pretend=true ;;
 | 
				
			||||||
        h|?) usage 0 ;;
 | 
					        h|?) usage 0 ;;
 | 
				
			||||||
@@ -124,7 +124,7 @@ prepare_build
 | 
				
			|||||||
${pretend} && display_settings && exit
 | 
					${pretend} && display_settings && exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ${create_first} || [[ ! -d ${work_dir}/root ]];then
 | 
					if ${create_first} || [[ ! -d ${work_dir}/root ]];then
 | 
				
			||||||
    msg "Creating chroot for [%s] (%s)..." "${repository}" "${target_arch}"
 | 
					    msg "Creating chroot for [%s] (%s)..." "${REPOSITORY}" "${ARCH}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for copy in "${work_dir}"/*; do
 | 
					    for copy in "${work_dir}"/*; do
 | 
				
			||||||
        [[ -d $copy ]] || continue
 | 
					        [[ -d $copy ]] || continue
 | 
				
			||||||
@@ -139,7 +139,7 @@ if ${create_first} || [[ ! -d ${work_dir}/root ]];then
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    rm -rf --one-file-system "${work_dir}"
 | 
					    rm -rf --one-file-system "${work_dir}"
 | 
				
			||||||
    mkdir -p "${work_dir}"
 | 
					    mkdir -p "${work_dir}"
 | 
				
			||||||
    setarch "${target_arch}" mkchroot \
 | 
					    setarch "${ARCH}" mkchroot \
 | 
				
			||||||
        "${mkchroot_args[@]}"  "${base_devel[@]}" || abort
 | 
					        "${mkchroot_args[@]}"  "${base_devel[@]}" || abort
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
    lock 9 "${work_dir}/root.lock" "Locking clean chroot"
 | 
					    lock 9 "${work_dir}/root.lock" "Locking clean chroot"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
SYSCONFDIR='@sysconfdir@'
 | 
					SYSCONFDIR='@sysconfdir@'
 | 
				
			||||||
@@ -18,34 +18,50 @@ DATADIR='@datadir@'
 | 
				
			|||||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
					[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
				
			||||||
import ${LIBDIR}/util.sh
 | 
					import ${LIBDIR}/util.sh
 | 
				
			||||||
import ${LIBDIR}/util-pkg.sh
 | 
					import ${LIBDIR}/util-pkg.sh
 | 
				
			||||||
 | 
					import ${LIBDIR}/util-pkg-gitea.sh
 | 
				
			||||||
 | 
					import ${LIBDIR}/util-pkg-subrepo.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pull_tree_arch(){
 | 
					pull_tree_arch(){
 | 
				
			||||||
    cd ${tree_dir_arch}
 | 
					    cd ${TREE_DIR_ARCH}
 | 
				
			||||||
    for tree in packages community;do
 | 
					    for tree in packages community;do
 | 
				
			||||||
        if [[ -d ${tree} ]];then
 | 
					        if [[ -d ${tree} ]];then
 | 
				
			||||||
            cd ${tree}
 | 
					            cd ${tree}
 | 
				
			||||||
                msg "Checking (%s)" "${tree}"
 | 
					            msg "Checking (%s)" "${tree}"
 | 
				
			||||||
                pull_tree
 | 
					            pull_tree
 | 
				
			||||||
            cd ..
 | 
					            cd ..
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            msg "Cloning (%s) ..." "$tree"
 | 
					            msg "Cloning (%s) ..." "$tree"
 | 
				
			||||||
            clone_tree "${host_tree_arch}/${tree}"
 | 
					            clone_tree "${HOST_TREE_ARCH}/${tree}"
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config_tree(){
 | 
				
			||||||
 | 
					    local tree="$1"
 | 
				
			||||||
 | 
					    cd $tree
 | 
				
			||||||
 | 
					        git config --bool pull.rebase true
 | 
				
			||||||
 | 
					        git config commit.gpgsign true
 | 
				
			||||||
 | 
					        if [[ -n "${GPGKEY}" ]];then
 | 
				
			||||||
 | 
					            git config user.signingkey "${GPGKEY}"
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            warning "No GPGKEY configured in makepkg.conf!"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    cd ..
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pull_tree_artix(){
 | 
					pull_tree_artix(){
 | 
				
			||||||
    cd ${tree_dir_artix}
 | 
					    cd ${TREE_DIR_ARTIX}
 | 
				
			||||||
    for tree in packages packages-galaxy;do
 | 
					    for tree in packages packages-galaxy;do
 | 
				
			||||||
        if [[ -d ${tree} ]];then
 | 
					        if [[ -d ${tree} ]];then
 | 
				
			||||||
 | 
					            config_tree "${tree}"
 | 
				
			||||||
            cd ${tree}
 | 
					            cd ${tree}
 | 
				
			||||||
                git config --bool pull.rebase true
 | 
					            msg "Checking (%s)" "${tree}"
 | 
				
			||||||
                msg "Checking (%s)" "${tree}"
 | 
					            pull_tree
 | 
				
			||||||
                pull_tree
 | 
					 | 
				
			||||||
            cd ..
 | 
					            cd ..
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            msg "Cloning (%s) ..." "$tree"
 | 
					            msg "Cloning (%s) ..." "$tree"
 | 
				
			||||||
            clone_tree "${host_tree_artix}/${tree}"
 | 
					            clone_tree "${HOST_TREE_ARTIX}/${tree}"
 | 
				
			||||||
 | 
					            config_tree "${tree}"
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -53,15 +69,15 @@ pull_tree_artix(){
 | 
				
			|||||||
show_version_table(){
 | 
					show_version_table(){
 | 
				
			||||||
    msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version"
 | 
					    msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version"
 | 
				
			||||||
    for tree in packages packages-galaxy;do
 | 
					    for tree in packages packages-galaxy;do
 | 
				
			||||||
        local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d)
 | 
					        local git=$(find ${TREE_DIR_ARTIX}/$tree/ -mindepth 1 -maxdepth 1 -type d)
 | 
				
			||||||
        for pkg_path in ${git[@]}; do
 | 
					        for pkg_path in ${git[@]}; do
 | 
				
			||||||
            local artixrepo=$(find_repo "$pkg_path" "${unstable}")
 | 
					            local artixrepo=$(find_repo "$pkg_path" "${unstable}" "${staging}")
 | 
				
			||||||
            if [[ -d $pkg_path/repos/$artixrepo ]];then
 | 
					            if [[ -d $pkg_path/repos/$artixrepo ]];then
 | 
				
			||||||
                source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null
 | 
					                source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null
 | 
				
			||||||
                local pkg=${pkg_path##*/}
 | 
					                local pkg=${pkg_path##*/}
 | 
				
			||||||
                local artixver=$(get_full_version $pkg)
 | 
					                local artixver=$(get_full_version $pkg)
 | 
				
			||||||
                local src=$(get_import_path "$tree" "$pkg")
 | 
					                local src=$(get_import_path "$tree" "$pkg")
 | 
				
			||||||
                local archrepo=$(find_repo "$src/$pkg" "${unstable}")
 | 
					                local archrepo=$(find_repo "$src/$pkg" "${unstable}" "${staging}")
 | 
				
			||||||
                if [[ -d $src/$pkg/repos/$archrepo ]];then
 | 
					                if [[ -d $src/$pkg/repos/$archrepo ]];then
 | 
				
			||||||
                    source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
 | 
					                    source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
 | 
				
			||||||
                    local archver=$(get_full_version $pkg)
 | 
					                    local archver=$(get_full_version $pkg)
 | 
				
			||||||
@@ -98,7 +114,7 @@ show_version_table(){
 | 
				
			|||||||
                        fi
 | 
					                        fi
 | 
				
			||||||
                    fi
 | 
					                    fi
 | 
				
			||||||
                fi
 | 
					                fi
 | 
				
			||||||
                unset pkgver epoch pkgrel artixver archver _package
 | 
					                unset pkgver epoch pkgrel artixver archver
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
@@ -122,24 +138,24 @@ show_deps(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
from_arch(){
 | 
					from_arch(){
 | 
				
			||||||
    local pkg="$1" src= dest=
 | 
					    local pkg="$1" src= dest=
 | 
				
			||||||
    local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
 | 
					    local git_tree_arch=$(find_tree "${TREE_DIR_ARCH}" "$pkg")
 | 
				
			||||||
    [[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
 | 
					    [[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local pkg_path=${tree_dir_arch}/$git_tree_arch/$pkg
 | 
					    local pkg_path=${TREE_DIR_ARCH}/$git_tree_arch/$pkg
 | 
				
			||||||
    local repo=$(find_repo "$pkg_path" "${unstable}")
 | 
					    local repo=$(find_repo "$pkg_path" "${unstable}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    src=$pkg_path/repos/$repo
 | 
					    src=$pkg_path/repos/$repo
 | 
				
			||||||
    $trunk && src=$pkg_path/trunk
 | 
					    $trunk && src=$pkg_path/trunk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local git_tree_artix=$(find_tree "${tree_dir_artix}" "$pkg")
 | 
					    local git_tree_artix=$(find_tree "${TREE_DIR_ARTIX}" "$pkg")
 | 
				
			||||||
    dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
 | 
					    dest=${TREE_DIR_ARTIX}/$git_tree_artix/$pkg/trunk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cd ${tree_dir_arch}/$git_tree_arch
 | 
					    cd ${TREE_DIR_ARCH}/$git_tree_arch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    show_deps "$src" "$repo"
 | 
					    show_deps "$src" "$repo"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -d $dest ]];then
 | 
					    if [[ -d $dest ]];then
 | 
				
			||||||
        cd ${tree_dir_artix}/$git_tree_artix
 | 
					        cd ${TREE_DIR_ARTIX}/$git_tree_artix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        source $dest/PKGBUILD 2>/dev/null
 | 
					        source $dest/PKGBUILD 2>/dev/null
 | 
				
			||||||
        local artixver=$(get_full_version $pkg)
 | 
					        local artixver=$(get_full_version $pkg)
 | 
				
			||||||
@@ -152,10 +168,13 @@ from_arch(){
 | 
				
			|||||||
        [[ $git_tree_arch == 'packages' ]] && git_tree_artix=$git_tree_arch
 | 
					        [[ $git_tree_arch == 'packages' ]] && git_tree_artix=$git_tree_arch
 | 
				
			||||||
        [[ $git_tree_arch == 'community' ]] && git_tree_artix='packages-galaxy'
 | 
					        [[ $git_tree_arch == 'community' ]] && git_tree_artix='packages-galaxy'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cd ${tree_dir_artix}/$git_tree_artix
 | 
					        cd ${TREE_DIR_ARTIX}/$git_tree_artix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
 | 
					        dest=${TREE_DIR_ARTIX}/$git_tree_artix/$pkg/trunk
 | 
				
			||||||
        mkdir $pkg
 | 
					
 | 
				
			||||||
 | 
					        create_repo "$pkg"
 | 
				
			||||||
 | 
					        add_repo_to_team "$pkg" "$pkg_path"
 | 
				
			||||||
 | 
					        subrepo_clone "$pkg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        info "Import from archlinux (%s)" "$git_tree_arch"
 | 
					        info "Import from archlinux (%s)" "$git_tree_arch"
 | 
				
			||||||
        rsync "${rsync_args[@]}" $src/ $dest/
 | 
					        rsync "${rsync_args[@]}" $src/ $dest/
 | 
				
			||||||
@@ -165,10 +184,10 @@ from_arch(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
view_build(){
 | 
					view_build(){
 | 
				
			||||||
    local pkg="$1" src=
 | 
					    local pkg="$1" src=
 | 
				
			||||||
    local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
 | 
					    local git_tree_arch=$(find_tree "${TREE_DIR_ARCH}" "$pkg")
 | 
				
			||||||
    [[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
 | 
					    [[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local pkg_path=${tree_dir_arch}/$git_tree_arch/$pkg
 | 
					    local pkg_path=${TREE_DIR_ARCH}/$git_tree_arch/$pkg
 | 
				
			||||||
    local repo=$(find_repo "$pkg_path" "${unstable}")
 | 
					    local repo=$(find_repo "$pkg_path" "${unstable}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    src=$pkg_path/repos/$repo
 | 
					    src=$pkg_path/repos/$repo
 | 
				
			||||||
@@ -186,7 +205,7 @@ display_settings(){
 | 
				
			|||||||
    show_config
 | 
					    show_config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "OPTIONS:"
 | 
					    msg "OPTIONS:"
 | 
				
			||||||
    msg2 "package: %s" "${package}"
 | 
					    msg2 "PACKAGE: %s" "${PACKAGE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "ARGS:"
 | 
					    msg "ARGS:"
 | 
				
			||||||
    msg2 "sync: %s" "${sync}"
 | 
					    msg2 "sync: %s" "${sync}"
 | 
				
			||||||
@@ -195,13 +214,15 @@ display_settings(){
 | 
				
			|||||||
    msg2 "upgrades: %s" "${upgrades}"
 | 
					    msg2 "upgrades: %s" "${upgrades}"
 | 
				
			||||||
    msg2 "downgrades: %s" "${downgrades}"
 | 
					    msg2 "downgrades: %s" "${downgrades}"
 | 
				
			||||||
    msg2 "artix: %s" "${artix}"
 | 
					    msg2 "artix: %s" "${artix}"
 | 
				
			||||||
 | 
					    msg2 "staging: %s" "${staging}"
 | 
				
			||||||
 | 
					    msg2 "unstable: %s" "${unstable}"
 | 
				
			||||||
    msg2 "import: %s" "${import}"
 | 
					    msg2 "import: %s" "${import}"
 | 
				
			||||||
    msg2 "view: %s" "${view}"
 | 
					    msg2 "view: %s" "${view}"
 | 
				
			||||||
    msg2 "trunk: %s" "${trunk}"
 | 
					    msg2 "trunk: %s" "${trunk}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "PATHS:"
 | 
					    msg "PATHS:"
 | 
				
			||||||
    msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
 | 
					    msg2 "TREE_DIR_ARTIX: %s" "${TREE_DIR_ARTIX}"
 | 
				
			||||||
    msg2 "tree_dir_arch: %s" "${tree_dir_arch}"
 | 
					    msg2 "TREE_DIR_ARCH: %s" "${TREE_DIR_ARCH}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
load_user_info
 | 
					load_user_info
 | 
				
			||||||
@@ -215,13 +236,14 @@ sync=false
 | 
				
			|||||||
sync_arch=true
 | 
					sync_arch=true
 | 
				
			||||||
compare=false
 | 
					compare=false
 | 
				
			||||||
unstable=false
 | 
					unstable=false
 | 
				
			||||||
 | 
					staging=true
 | 
				
			||||||
upgrades=false
 | 
					upgrades=false
 | 
				
			||||||
downgrades=false
 | 
					downgrades=false
 | 
				
			||||||
artix=false
 | 
					artix=false
 | 
				
			||||||
import=false
 | 
					import=false
 | 
				
			||||||
view=false
 | 
					view=false
 | 
				
			||||||
trunk=false
 | 
					trunk=false
 | 
				
			||||||
package=''
 | 
					PACKAGE=''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
 | 
					rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -231,10 +253,11 @@ usage() {
 | 
				
			|||||||
    echo "    -s            Clone or pull repos"
 | 
					    echo "    -s            Clone or pull repos"
 | 
				
			||||||
    echo "    -z            Don't clone or pull arch repos"
 | 
					    echo "    -z            Don't clone or pull arch repos"
 | 
				
			||||||
    echo '    -c            Compare packages'
 | 
					    echo '    -c            Compare packages'
 | 
				
			||||||
    echo '    -x            Include unstable kde and gnome'
 | 
					 | 
				
			||||||
    echo '    -u            Show upgrade packages'
 | 
					    echo '    -u            Show upgrade packages'
 | 
				
			||||||
    echo '    -d            Show downgrade packages'
 | 
					    echo '    -d            Show downgrade packages'
 | 
				
			||||||
    echo '    -a            Show testing and staging packages'
 | 
					    echo '    -a            Show testing packages'
 | 
				
			||||||
 | 
					    echo "    -y            Don't inlcude staging packages"
 | 
				
			||||||
 | 
					    echo '    -x            Include unstable kde and gnome'
 | 
				
			||||||
    echo '    -i            Import a package from arch repos'
 | 
					    echo '    -i            Import a package from arch repos'
 | 
				
			||||||
    echo '    -t            Import from arch trunk'
 | 
					    echo '    -t            Import from arch trunk'
 | 
				
			||||||
    echo '    -v            View package depends'
 | 
					    echo '    -v            View package depends'
 | 
				
			||||||
@@ -247,17 +270,18 @@ usage() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
orig_argv=("$0" "$@")
 | 
					orig_argv=("$0" "$@")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
opts='p:csudaiztxvqh'
 | 
					opts='p:csudayiztxvqh'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
while getopts "${opts}" arg; do
 | 
					while getopts "${opts}" arg; do
 | 
				
			||||||
    case "${arg}" in
 | 
					    case "${arg}" in
 | 
				
			||||||
        p) package="$OPTARG" ;;
 | 
					        p) PACKAGE="$OPTARG" ;;
 | 
				
			||||||
        s) sync=true ;;
 | 
					        s) sync=true ;;
 | 
				
			||||||
        z) sync_arch=false ;;
 | 
					        z) sync_arch=false ;;
 | 
				
			||||||
        c) compare=true ;;
 | 
					        c) compare=true ;;
 | 
				
			||||||
        u) upgrades=true ;;
 | 
					        u) upgrades=true ;;
 | 
				
			||||||
        d) downgrades=true ;;
 | 
					        d) downgrades=true ;;
 | 
				
			||||||
        a) artix=true ;;
 | 
					        a) artix=true ;;
 | 
				
			||||||
 | 
					        y) staging=false ;;
 | 
				
			||||||
        i) import=true ;;
 | 
					        i) import=true ;;
 | 
				
			||||||
        t) trunk=true ;;
 | 
					        t) trunk=true ;;
 | 
				
			||||||
        v) view=true ;;
 | 
					        v) view=true ;;
 | 
				
			||||||
@@ -270,15 +294,15 @@ done
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
shift $(($OPTIND - 1))
 | 
					shift $(($OPTIND - 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
prepare_dir "${tree_dir_artix}"
 | 
					prepare_dir "${TREE_DIR_ARTIX}"
 | 
				
			||||||
prepare_dir "${tree_dir_arch}"
 | 
					prepare_dir "${TREE_DIR_ARCH}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
${pretend} && display_settings && exit 1
 | 
					${pretend} && display_settings && exit 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
${sync} && sync_repos
 | 
					${sync} && sync_repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
${view} && view_build "${package}"
 | 
					${view} && view_build "${PACKAGE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
${compare} && show_version_table
 | 
					${compare} && show_version_table
 | 
				
			||||||
 | 
					
 | 
				
			||||||
${import} && from_arch "${package}"
 | 
					${import} && from_arch "${PACKAGE}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chroot_version=@chroot_version@
 | 
					chroot_version=@chroot_version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -22,7 +22,6 @@ import ${LIBDIR}/util-mount.sh
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
working_dir=''
 | 
					working_dir=''
 | 
				
			||||||
files=()
 | 
					files=()
 | 
				
			||||||
keep_mirrors=false
 | 
					 | 
				
			||||||
nosetarch=false
 | 
					nosetarch=false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
usage() {
 | 
					usage() {
 | 
				
			||||||
@@ -94,7 +93,7 @@ copy_hostconf () {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
chroot_extra_mount() {
 | 
					chroot_extra_mount() {
 | 
				
			||||||
    chroot_add_resolv_conf "$1"
 | 
					    chroot_add_resolv_conf "$1"
 | 
				
			||||||
#     chroot_mount "/etc/hosts" "$1/etc/hosts" -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_conditional "[[ -e $1/etc/machine-id ]]" "/etc/machine-id" "$1/etc/machine-id" -B
 | 
				
			||||||
    chroot_mount "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B
 | 
					    chroot_mount "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
SYSCONFDIR='@sysconfdir@'
 | 
					SYSCONFDIR='@sysconfdir@'
 | 
				
			||||||
@@ -18,56 +18,65 @@ DATADIR='@datadir@'
 | 
				
			|||||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
					[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
				
			||||||
import ${LIBDIR}/util.sh
 | 
					import ${LIBDIR}/util.sh
 | 
				
			||||||
import ${LIBDIR}/util-pkg.sh
 | 
					import ${LIBDIR}/util-pkg.sh
 | 
				
			||||||
 | 
					import ${LIBDIR}/util-pkg-subrepo.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
commit_pkg(){
 | 
					commit_pkg(){
 | 
				
			||||||
    local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
 | 
					    local git_tree=$(find_tree "${TREE_DIR_ARTIX}" "${PACKAGE}")
 | 
				
			||||||
    if [[ -n ${git_tree} ]];then
 | 
					    if [[ -n ${git_tree} ]];then
 | 
				
			||||||
        cd ${tree_dir_artix}/${git_tree}/${package}
 | 
					        cd ${TREE_DIR_ARTIX}/${git_tree}/${PACKAGE}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        source trunk/PKGBUILD
 | 
					        source trunk/PKGBUILD
 | 
				
			||||||
        [[ $arch == 'any' ]] && CARCH=any
 | 
					        [[ $arch == 'any' ]] && CARCH=any
 | 
				
			||||||
        local ver=$(get_full_version "${package}")
 | 
					        local ver=$(get_full_version "${PACKAGE}")
 | 
				
			||||||
 | 
					        local commit_msg=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ${remove};then
 | 
					        if ${remove};then
 | 
				
			||||||
            local action='remove'
 | 
					            local action='remove'
 | 
				
			||||||
            if [[ "${source_repo}" == 'trunk' ]];then
 | 
					            if [[ "${REPO_SRC}" == 'trunk' ]];then
 | 
				
			||||||
                local pkg=${package}
 | 
					                local pkg=${PACKAGE}
 | 
				
			||||||
                git rm -r trunk
 | 
					                git rm -r trunk
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
                local pkg="${package}-$ver"
 | 
					                local pkg="${PACKAGE}-$ver"
 | 
				
			||||||
                git rm -r repos/"${source_repo}-$CARCH"
 | 
					                git rm -r repos/"${REPO_SRC}-$CARCH"
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
            msg "Action: [%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
 | 
					            commit_msg="[${REPO_SRC}] '$pkg' ${action}"
 | 
				
			||||||
            git commit -m "[${source_repo}] '$pkg' ${action}"
 | 
					            msg "Action: %s" "$commit_msg"
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            local action='modify'
 | 
					            local action='modify'
 | 
				
			||||||
            msg "Action: [%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}"
 | 
					            commit_msg="[${REPO_SRC}] '${PACKAGE}-$ver' ${action}"
 | 
				
			||||||
 | 
					            msg "Action: %s" "$commit_msg"
 | 
				
			||||||
            git add .
 | 
					            git add .
 | 
				
			||||||
            git commit -m "[${source_repo}] '${package}-$ver' ${action}"
 | 
					
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					        git commit -m "$commit_msg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        cd ${TREE_DIR_ARTIX}/${git_tree}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ${push};then
 | 
					        if ${push};then
 | 
				
			||||||
            msg "Checking (%s)" "${git_tree}"
 | 
					            msg "Checking (%s)" "${git_tree}"
 | 
				
			||||||
            git pull origin master
 | 
					            git pull origin master
 | 
				
			||||||
 | 
					            subrepo_push "${PACKAGE}"
 | 
				
			||||||
 | 
					            sleep 1
 | 
				
			||||||
            git push origin master
 | 
					            git push origin master
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					        git prune
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        error "Package '%s' does not exist!" "${package}"
 | 
					        error "Package '%s' does not exist!" "${PACKAGE}"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
symlink_commit_pkg(){
 | 
					symlink_commit_pkg(){
 | 
				
			||||||
    local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
 | 
					    local git_tree=$(find_tree "${TREE_DIR_ARTIX}" "${PACKAGE}")
 | 
				
			||||||
    if [[ -n ${git_tree} ]];then
 | 
					    if [[ -n ${git_tree} ]];then
 | 
				
			||||||
        cd ${tree_dir_artix}/${git_tree}/${package}
 | 
					        cd ${TREE_DIR_ARTIX}/${git_tree}/${PACKAGE}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        source trunk/PKGBUILD
 | 
					        source trunk/PKGBUILD
 | 
				
			||||||
        [[ $arch == 'any' ]] && CARCH=any
 | 
					        [[ $arch == 'any' ]] && CARCH=any
 | 
				
			||||||
        local ver=$(get_full_version "${package}")
 | 
					        local ver=$(get_full_version "${PACKAGE}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if [[ ${source_repo} == 'trunk' ]];then
 | 
					        if [[ ${REPO_SRC} == 'trunk' ]];then
 | 
				
			||||||
            local action='add'
 | 
					            local action='add'
 | 
				
			||||||
            local dest="${target_repo}-$CARCH"
 | 
					            local dest="${REPO_DEST}-$CARCH"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            [[ -d repos/$dest ]] && git rm -r repos/$dest
 | 
					            [[ -d repos/$dest ]] && git rm -r repos/$dest
 | 
				
			||||||
            [[ ! -d repos ]] && mkdir repos
 | 
					            [[ ! -d repos ]] && mkdir repos
 | 
				
			||||||
@@ -76,7 +85,7 @@ symlink_commit_pkg(){
 | 
				
			|||||||
            cp trunk/* repos/$dest/
 | 
					            cp trunk/* repos/$dest/
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            local action='move'
 | 
					            local action='move'
 | 
				
			||||||
            local src="${source_repo}-$CARCH" dest="${target_repo}-$CARCH"
 | 
					            local src="${REPO_SRC}-$CARCH" dest="${REPO_DEST}-$CARCH"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            [[ -d repos/$dest ]] && git rm -r repos/$dest
 | 
					            [[ -d repos/$dest ]] && git rm -r repos/$dest
 | 
				
			||||||
            [[ ! -d repos ]] && mkdir repos
 | 
					            [[ ! -d repos ]] && mkdir repos
 | 
				
			||||||
@@ -85,18 +94,24 @@ symlink_commit_pkg(){
 | 
				
			|||||||
            cp repos/$src/* repos/$dest/
 | 
					            cp repos/$src/* repos/$dest/
 | 
				
			||||||
            git rm -r repos/$src
 | 
					            git rm -r repos/$src
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					        local commit_msg="[${REPO_SRC}] -> [${REPO_DEST}] '${PACKAGE}-$ver' ${action}"
 | 
				
			||||||
 | 
					        msg "Action: %s" "$commit_msg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        msg "Action: [%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}"
 | 
					 | 
				
			||||||
        git add .
 | 
					        git add .
 | 
				
			||||||
        git commit -m "[${source_repo}] -> [${target_repo}] '${package}-$ver' ${action}"
 | 
					        git commit -m "$commit_msg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        cd ${TREE_DIR_ARTIX}/${git_tree}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ${push};then
 | 
					        if ${push};then
 | 
				
			||||||
            msg "Checking (%s)" "${git_tree}"
 | 
					            msg "Checking (%s)" "${git_tree}"
 | 
				
			||||||
            git pull origin master
 | 
					            git pull origin master
 | 
				
			||||||
 | 
					            subrepo_push "${PACKAGE}"
 | 
				
			||||||
 | 
					            sleep 1
 | 
				
			||||||
            git push origin master
 | 
					            git push origin master
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					        git prune
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        error "Package '%s' does not exist!" "${package}"
 | 
					        error "Package '%s' does not exist!" "${PACKAGE}"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -105,9 +120,9 @@ display_settings(){
 | 
				
			|||||||
    show_config
 | 
					    show_config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "OPTIONS:"
 | 
					    msg "OPTIONS:"
 | 
				
			||||||
    msg2 "source_repo: %s" "${source_repo}"
 | 
					    msg2 "REPO_SRC: %s" "${REPO_SRC}"
 | 
				
			||||||
    msg2 "target_repo: %s" "${target_repo}"
 | 
					    msg2 "REPO_DEST: %s" "${REPO_DEST}"
 | 
				
			||||||
    msg2 "package: %s" "${package}"
 | 
					    msg2 "PACKAGE: %s" "${PACKAGE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "ARGS:"
 | 
					    msg "ARGS:"
 | 
				
			||||||
    msg2 "remove: %s" "${remove}"
 | 
					    msg2 "remove: %s" "${remove}"
 | 
				
			||||||
@@ -120,18 +135,18 @@ load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artoo
 | 
				
			|||||||
load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
 | 
					load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
 | 
				
			||||||
load_vars /etc/makepkg.conf
 | 
					load_vars /etc/makepkg.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
source_repo='trunk'
 | 
					REPO_SRC='trunk'
 | 
				
			||||||
package=''
 | 
					PACKAGE=''
 | 
				
			||||||
remove=false
 | 
					remove=false
 | 
				
			||||||
push=false
 | 
					push=false
 | 
				
			||||||
pretend=false
 | 
					pretend=false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cmd=${0##*/}
 | 
					cmd=${0##*/}
 | 
				
			||||||
target_repo=${cmd%pkg}
 | 
					REPO_DEST=${cmd%pkg}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
usage() {
 | 
					usage() {
 | 
				
			||||||
    echo "Usage: ${0##*/} [options]"
 | 
					    echo "Usage: ${0##*/} [options]"
 | 
				
			||||||
    echo "    -s <name>          Source repository [default:${source_repo}]"
 | 
					    echo "    -s <name>          Source repository [default:${REPO_SRC}]"
 | 
				
			||||||
    echo '    -p <pkg>           Package name'
 | 
					    echo '    -p <pkg>           Package name'
 | 
				
			||||||
    echo '    -r                 Delete from repo (commitpkg only)'
 | 
					    echo '    -r                 Delete from repo (commitpkg only)'
 | 
				
			||||||
    echo '    -u                 Push'
 | 
					    echo '    -u                 Push'
 | 
				
			||||||
@@ -148,8 +163,8 @@ opts='p:s:urqh'
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
while getopts "${opts}" arg; do
 | 
					while getopts "${opts}" arg; do
 | 
				
			||||||
    case "${arg}" in
 | 
					    case "${arg}" in
 | 
				
			||||||
        s) source_repo="$OPTARG" ;;
 | 
					        s) REPO_SRC="$OPTARG" ;;
 | 
				
			||||||
        p) package="$OPTARG" ;;
 | 
					        p) PACKAGE="$OPTARG" ;;
 | 
				
			||||||
        r) remove=true ;;
 | 
					        r) remove=true ;;
 | 
				
			||||||
        u) push=true ;;
 | 
					        u) push=true ;;
 | 
				
			||||||
        q) pretend=true ;;
 | 
					        q) pretend=true ;;
 | 
				
			||||||
@@ -162,12 +177,12 @@ shift $(($OPTIND - 1))
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
${pretend} && display_settings && exit 1
 | 
					${pretend} && display_settings && exit 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if $(is_valid_repo "${source_repo}");then
 | 
					if $(is_valid_repo "${REPO_SRC}");then
 | 
				
			||||||
    if [[ "${cmd}" == 'commitpkg' ]];then
 | 
					    if [[ "${cmd}" == 'commitpkg' ]];then
 | 
				
			||||||
        commit_pkg
 | 
					        commit_pkg
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        symlink_commit_pkg
 | 
					        symlink_commit_pkg
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
    error "source repository '%s' is not valid!" "${source_repo}"
 | 
					    error "source repository '%s' is not valid!" "${REPO_SRC}"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,43 +9,51 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
SYSCONFDIR='@sysconfdir@'
 | 
					SYSCONFDIR='@sysconfdir@'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
					[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
				
			||||||
import ${LIBDIR}/util.sh
 | 
					import ${LIBDIR}/util.sh
 | 
				
			||||||
import ${LIBDIR}/util-iso-publish.sh
 | 
					
 | 
				
			||||||
 | 
					connect(){
 | 
				
			||||||
 | 
					    local home="/home/frs/project/${PROJECT}"
 | 
				
			||||||
 | 
					    echo "${ACCOUNT},${PROJECT}@frs.${FILE_HOST}:${home}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					prepare_transfer(){
 | 
				
			||||||
 | 
					    DEST_DIR="/iso/${PROFILE}/"
 | 
				
			||||||
 | 
					    SRC_DIR="${ISO_POOL}/${PROFILE}/"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sync_dir(){
 | 
				
			||||||
 | 
					    msg "Start upload [%s] ..." "${PROFILE}"
 | 
				
			||||||
 | 
					    rsync "${rsync_args[@]}" ${SRC_DIR} $(connect)${DEST_DIR}
 | 
				
			||||||
 | 
					    msg "Done upload [%s]" "${PROFILE}"
 | 
				
			||||||
 | 
					    show_elapsed_time "${FUNCNAME}" "${timer_start}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
display_settings(){
 | 
					display_settings(){
 | 
				
			||||||
    show_version
 | 
					    show_version
 | 
				
			||||||
    show_config
 | 
					    show_config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "OPTIONS:"
 | 
					    msg "OPTIONS:"
 | 
				
			||||||
    msg2 "profile: %s" "${profile}"
 | 
					    msg2 "PROFILE: %s" "${PROFILE}"
 | 
				
			||||||
    msg2 "uplimit: %s kB/s" "${uplimit}"
 | 
					    msg2 "UPLIMIT: %s kB/s" "${UPLIMIT}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "ARGS:"
 | 
					    msg "ARGS:"
 | 
				
			||||||
    msg2 "update: %s" "${update}"
 | 
					    msg2 "update: %s" "${update}"
 | 
				
			||||||
    msg2 "verbose: %s" "${verbose}"
 | 
					    msg2 "verbose: %s" "${verbose}"
 | 
				
			||||||
    msg2 "torrent: %s" "${torrent}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if ${torrent};then
 | 
					 | 
				
			||||||
        msg2 "tracker_url: %s" "${tracker_url}"
 | 
					 | 
				
			||||||
        msg2 "piece_size: %s" "${piece_size}"
 | 
					 | 
				
			||||||
        msg2 "host_mirrors: %s" "${host_mirrors[*]}"
 | 
					 | 
				
			||||||
        msg2 "torrent_meta: %s" "${torrent_meta}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "REMOTE:"
 | 
					    msg "REMOTE:"
 | 
				
			||||||
    msg2 "account: %s" "${account}"
 | 
					    msg2 "ACCOUNT: %s" "${ACCOUNT}"
 | 
				
			||||||
    msg2 "file_host: %s" "${file_host}"
 | 
					    msg2 "FILE_HOST: %s" "${FILE_HOST}"
 | 
				
			||||||
    msg2 "project: %s" "${project}"
 | 
					    msg2 "PROFILE: %s" "${PROJECT}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "UPLOAD:"
 | 
					    msg "UPLOAD:"
 | 
				
			||||||
    msg2 "src_dir: ${src_dir}"
 | 
					    msg2 "SRC_DIR: ${SRC_DIR}"
 | 
				
			||||||
    msg2 "target_dir: ${target_dir}"
 | 
					    msg2 "DEST_DIR: ${DEST_DIR}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
load_user_info
 | 
					load_user_info
 | 
				
			||||||
@@ -55,16 +63,14 @@ load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artoo
 | 
				
			|||||||
pretend=false
 | 
					pretend=false
 | 
				
			||||||
update=false
 | 
					update=false
 | 
				
			||||||
verbose=false
 | 
					verbose=false
 | 
				
			||||||
torrent=false
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
rsync_args=(-aP --progress -e ssh)
 | 
					rsync_args=(-aP --progress -e ssh)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
usage() {
 | 
					usage() {
 | 
				
			||||||
    echo "Usage: ${0##*/} [options]"
 | 
					    echo "Usage: ${0##*/} [options]"
 | 
				
			||||||
    echo "    -p                 Source folder to upload [default: ${profile}]"
 | 
					    echo "    -p                 Source folder to upload [default: ${PROFILE}]"
 | 
				
			||||||
    echo "    -l                 Limit bandwidth in kB/s [default:${uplimit}]"
 | 
					    echo "    -l                 Limit bandwidth in kB/s [default:${UPLIMIT}]"
 | 
				
			||||||
    echo '    -u                 Update remote directory'
 | 
					    echo '    -u                 Update remote directory'
 | 
				
			||||||
    echo '    -t                 Create iso torrent'
 | 
					 | 
				
			||||||
    echo '    -q                 Query settings and pretend upload'
 | 
					    echo '    -q                 Query settings and pretend upload'
 | 
				
			||||||
    echo '    -v                 Verbose output'
 | 
					    echo '    -v                 Verbose output'
 | 
				
			||||||
    echo '    -h                 This help'
 | 
					    echo '    -h                 This help'
 | 
				
			||||||
@@ -73,14 +79,13 @@ usage() {
 | 
				
			|||||||
    exit $1
 | 
					    exit $1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
opts='p:l:uvtqh'
 | 
					opts='p:l:uvqh'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
while getopts "${opts}" arg; do
 | 
					while getopts "${opts}" arg; do
 | 
				
			||||||
    case "${arg}" in
 | 
					    case "${arg}" in
 | 
				
			||||||
        p) profile="$OPTARG" ;;
 | 
					        p) PROFILE="$OPTARG" ;;
 | 
				
			||||||
        l) uplimit="$OPTARG" ;;
 | 
					        l) UPLIMIT="$OPTARG" ;;
 | 
				
			||||||
        u) update=true; rsync_args+=(-u) ;;
 | 
					        u) update=true; rsync_args+=(-u) ;;
 | 
				
			||||||
        t) torrent=true ;;
 | 
					 | 
				
			||||||
        v) verbose=true; rsync_args+=(-v --stats) ;;
 | 
					        v) verbose=true; rsync_args+=(-v --stats) ;;
 | 
				
			||||||
        q) pretend=true; rsync_args+=(-n) ;;
 | 
					        q) pretend=true; rsync_args+=(-n) ;;
 | 
				
			||||||
        h|?) usage 0 ;;
 | 
					        h|?) usage 0 ;;
 | 
				
			||||||
@@ -92,7 +97,7 @@ shift $(($OPTIND - 1))
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
timer_start=$(get_timer)
 | 
					timer_start=$(get_timer)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
rsync_args+=(--bwlimit=${uplimit})
 | 
					rsync_args+=(--bwlimit=${UPLIMIT})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
prepare_transfer
 | 
					prepare_transfer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
SYSCONFDIR='@sysconfdir@'
 | 
					SYSCONFDIR='@sysconfdir@'
 | 
				
			||||||
@@ -20,7 +20,7 @@ import ${LIBDIR}/util-pkg.sh
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
update_repo(){
 | 
					update_repo(){
 | 
				
			||||||
    local repo="$1" pkgfile ver ext=db.tar.xz
 | 
					    local repo="$1" pkgfile ver ext=db.tar.xz
 | 
				
			||||||
    local repo_path=${repos_root}/$repo/os/${target_arch} packages=()
 | 
					    local repo_path=${REPOS_ROOT}/$repo/os/${ARCH} packages=()
 | 
				
			||||||
    source PKGBUILD
 | 
					    source PKGBUILD
 | 
				
			||||||
    for name in ${pkgname[@]};do
 | 
					    for name in ${pkgname[@]};do
 | 
				
			||||||
        [[ $arch == any ]] && CARCH=any
 | 
					        [[ $arch == any ]] && CARCH=any
 | 
				
			||||||
@@ -55,7 +55,7 @@ display_settings(){
 | 
				
			|||||||
    show_config
 | 
					    show_config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "OPTIONS:"
 | 
					    msg "OPTIONS:"
 | 
				
			||||||
    msg2 "repository: %s" "${repository}"
 | 
					    msg2 "REPOSITORY: %s" "${REPOSITORY}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg "ARGS:"
 | 
					    msg "ARGS:"
 | 
				
			||||||
    msg2 "add_pkg: %s" "${add_pkg}"
 | 
					    msg2 "add_pkg: %s" "${add_pkg}"
 | 
				
			||||||
@@ -72,12 +72,12 @@ load_vars /etc/makepkg.conf
 | 
				
			|||||||
pretend=false
 | 
					pretend=false
 | 
				
			||||||
add_pkg=false
 | 
					add_pkg=false
 | 
				
			||||||
del_pkg=false
 | 
					del_pkg=false
 | 
				
			||||||
repository=
 | 
					REPOSITORY=
 | 
				
			||||||
sign_pkg=false
 | 
					sign_pkg=false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
usage() {
 | 
					usage() {
 | 
				
			||||||
    echo "Usage: ${0##*/} [options]"
 | 
					    echo "Usage: ${0##*/} [options]"
 | 
				
			||||||
    echo "    -d                 Destination repository [default:${repository}]"
 | 
					    echo "    -d                 Destination repository [default:${REPOSITORY}]"
 | 
				
			||||||
    echo '    -a                 Add package(s) to repository'
 | 
					    echo '    -a                 Add package(s) to repository'
 | 
				
			||||||
    echo '    -r                 Remove package(s) from repository'
 | 
					    echo '    -r                 Remove package(s) from repository'
 | 
				
			||||||
    echo '    -s                 Sign package(s)'
 | 
					    echo '    -s                 Sign package(s)'
 | 
				
			||||||
@@ -94,7 +94,7 @@ opts='d:arsqh'
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
while getopts "${opts}" arg; do
 | 
					while getopts "${opts}" arg; do
 | 
				
			||||||
    case "${arg}" in
 | 
					    case "${arg}" in
 | 
				
			||||||
        d) repository="$OPTARG" ;;
 | 
					        d) REPOSITORY="$OPTARG" ;;
 | 
				
			||||||
        a) add_pkg=true; del_pkg=false ;;
 | 
					        a) add_pkg=true; del_pkg=false ;;
 | 
				
			||||||
        r) del_pkg=true; add_pkg=false ;;
 | 
					        r) del_pkg=true; add_pkg=false ;;
 | 
				
			||||||
        s) sign_pkg=true ;;
 | 
					        s) sign_pkg=true ;;
 | 
				
			||||||
@@ -106,8 +106,8 @@ done
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
shift $(($OPTIND - 1))
 | 
					shift $(($OPTIND - 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
prepare_dir "${repos_root}"
 | 
					prepare_dir "${REPOS_ROOT}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
${pretend} && display_settings && exit 1
 | 
					${pretend} && display_settings && exit 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
update_repo "${repository}"
 | 
					update_repo "${REPOSITORY}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
shopt -s extglob
 | 
					shopt -s extglob
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chroot_version=@chroot_version@
 | 
					chroot_version=@chroot_version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,15 +23,17 @@ working_dir=''
 | 
				
			|||||||
files=()
 | 
					files=()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
nosetarch=false
 | 
					nosetarch=false
 | 
				
			||||||
 | 
					copy_mirrorlist=true
 | 
				
			||||||
 | 
					basestrap_args=(-Gc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
usage() {
 | 
					usage() {
 | 
				
			||||||
    echo "Usage: ${0##*/} [options] working-dir package-list..."
 | 
					    echo "Usage: ${0##*/} [options] working-dir package-list..."
 | 
				
			||||||
    echo ' options:'
 | 
					    echo ' options:'
 | 
				
			||||||
    echo '    -C <file>     Location of a pacman config file'
 | 
					    echo '    -C <file>     Location of a pacman config file'
 | 
				
			||||||
    echo '    -M <file>     Location of a makepkg config file'
 | 
					    echo '    -M <file>     Location of a makepkg config file'
 | 
				
			||||||
    echo '    -U <url>      Set a specific mirror'
 | 
					 | 
				
			||||||
    echo '    -c <dir>      Set pacman cache'
 | 
					    echo '    -c <dir>      Set pacman cache'
 | 
				
			||||||
    echo '    -f <file>     Copy file from the host to the chroot'
 | 
					    echo '    -f <file>     Copy file from the host to the chroot'
 | 
				
			||||||
 | 
					    echo '    -m            Do not copy mirrorlist to the chroot'
 | 
				
			||||||
    echo '    -s            Do not run setarch'
 | 
					    echo '    -s            Do not run setarch'
 | 
				
			||||||
    echo '    -h            This message'
 | 
					    echo '    -h            This message'
 | 
				
			||||||
    exit 1
 | 
					    exit 1
 | 
				
			||||||
@@ -39,16 +41,16 @@ usage() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
orig_argv=("$0" "$@")
 | 
					orig_argv=("$0" "$@")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
opts='hC:M:U:c:f:s'
 | 
					opts='hC:M:c:f:sm'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
while getopts ${opts} arg; do
 | 
					while getopts ${opts} arg; do
 | 
				
			||||||
    case "${arg}" in
 | 
					    case "${arg}" in
 | 
				
			||||||
        C) pacman_conf="$OPTARG" ;;
 | 
					        C) pacman_conf="$OPTARG" ;;
 | 
				
			||||||
        M) makepkg_conf="$OPTARG" ;;
 | 
					        M) makepkg_conf="$OPTARG" ;;
 | 
				
			||||||
        U) mirror="$OPTARG" ;;
 | 
					 | 
				
			||||||
        c) cache_dir="$OPTARG" ;;
 | 
					        c) cache_dir="$OPTARG" ;;
 | 
				
			||||||
        f) files+=("$OPTARG") ;;
 | 
					        f) files+=("$OPTARG") ;;
 | 
				
			||||||
        s) nosetarch=true ;;
 | 
					        s) nosetarch=true ;;
 | 
				
			||||||
 | 
					        m) copy_mirrorlist=false; basestrap_args+=(-M) ;;
 | 
				
			||||||
        h|?) usage ;;
 | 
					        h|?) usage ;;
 | 
				
			||||||
        *) error "invalid argument '%s'" "$arg"; usage ;;
 | 
					        *) error "invalid argument '%s'" "$arg"; usage ;;
 | 
				
			||||||
    esac
 | 
					    esac
 | 
				
			||||||
@@ -98,10 +100,13 @@ while read -r varname; do
 | 
				
			|||||||
    _env+=("$varname=${!varname}")
 | 
					    _env+=("$varname=${!varname}")
 | 
				
			||||||
done < <(declare -x | sed -r 's/^declare -x ([^=]*)=.*/\1/' | grep -i '_proxy$')
 | 
					done < <(declare -x | sed -r 's/^declare -x ([^=]*)=.*/\1/' | grep -i '_proxy$')
 | 
				
			||||||
env -i "${_env[@]}" \
 | 
					env -i "${_env[@]}" \
 | 
				
			||||||
basestrap -Gc ${pacman_conf:+-C "$pacman_conf"} "$working_dir" ${cache_dirs[@]/#/--cachedir=} "$@" || die 'Failed to install all packages'
 | 
					basestrap "${basestrap_args[@]}" ${pacman_conf:+-C "$pacman_conf"} "$working_dir" ${cache_dirs[@]/#/--cachedir=} "$@" || die 'Failed to install all packages'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "$chroot_version" > "$working_dir/.artools"
 | 
					echo "$chroot_version" > "$working_dir/.artools"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ ! -f "$working_dir/etc/locale.gen.orig" ]];then
 | 
				
			||||||
 | 
					    mv "$working_dir/etc/locale.gen" "$working_dir/etc/locale.gen.orig"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
printf '%s.UTF-8 UTF-8\n' en_US de_DE > "$working_dir/etc/locale.gen"
 | 
					printf '%s.UTF-8 UTF-8\n' en_US de_DE > "$working_dir/etc/locale.gen"
 | 
				
			||||||
echo 'LANG=en_US.UTF-8' > "$working_dir/etc/locale.conf"
 | 
					echo 'LANG=en_US.UTF-8' > "$working_dir/etc/locale.conf"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -204,15 +204,11 @@ _chrootbuild() {
 | 
				
			|||||||
    ulimit -c 0
 | 
					    ulimit -c 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Work around chroot-run not giving a ctty
 | 
					    # Work around chroot-run not giving a ctty
 | 
				
			||||||
    exec </dev/console
 | 
					    #exec </dev/console
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    . /etc/profile
 | 
					    . /etc/profile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    export LANG=en_US.UTF-8
 | 
					    #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 "$@"
 | 
					    sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,93 +0,0 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# This program is free software; you can redistribute it and/or modify
 | 
					 | 
				
			||||||
# it under the terms of the GNU General Public License as published by
 | 
					 | 
				
			||||||
# the Free Software Foundation; version 2 of the License.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# This program is distributed in the hope that it will be useful,
 | 
					 | 
				
			||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					 | 
				
			||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					 | 
				
			||||||
# GNU General Public License for more details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
version=@version@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					 | 
				
			||||||
SYSCONFDIR='@sysconfdir@'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
					 | 
				
			||||||
import ${LIBDIR}/util.sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
prepare_clean(){
 | 
					 | 
				
			||||||
    if [[ -n ${repository} ]];then
 | 
					 | 
				
			||||||
        storage_dir=${repos_root}/${repository}/os/${target_arch}
 | 
					 | 
				
			||||||
        paccache_args+=(-c "${storage_dir}" -k 1)
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        if [[ -n ${PKGDEST} ]];then
 | 
					 | 
				
			||||||
            storage_dir=${PKGDEST}
 | 
					 | 
				
			||||||
            paccache_args+=(-c "${storage_dir}" -k 4)
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            die "PKGDEST not set in makepkg.conf!"
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
display_settings(){
 | 
					 | 
				
			||||||
    show_version
 | 
					 | 
				
			||||||
    show_config
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg "OPTIONS:"
 | 
					 | 
				
			||||||
    msg2 "repository: %s" "${repository}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg "PATH:"
 | 
					 | 
				
			||||||
    msg2 "storage_dir: %s" "${storage_dir}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg "ARGS:"
 | 
					 | 
				
			||||||
    msg2 "paccache_args: %s" "${paccache_args[*]}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    paccache "${paccache_args[@]}"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
load_user_info
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
 | 
					 | 
				
			||||||
load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
 | 
					 | 
				
			||||||
load_vars /etc/makepkg.conf
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
clean=false
 | 
					 | 
				
			||||||
pretend=false
 | 
					 | 
				
			||||||
repository=''
 | 
					 | 
				
			||||||
storage_dir=''
 | 
					 | 
				
			||||||
paccache_args=(-v)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
usage() {
 | 
					 | 
				
			||||||
    echo "Usage: ${0##*/} [options]"
 | 
					 | 
				
			||||||
    echo "    -d <dir>           Directory [default:${repository}]"
 | 
					 | 
				
			||||||
    echo '    -c                 Clean up'
 | 
					 | 
				
			||||||
    echo '    -q                 Query settings and pretend cleaning'
 | 
					 | 
				
			||||||
    echo '    -h                 This help'
 | 
					 | 
				
			||||||
    echo ''
 | 
					 | 
				
			||||||
    echo ''
 | 
					 | 
				
			||||||
    exit $1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
orig_argv=("$0" "$@")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
opts='d:cqh'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
while getopts "${opts}" arg; do
 | 
					 | 
				
			||||||
    case "${arg}" in
 | 
					 | 
				
			||||||
        d) repository="$OPTARG" ;;
 | 
					 | 
				
			||||||
        c) clean=true ; paccache_args+=(-r) ;;
 | 
					 | 
				
			||||||
        q) pretend=true; paccache_args+=(-d) ;;
 | 
					 | 
				
			||||||
        h|?) usage 0 ;;
 | 
					 | 
				
			||||||
        *) echo "invalid argument '${arg}'"; usage 1 ;;
 | 
					 | 
				
			||||||
    esac
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shift $(($OPTIND - 1))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
prepare_clean
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
${pretend} && display_settings && exit 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
${clean} && paccache "${paccache_args[@]}"
 | 
					 | 
				
			||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
# GNU General Public License for more details.
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=@version@
 | 
					VERSION=@version@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBDIR='@libdir@'
 | 
					LIBDIR='@libdir@'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,57 +3,48 @@
 | 
				
			|||||||
#############################################
 | 
					#############################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# build dir where buildpkg or buildiso chroots are created
 | 
					# build dir where buildpkg or buildiso chroots are created
 | 
				
			||||||
# chroots_dir=/var/lib/artools
 | 
					# CHROOTS_DIR=/var/lib/artools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# the workspace directory
 | 
					# the workspace directory
 | 
				
			||||||
# workspace_dir="/home/${OWNER}/artools-workspace"
 | 
					# WORKSPACE_DIR="/home/${OWNER}/artools-workspace"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#############################################
 | 
					#############################################
 | 
				
			||||||
################ artools-pkg ################
 | 
					################ artools-pkg ################
 | 
				
			||||||
#############################################
 | 
					#############################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# host_tree_artix='https://github.com/artix-linux'
 | 
					# gitea user access token
 | 
				
			||||||
 | 
					# GIT_TOKEN=''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# host_tree_arch=git://projects.archlinux.org/svntogit
 | 
					# HOST_TREE_ARTIX='gitea@gitea.artixlinux.org:artix'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# HOST_TREE_ARCH=git://projects.archlinux.org/svntogit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# default repos root
 | 
					# default repos root
 | 
				
			||||||
# repos_root=${workspace_dir}/repos
 | 
					# REPOS_ROOT=${WORKSPACE_DIR}/repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#############################################
 | 
					#############################################
 | 
				
			||||||
################ artools-iso ################
 | 
					################ artools-iso ################
 | 
				
			||||||
#############################################
 | 
					#############################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# the iso storage directory
 | 
					# the iso storage directory
 | 
				
			||||||
# iso_pool="${workspace_dir}/iso"
 | 
					# ISO_POOL="${WORKSPACE_DIR}/iso"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# the dist release; default: auto
 | 
					# the dist release; default: auto
 | 
				
			||||||
# iso_version=$(date +%Y%m%d)
 | 
					# ISO_VERSION=$(date +%Y%m%d)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# possible values: openrc, (s6, runit) not yet supported
 | 
					# possible values: openrc, runit (s6 not yet supported)
 | 
				
			||||||
# initsys="openrc"
 | 
					# INITSYS="openrc"
 | 
				
			||||||
 | 
					 | 
				
			||||||
# unset defaults to given value
 | 
					 | 
				
			||||||
# kernel="linux"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# gpg key; leave empty or commented to skip sfs signing
 | 
					# gpg key; leave empty or commented to skip sfs signing
 | 
				
			||||||
# gpgkey=""
 | 
					# GPG_KEY=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# set upload bandwidth limit in kB/s
 | 
					# set upload bandwidth limit in kB/s
 | 
				
			||||||
# uplimit=100
 | 
					# UPLIMIT=1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# the torrent tracker urls, comma separated
 | 
					# FILE_HOST="sourceforge.net"
 | 
				
			||||||
# tracker_url='udp://mirror.strits.dk:6969'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# file_host="sourceforge.net"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# the server user
 | 
					# the server user
 | 
				
			||||||
# account=[SetUser]
 | 
					# ACCOUNT=[SetUser]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# the server project
 | 
					# the server project
 | 
				
			||||||
# project="artix-linux"
 | 
					# PROJECT="artix-linux"
 | 
				
			||||||
 | 
					 | 
				
			||||||
# host mirrors
 | 
					 | 
				
			||||||
# host_mirrors=('netcologne' 'freefr' 'netix' 'kent' '10gbps-io')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Piece size, 2^n
 | 
					 | 
				
			||||||
# piece_size=21
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
MODULES=(loop dm-snapshot)
 | 
					MODULES=(loop dm-snapshot)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HOOKS=(base udev artix_shutdown artix artix_loop_mnt artix_pxe_common artix_pxe_http artix_pxe_nbd artix_pxe_nfs artix_kms modconf block pcmcia filesystems keyboard keymap)
 | 
					HOOKS=(base udev artix_shutdown artix artix_loop_mnt artix_pxe_common artix_pxe_http artix_pxe_nbd artix_pxe_nfs artix_kms modconf block filesystems keyboard keymap)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COMPRESSION="xz"
 | 
					COMPRESSION="xz"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,5 @@
 | 
				
			|||||||
DIRMODE = -dm0755
 | 
					DIRMODE = -dm0755
 | 
				
			||||||
MODE =  -m0755
 | 
					MODE =  -m0755
 | 
				
			||||||
RM = rm -f
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
CPIOHOOKS = \
 | 
					CPIOHOOKS = \
 | 
				
			||||||
	$(wildcard hooks/*)
 | 
						$(wildcard hooks/*)
 | 
				
			||||||
@@ -19,13 +18,6 @@ install_initcpio:
 | 
				
			|||||||
	install $(MODE) $(CPIOINST) $(DESTDIR)$(CPIODIR)/install
 | 
						install $(MODE) $(CPIOINST) $(DESTDIR)$(CPIODIR)/install
 | 
				
			||||||
	install $(MODE) $(SCRIPT) $(DESTDIR)$(CPIODIR)
 | 
						install $(MODE) $(SCRIPT) $(DESTDIR)$(CPIODIR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uninstall_initcpio:
 | 
					 | 
				
			||||||
	for f in $(notdir $(CPIOHOOKS)); do $(RM) $(DESTDIR)$(CPIODIR)/hooks/$$f; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(CPIOINST)); do $(RM) $(DESTDIR)$(CPIODIR)/install/$$f; done
 | 
					 | 
				
			||||||
	for f in $(notdir $(SCRIPT)); do $(RM) $(DESTDIR)$(CPIODIR)/$$f; done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install: install_initcpio
 | 
					install: install_initcpio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uninstall: uninstall_initcpio
 | 
					.PHONY: install
 | 
				
			||||||
 | 
					 | 
				
			||||||
.PHONY: install uninstall
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,10 @@ _mnt_dmsnapshot() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}"
 | 
					    dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ "${cow_persistent}" != "P" ]]; then
 | 
				
			||||||
 | 
					        rm -f "/run/artix/cowspace/${cow_directory}/${img_name}.cow"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _mnt_dev "/dev/mapper/${dm_snap_name}" "${mnt}" "-w" "defaults"
 | 
					    _mnt_dev "/dev/mapper/${dm_snap_name}" "${mnt}" "-w" "defaults"
 | 
				
			||||||
    echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/artix/used_block_devices
 | 
					    echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/artix/used_block_devices
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,28 +20,37 @@ prepare_initcpio(){
 | 
				
			|||||||
prepare_initramfs(){
 | 
					prepare_initramfs(){
 | 
				
			||||||
    local mnt="$1"
 | 
					    local mnt="$1"
 | 
				
			||||||
    cp ${DATADIR}/mkinitcpio.conf $mnt/etc/mkinitcpio-artix.conf
 | 
					    cp ${DATADIR}/mkinitcpio.conf $mnt/etc/mkinitcpio-artix.conf
 | 
				
			||||||
    if [[ -n ${gpgkey} ]]; then
 | 
					
 | 
				
			||||||
        user_run "gpg --export ${gpgkey} >${AT_USERCONFDIR}/gpgkey"
 | 
					    if [[ "${PROFILE}" != 'base' ]];then
 | 
				
			||||||
        exec 17<>${AT_USERCONFDIR}/gpgkey
 | 
					        sed -e 's/artix_pxe_common artix_pxe_http artix_pxe_nbd artix_pxe_nfs //' -i $mnt/etc/mkinitcpio-artix.conf
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -n ${GPG_KEY} ]]; then
 | 
				
			||||||
 | 
					        user_run "gpg --export ${GPG_KEY} >${AT_USERCONFDIR}/gpgkey"
 | 
				
			||||||
 | 
					        exec 17<>${AT_USERCONFDIR}/GPG_KEY
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    local _kernel=$(cat $mnt/usr/lib/modules/*/version)
 | 
					    local _kernel=$(cat $mnt/usr/lib/modules/*/version)
 | 
				
			||||||
    ARTIX_GNUPG_FD=${gpgkey:+17} chroot-run $mnt \
 | 
					    ARTIX_GNUPG_FD=${GPG_KEY:+17} chroot-run $mnt \
 | 
				
			||||||
        /usr/bin/mkinitcpio -k ${_kernel} \
 | 
					        /usr/bin/mkinitcpio -k ${_kernel} \
 | 
				
			||||||
        -c /etc/mkinitcpio-artix.conf \
 | 
					        -c /etc/mkinitcpio-artix.conf \
 | 
				
			||||||
        -g /boot/initramfs.img
 | 
					        -g /boot/initramfs.img
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -n ${gpgkey} ]]; then
 | 
					    if [[ -n ${GPG_KEY} ]]; then
 | 
				
			||||||
        exec 17<&-
 | 
					        exec 17<&-
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [[ -f ${AT_USERCONFDIR}/gpgkey ]]; then
 | 
					    if [[ -f ${AT_USERCONFDIR}/GPG_KEY ]]; then
 | 
				
			||||||
        rm ${AT_USERCONFDIR}/gpgkey
 | 
					        rm ${AT_USERCONFDIR}/GPG_KEY
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
prepare_boot_extras(){
 | 
					prepare_boot_extras(){
 | 
				
			||||||
    local src="$1" dest="$2"
 | 
					    local src="$1" dest="$2"
 | 
				
			||||||
#     cp $src/boot/intel-ucode.img $dest/intel_ucode.img
 | 
					
 | 
				
			||||||
#     cp $src/usr/share/licenses/intel-ucode/LICENSE $dest/intel_ucode.LICENSE
 | 
					    for u in intel amd;do
 | 
				
			||||||
 | 
					        cp $src/boot/$u-ucode.img $dest/$u-ucode.img
 | 
				
			||||||
 | 
					        cp $src/usr/share/licenses/$u-ucode/LICENSE $dest/$u-ucode.LICENSE
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cp $src/boot/memtest86+/memtest.bin $dest/memtest
 | 
					    cp $src/boot/memtest86+/memtest.bin $dest/memtest
 | 
				
			||||||
    cp $src/usr/share/licenses/common/GPL2/license.txt $dest/memtest.COPYING
 | 
					    cp $src/usr/share/licenses/common/GPL2/license.txt $dest/memtest.COPYING
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -53,7 +62,7 @@ configure_grub(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
prepare_grub(){
 | 
					prepare_grub(){
 | 
				
			||||||
    local platform=i386-pc img='core.img' grub=$3/boot/grub efi=$3/efi/boot \
 | 
					    local platform=i386-pc img='core.img' grub=$3/boot/grub efi=$3/efi/boot \
 | 
				
			||||||
        lib=$1/usr/lib/grub prefix=/boot/grub theme=$2/usr/share/grub data=$1/usr/share/grub
 | 
					        lib=$1/usr/lib/grub prefix=/boot/grub theme=$2/usr/share/grub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    prepare_dir ${grub}/${platform}
 | 
					    prepare_dir ${grub}/${platform}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -81,9 +90,16 @@ prepare_grub(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    prepare_dir ${grub}/themes
 | 
					    prepare_dir ${grub}/themes
 | 
				
			||||||
    cp -r ${theme}/themes/artix ${grub}/themes/
 | 
					    cp -r ${theme}/themes/artix ${grub}/themes/
 | 
				
			||||||
    cp ${data}/unicode.pf2 ${grub}
 | 
					 | 
				
			||||||
    cp -r ${theme}/{locales,tz} ${grub}
 | 
					    cp -r ${theme}/{locales,tz} ${grub}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -f /usr/share/grub/unicode.pf2 ]];then
 | 
				
			||||||
 | 
					        msg2 "Copying %s ..." "unicode.pf2"
 | 
				
			||||||
 | 
					        cp /usr/share/grub/unicode.pf2 ${grub}/unicode.pf2
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        msg2 "Creating %s ..." "unicode.pf2"
 | 
				
			||||||
 | 
					        grub-mkfont -o ${grub}/unicode.pf2 /usr/share/fonts/misc/unifont.bdf
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local size=4M mnt="${mnt_dir}/efiboot" efi_img="$3/efi.img"
 | 
					    local size=4M mnt="${mnt_dir}/efiboot" efi_img="$3/efi.img"
 | 
				
			||||||
    msg2 "Creating fat image of %s ..." "${size}"
 | 
					    msg2 "Creating fat image of %s ..." "${size}"
 | 
				
			||||||
    truncate -s ${size} "${efi_img}"
 | 
					    truncate -s ${size} "${efi_img}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,25 +11,25 @@
 | 
				
			|||||||
init_profile(){
 | 
					init_profile(){
 | 
				
			||||||
    local profdir="$1" prof="$2"
 | 
					    local profdir="$1" prof="$2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    root_list="$profdir/base/Packages-Root"
 | 
					    ROOT_LIST="$profdir/base/Packages-Root"
 | 
				
			||||||
    root_overlay="$profdir/base/root-overlay"
 | 
					    ROOT_OVERLAY="$profdir/base/root-overlay"
 | 
				
			||||||
    live_list="$profdir/base/Packages-Live"
 | 
					    LIVE_LIST="$profdir/base/Packages-Live"
 | 
				
			||||||
    live_overlay="$profdir/base/live-overlay"
 | 
					    LIVE_OVERLAY="$profdir/base/live-overlay"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -f "$profdir/$prof/Packages-Root" ]] && root_list="$profdir/$prof/Packages-Root"
 | 
					    [[ -f "$profdir/$prof/Packages-Root" ]] && ROOT_LIST="$profdir/$prof/Packages-Root"
 | 
				
			||||||
    [[ -d "$profdir/$prof/root-overlay" ]] && root_overlay="$profdir/$prof/root-overlay"
 | 
					    [[ -d "$profdir/$prof/root-overlay" ]] && ROOT_OVERLAY="$profdir/$prof/root-overlay"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -f "$profdir/$prof/Packages-Desktop" ]] && desktop_list="$profdir/$prof/Packages-Desktop"
 | 
					    [[ -f "$profdir/$prof/Packages-Desktop" ]] && DESKTOP_LIST="$profdir/$prof/Packages-Desktop"
 | 
				
			||||||
    [[ -d "$profdir/$prof/desktop-overlay" ]] && desktop_overlay="$profdir/$prof/desktop-overlay"
 | 
					    [[ -d "$profdir/$prof/desktop-overlay" ]] && DESKTOP_OVERLAY="$profdir/$prof/desktop-overlay"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -f "$profdir/$prof/Packages-Live" ]] && live_list="$profdir/$prof/Packages-Live"
 | 
					    [[ -f "$profdir/$prof/Packages-Live" ]] && LIVE_LIST="$profdir/$prof/Packages-Live"
 | 
				
			||||||
    [[ -d "$profdir/$prof/live-overlay" ]] && live_overlay="$profdir/$prof/live-overlay"
 | 
					    [[ -d "$profdir/$prof/live-overlay" ]] && LIVE_OVERLAY="$profdir/$prof/live-overlay"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
load_profile(){
 | 
					load_profile(){
 | 
				
			||||||
    local prof="$1"
 | 
					    local prof="$1"
 | 
				
			||||||
    local profdir="${DATADIR}/iso-profiles"
 | 
					    local profdir="${DATADIR}/iso-profiles"
 | 
				
			||||||
    [[ -d ${workspace_dir}/iso-profiles ]] && profdir=${workspace_dir}/iso-profiles
 | 
					    [[ -d ${WORKSPACE_DIR}/iso-profiles ]] && profdir=${WORKSPACE_DIR}/iso-profiles
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    init_profile "$profdir" "$prof"
 | 
					    init_profile "$profdir" "$prof"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -37,34 +37,34 @@ load_profile(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    [[ -r $profdir/$prof/profile.conf ]] && source $profdir/$prof/profile.conf
 | 
					    [[ -r $profdir/$prof/profile.conf ]] && source $profdir/$prof/profile.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${displaymanager} ]] && displaymanager="none"
 | 
					    [[ -z ${DISPLAYMANAGER} ]] && DISPLAYMANAGER="none"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${autologin} ]] && autologin="true"
 | 
					    [[ -z ${AUTOLOGIN} ]] && AUTOLOGIN="true"
 | 
				
			||||||
    [[ ${displaymanager} == 'none' ]] && autologin="false"
 | 
					    [[ ${DISPLAYMANAGER} == 'none' ]] && AUTOLOGIN="false"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${hostname} ]] && hostname="artix"
 | 
					    [[ -z ${HOST_NAME} ]] && HOST_NAME="artix"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${username} ]] && username="artix"
 | 
					    [[ -z ${USER_NAME} ]] && USER_NAME="artix"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${password} ]] && password="artix"
 | 
					    [[ -z ${PASSWORD} ]] && PASSWORD="artix"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -z ${addgroups} ]];then
 | 
					    if [[ -z ${ADDGROUPS} ]];then
 | 
				
			||||||
        addgroups="video,power,storage,optical,network,lp,scanner,wheel,users,log"
 | 
					        ADDGROUPS="video,power,storage,optical,network,lp,scanner,wheel,users,log"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -z ${services[@]} ]];then
 | 
					    if [[ -z ${SERVICES[@]} ]];then
 | 
				
			||||||
        services=('acpid' 'bluetooth' 'cronie' 'cupsd' 'syslog-ng' 'NetworkManager')
 | 
					        SERVICES=('acpid' 'bluetooth' 'cronie' 'cupsd' 'syslog-ng' 'NetworkManager')
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ ${displaymanager} != "none" ]];then
 | 
					    if [[ ${DISPLAYMANAGER} != "none" ]];then
 | 
				
			||||||
        case "${initsys}" in
 | 
					        case "${INITSYS}" in
 | 
				
			||||||
            'openrc') services+=('xdm') ;;
 | 
					            'openrc') SERVICES+=('xdm') ;;
 | 
				
			||||||
            'runit') services+=("${displaymanager}") ;;
 | 
					            'runit') SERVICES+=("${DISPLAYMANAGER}") ;;
 | 
				
			||||||
        esac
 | 
					        esac
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -z ${services_live[@]} ]];then
 | 
					    if [[ -z ${SERVICES_LIVE[@]} ]];then
 | 
				
			||||||
        services_live=('artix-live' 'pacman-init')
 | 
					        SERVICES_LIVE=('artix-live' 'pacman-init')
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return 0
 | 
					    return 0
 | 
				
			||||||
@@ -78,37 +78,35 @@ write_live_session_conf(){
 | 
				
			|||||||
    echo '# live session configuration' > ${conf}
 | 
					    echo '# live session configuration' > ${conf}
 | 
				
			||||||
    echo '' >> ${conf}
 | 
					    echo '' >> ${conf}
 | 
				
			||||||
    echo '# autologin' >> ${conf}
 | 
					    echo '# autologin' >> ${conf}
 | 
				
			||||||
    echo "autologin=${autologin}" >> ${conf}
 | 
					    echo "AUTOLOGIN=${AUTOLOGIN}" >> ${conf}
 | 
				
			||||||
    echo '' >> ${conf}
 | 
					    echo '' >> ${conf}
 | 
				
			||||||
    echo '# live username' >> ${conf}
 | 
					    echo '# live user name' >> ${conf}
 | 
				
			||||||
    echo "username=${username}" >> ${conf}
 | 
					    echo "USERNAME=${USERNAME}" >> ${conf}
 | 
				
			||||||
    echo '' >> ${conf}
 | 
					    echo '' >> ${conf}
 | 
				
			||||||
    echo '# live password' >> ${conf}
 | 
					    echo '# live password' >> ${conf}
 | 
				
			||||||
    echo "password=${password}" >> ${conf}
 | 
					    echo "PASSWORD=${PASSWORD}" >> ${conf}
 | 
				
			||||||
    echo '' >> ${conf}
 | 
					    echo '' >> ${conf}
 | 
				
			||||||
    echo '# live group membership' >> ${conf}
 | 
					    echo '# live group membership' >> ${conf}
 | 
				
			||||||
    echo "addgroups='${addgroups}'" >> ${conf}
 | 
					    echo "ADDGROUPS='${ADDGROUPS}'" >> ${conf}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
load_pkgs(){
 | 
					load_pkgs(){
 | 
				
			||||||
    local pkglist="$1" init="$2"
 | 
					    local pkglist="$1" init="$2"
 | 
				
			||||||
    info "Loading Packages: [%s] ..." "${pkglist##*/}"
 | 
					    info "Loading Packages: [%s] ..." "${pkglist##*/}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local _init="s|>$init||g"
 | 
					    local _init="s|@$init||g"
 | 
				
			||||||
    case "$init" in
 | 
					    case "$init" in
 | 
				
			||||||
        'openrc') _init_rm1="s|>runit.*||g"; _init_rm2="s|>s6*||g" ;;
 | 
					        'openrc') _init_rm1="s|@runit.*||g"; _init_rm2="s|@s6*||g" ;;
 | 
				
			||||||
        's6') _init_rm1="s|>runit.*||g"; _init_rm2="s|>openrc.*||g" ;;
 | 
					        's6') _init_rm1="s|@runit.*||g"; _init_rm2="s|@openrc.*||g" ;;
 | 
				
			||||||
        'runit') _init_rm1="s|>s6.*||g"; _init_rm2="s|>openrc.*||g" ;;
 | 
					        'runit') _init_rm1="s|@s6.*||g"; _init_rm2="s|@openrc.*||g" ;;
 | 
				
			||||||
    esac
 | 
					    esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local _blacklist="s|>blacklist.*||g" \
 | 
					    local _space="s| ||g" \
 | 
				
			||||||
        _space="s| ||g" \
 | 
					 | 
				
			||||||
        _clean=':a;N;$!ba;s/\n/ /g' \
 | 
					        _clean=':a;N;$!ba;s/\n/ /g' \
 | 
				
			||||||
        _com_rm="s|#.*||g"
 | 
					        _com_rm="s|#.*||g"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    packages=($(sed "$_com_rm" "$pkglist" \
 | 
					    packages=($(sed "$_com_rm" "$pkglist" \
 | 
				
			||||||
            | sed "$_space" \
 | 
					            | sed "$_space" \
 | 
				
			||||||
            | sed "$_blacklist" \
 | 
					 | 
				
			||||||
            | sed "$_purge" \
 | 
					            | sed "$_purge" \
 | 
				
			||||||
            | sed "$_init" \
 | 
					            | sed "$_init" \
 | 
				
			||||||
            | sed "$_init_rm1" \
 | 
					            | sed "$_init_rm1" \
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,51 +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.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
connect(){
 | 
					 | 
				
			||||||
    local home="/home/frs/project/${project}"
 | 
					 | 
				
			||||||
    echo "${account},${project}@frs.${file_host}:${home}"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
gen_webseed(){
 | 
					 | 
				
			||||||
    local webseed seed="$1"
 | 
					 | 
				
			||||||
    for mirror in ${host_mirrors[@]};do
 | 
					 | 
				
			||||||
        webseed=${webseed:-}${webseed:+,}"https://${mirror}.dl.${seed}"
 | 
					 | 
				
			||||||
    done
 | 
					 | 
				
			||||||
    echo ${webseed}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
make_torrent(){
 | 
					 | 
				
			||||||
    find ${src_dir} -type f -name "*.torrent" -delete
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    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 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
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
prepare_transfer(){
 | 
					 | 
				
			||||||
    target_dir="/iso/${profile}/"
 | 
					 | 
				
			||||||
    src_dir="${iso_pool}/${profile}/"
 | 
					 | 
				
			||||||
    ${torrent} && make_torrent
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sync_dir(){
 | 
					 | 
				
			||||||
    msg "Start upload [%s] ..." "${profile}"
 | 
					 | 
				
			||||||
    rsync "${rsync_args[@]}" ${src_dir} $(connect)${target_dir}
 | 
					 | 
				
			||||||
    msg "Done upload [%s]" "${profile}"
 | 
					 | 
				
			||||||
    show_elapsed_time "${FUNCNAME}" "${timer_start}"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -15,7 +15,7 @@ write_users_conf(){
 | 
				
			|||||||
    echo "---" > "$conf"
 | 
					    echo "---" > "$conf"
 | 
				
			||||||
    echo "defaultGroups:" >> "$conf"
 | 
					    echo "defaultGroups:" >> "$conf"
 | 
				
			||||||
    local IFS=','
 | 
					    local IFS=','
 | 
				
			||||||
    for g in ${addgroups[@]};do
 | 
					    for g in ${ADDGROUPS[@]};do
 | 
				
			||||||
        echo "    - $g" >> "$conf"
 | 
					        echo "    - $g" >> "$conf"
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
    unset IFS
 | 
					    unset IFS
 | 
				
			||||||
@@ -23,29 +23,46 @@ write_users_conf(){
 | 
				
			|||||||
    echo "doAutologin:     false" >> "$conf"
 | 
					    echo "doAutologin:     false" >> "$conf"
 | 
				
			||||||
    echo "sudoersGroup:    wheel" >> "$conf"
 | 
					    echo "sudoersGroup:    wheel" >> "$conf"
 | 
				
			||||||
    echo "setRootPassword: true" >> "$conf"
 | 
					    echo "setRootPassword: true" >> "$conf"
 | 
				
			||||||
#     echo "doReusePassword: false" >> "$conf" # only used in old 'users' module
 | 
					 | 
				
			||||||
    echo "availableShells: /bin/bash, /bin/zsh" >> "$conf" # only used in new 'users' module
 | 
					    echo "availableShells: /bin/bash, /bin/zsh" >> "$conf" # only used in new 'users' module
 | 
				
			||||||
    echo "avatarFilePath:  ~/.face" >> "$conf"
 | 
					
 | 
				
			||||||
 | 
					#     echo "passwordRequirements:" >> "$conf"
 | 
				
			||||||
 | 
					#     echo "    minLength: -1" >> "$conf"
 | 
				
			||||||
 | 
					#     echo "    maxLength: -1" >> "$conf"
 | 
				
			||||||
 | 
					#     echo "    libpwquality:" >> "$conf"
 | 
				
			||||||
 | 
					#     echo "        - minlen=8" >> "$conf"
 | 
				
			||||||
 | 
					#     echo "        - minclass=80" >> "$conf"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
write_servicescfg_conf(){
 | 
					write_servicescfg_conf(){
 | 
				
			||||||
    local init="$2"
 | 
					    local init="$2"
 | 
				
			||||||
    local conf="$1"/"$init"cfg.conf state='add'
 | 
					    local conf="$1"/services-"$init".conf
 | 
				
			||||||
    msg2 "Writing %s ..." "${conf##*/}"
 | 
					    msg2 "Writing %s ..." "${conf##*/}"
 | 
				
			||||||
    echo '---' >  "$conf"
 | 
					    echo '---' >  "$conf"
 | 
				
			||||||
    if [[ "$init" == 'runit' ]];then
 | 
					    case "$init" in
 | 
				
			||||||
        state='enabled'
 | 
					        'runit')
 | 
				
			||||||
        echo 'svdir: /etc/runit/sv' >> "$conf"
 | 
					            echo 'svDir: /etc/runit/sv' >> "$conf"
 | 
				
			||||||
        echo '' >> "$conf"
 | 
					            echo '' >> "$conf"
 | 
				
			||||||
        echo 'runsvdir: /etc/runit/runsvdir' >> "$conf"
 | 
					            echo 'runsvDir: /etc/runit/runsvdir' >> "$conf"
 | 
				
			||||||
    fi
 | 
					            echo '' >> "$conf"
 | 
				
			||||||
    echo '' >> "$conf"
 | 
					            echo 'services:' >> "$conf"
 | 
				
			||||||
    echo 'services:' >> "$conf"
 | 
					            echo "    enabled:" >> "$conf"
 | 
				
			||||||
    echo "    $state:" >> "$conf"
 | 
					            for svc in ${SERVICES[@]};do
 | 
				
			||||||
    for svc in ${services[@]};do
 | 
					                echo "      - name: $svc" >> "$conf"
 | 
				
			||||||
        echo "      - name: $svc" >> "$conf"
 | 
					                echo '        runlevel: default' >> "$conf"
 | 
				
			||||||
        echo '        runlevel: default' >> "$conf"
 | 
					            done
 | 
				
			||||||
    done
 | 
					        ;;
 | 
				
			||||||
 | 
					        'openrc')
 | 
				
			||||||
 | 
					            echo 'initdDir: /etc/init.d' >> "$conf"
 | 
				
			||||||
 | 
					            echo '' >> "$conf"
 | 
				
			||||||
 | 
					            echo 'runlevelsDir: /etc/runlevels' >> "$conf"
 | 
				
			||||||
 | 
					            echo '' >> "$conf"
 | 
				
			||||||
 | 
					            echo 'services:' >> "$conf"
 | 
				
			||||||
 | 
					            for svc in ${SERVICES[@]};do
 | 
				
			||||||
 | 
					                echo "      - name: $svc" >> "$conf"
 | 
				
			||||||
 | 
					                echo '        runlevel: default' >> "$conf"
 | 
				
			||||||
 | 
					            done
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
write_postcfg_conf(){
 | 
					write_postcfg_conf(){
 | 
				
			||||||
@@ -53,21 +70,15 @@ write_postcfg_conf(){
 | 
				
			|||||||
    sed -e "s|openrc|$init|" -i "$conf"
 | 
					    sed -e "s|openrc|$init|" -i "$conf"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
write_netinstall_conf(){
 | 
					 | 
				
			||||||
    local conf="$1/netinstall.conf" init="$2"
 | 
					 | 
				
			||||||
    sed -e "s|netgroups-openrc.yaml|netgroups-$init.yaml|" -i "$conf"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
configure_calamares(){
 | 
					configure_calamares(){
 | 
				
			||||||
    local mods="$1/etc/calamares/modules" init="$2"
 | 
					    local mods="$1/etc/calamares/modules" init="$2"
 | 
				
			||||||
    if [[ -d "$mods" ]];then
 | 
					    if [[ -d "$mods" ]];then
 | 
				
			||||||
        info "Configuring [Calamares]"
 | 
					        info "Configuring [Calamares]"
 | 
				
			||||||
        write_netinstall_conf "$mods" "$init"
 | 
					 | 
				
			||||||
        write_users_conf "$mods"
 | 
					        write_users_conf "$mods"
 | 
				
			||||||
        write_servicescfg_conf "$mods" "$init"
 | 
					        write_servicescfg_conf "$mods" "$init"
 | 
				
			||||||
        write_postcfg_conf "$mods" "$init"
 | 
					        write_postcfg_conf "$mods" "$init"
 | 
				
			||||||
        local name="$init"cfg
 | 
					        local name=services-"$init"
 | 
				
			||||||
        sed -e "s|openrccfg|$name|" -i "$1"/etc/calamares/settings.conf
 | 
					        sed -e "s|services-openrc|$name|" -i "$1"/etc/calamares/settings.conf
 | 
				
			||||||
        info "Done configuring [Calamares]"
 | 
					        info "Done configuring [Calamares]"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -87,6 +87,7 @@ error_function() {
 | 
				
			|||||||
# $1: function
 | 
					# $1: function
 | 
				
			||||||
run_log(){
 | 
					run_log(){
 | 
				
			||||||
    local func="$1" log_dir='/var/log/artools'
 | 
					    local func="$1" log_dir='/var/log/artools'
 | 
				
			||||||
 | 
					    [[ ! -d $log_dir ]] && mkdir -p $log_dir
 | 
				
			||||||
    local logfile=${log_dir}/$(gen_iso_fn).$func.log
 | 
					    local logfile=${log_dir}/$(gen_iso_fn).$func.log
 | 
				
			||||||
    logpipe=$(mktemp -u "/tmp/$func.pipe.XXXXXXXX")
 | 
					    logpipe=$(mktemp -u "/tmp/$func.pipe.XXXXXXXX")
 | 
				
			||||||
    mkfifo "$logpipe"
 | 
					    mkfifo "$logpipe"
 | 
				
			||||||
@@ -149,13 +150,13 @@ add_svc_runit(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
set_xdm(){
 | 
					set_xdm(){
 | 
				
			||||||
    if [[ -f $1/etc/conf.d/xdm ]];then
 | 
					    if [[ -f $1/etc/conf.d/xdm ]];then
 | 
				
			||||||
        local conf='DISPLAYMANAGER="'${displaymanager}'"'
 | 
					        local conf='DISPLAYMANAGER="'${DISPLAYMANAGER}'"'
 | 
				
			||||||
        sed -i -e "s|^.*DISPLAYMANAGER=.*|${conf}|" $1/etc/conf.d/xdm
 | 
					        sed -i -e "s|^.*DISPLAYMANAGER=.*|${conf}|" $1/etc/conf.d/xdm
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
configure_hosts(){
 | 
					configure_hosts(){
 | 
				
			||||||
    sed -e "s|localhost.localdomain|localhost.localdomain ${hostname}|" -i $1/etc/hosts
 | 
					    sed -e "s|localhost.localdomain|localhost.localdomain ${HOST_NAME}|" -i $1/etc/hosts
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
configure_logind(){
 | 
					configure_logind(){
 | 
				
			||||||
@@ -170,37 +171,37 @@ configure_logind(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
configure_services(){
 | 
					configure_services(){
 | 
				
			||||||
    local mnt="$1"
 | 
					    local mnt="$1"
 | 
				
			||||||
    info "Configuring [%s]" "${initsys}"
 | 
					    info "Configuring [%s]" "${INITSYS}"
 | 
				
			||||||
    case ${initsys} in
 | 
					    case ${INITSYS} in
 | 
				
			||||||
        'openrc')
 | 
					        'openrc')
 | 
				
			||||||
            for svc in ${services[@]}; do
 | 
					            for svc in ${SERVICES[@]}; do
 | 
				
			||||||
                [[ $svc == "xdm" ]] && set_xdm "$mnt"
 | 
					                [[ $svc == "xdm" ]] && set_xdm "$mnt"
 | 
				
			||||||
                add_svc_rc "$mnt" "$svc" "default"
 | 
					                add_svc_rc "$mnt" "$svc" "default"
 | 
				
			||||||
            done
 | 
					            done
 | 
				
			||||||
            for svc in ${services_live[@]}; do
 | 
					            for svc in ${SERVICES_LIVE[@]}; do
 | 
				
			||||||
                add_svc_rc "$mnt" "$svc" "default"
 | 
					                add_svc_rc "$mnt" "$svc" "default"
 | 
				
			||||||
            done
 | 
					            done
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
        'runit')
 | 
					        'runit')
 | 
				
			||||||
            for svc in ${services[@]}; do
 | 
					            for svc in ${SERVICES[@]}; do
 | 
				
			||||||
                add_svc_runit "$mnt" "$svc"
 | 
					                add_svc_runit "$mnt" "$svc"
 | 
				
			||||||
            done
 | 
					            done
 | 
				
			||||||
            for svc in ${services_live[@]}; do
 | 
					            for svc in ${SERVICES_LIVE[@]}; do
 | 
				
			||||||
                add_svc_runit "$mnt" "$svc"
 | 
					                add_svc_runit "$mnt" "$svc"
 | 
				
			||||||
            done
 | 
					            done
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
    esac
 | 
					    esac
 | 
				
			||||||
    info "Done configuring [%s]" "${initsys}"
 | 
					    info "Done configuring [%s]" "${INITSYS}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
configure_system(){
 | 
					configure_system(){
 | 
				
			||||||
    local mnt="$1"
 | 
					    local mnt="$1"
 | 
				
			||||||
    case ${initsys} in
 | 
					    case ${INITSYS} in
 | 
				
			||||||
        'openrc' | 'runit')
 | 
					        'openrc' | 'runit')
 | 
				
			||||||
            configure_logind "$mnt" "elogind"
 | 
					            configure_logind "$mnt" "elogind"
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
    esac
 | 
					    esac
 | 
				
			||||||
    echo ${hostname} > $mnt/etc/hostname
 | 
					    echo ${HOST_NAME} > $mnt/etc/hostname
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clean_iso_root(){
 | 
					clean_iso_root(){
 | 
				
			||||||
@@ -213,6 +214,10 @@ clean_up_image(){
 | 
				
			|||||||
    local path mnt="$1"
 | 
					    local path mnt="$1"
 | 
				
			||||||
    msg2 "Cleaning [%s]" "${mnt##*/}"
 | 
					    msg2 "Cleaning [%s]" "${mnt##*/}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -f "$mnt/etc/locale.gen.orig" ]];then
 | 
				
			||||||
 | 
					        mv "$mnt/etc/locale.gen.orig" "$mnt/etc/locale.gen"
 | 
				
			||||||
 | 
					        rm "$mnt/etc/locale.conf"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
    path=$mnt/boot
 | 
					    path=$mnt/boot
 | 
				
			||||||
    if [[ -d "$path" ]]; then
 | 
					    if [[ -d "$path" ]]; then
 | 
				
			||||||
        find "$path" -name 'initramfs*.img' -delete &> /dev/null
 | 
					        find "$path" -name 'initramfs*.img' -delete &> /dev/null
 | 
				
			||||||
@@ -257,7 +262,7 @@ configure_live_image(){
 | 
				
			|||||||
    configure_hosts "$fs"
 | 
					    configure_hosts "$fs"
 | 
				
			||||||
    configure_system "$fs"
 | 
					    configure_system "$fs"
 | 
				
			||||||
    configure_services "$fs"
 | 
					    configure_services "$fs"
 | 
				
			||||||
    configure_calamares "$fs" "${initsys}"
 | 
					    configure_calamares "$fs" "${INITSYS}"
 | 
				
			||||||
    write_live_session_conf "$fs"
 | 
					    write_live_session_conf "$fs"
 | 
				
			||||||
    msg "Done configuring [livefs]"
 | 
					    msg "Done configuring [livefs]"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -267,7 +272,7 @@ make_sig () {
 | 
				
			|||||||
    msg2 "Creating signature file..."
 | 
					    msg2 "Creating signature file..."
 | 
				
			||||||
    cd "$idir"
 | 
					    cd "$idir"
 | 
				
			||||||
    user_own "$idir"
 | 
					    user_own "$idir"
 | 
				
			||||||
    user_run "gpg --detach-sign --default-key ${gpgkey} $file.sfs"
 | 
					    user_run "gpg --detach-sign --default-key ${GPG_KEY} $file.sfs"
 | 
				
			||||||
    chown -R root "$idir"
 | 
					    chown -R root "$idir"
 | 
				
			||||||
    cd ${OLDPWD}
 | 
					    cd ${OLDPWD}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -287,7 +292,7 @@ make_sfs() {
 | 
				
			|||||||
        error "The path %s does not exist" "${src}"
 | 
					        error "The path %s does not exist" "${src}"
 | 
				
			||||||
        retrun 1
 | 
					        retrun 1
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    local timer=$(get_timer) dest=${iso_root}/artix/${target_arch}
 | 
					    local timer=$(get_timer) dest=${iso_root}/artix/${ARCH}
 | 
				
			||||||
    local name=${1##*/}
 | 
					    local name=${1##*/}
 | 
				
			||||||
    local sfs="${dest}/${name}.sfs"
 | 
					    local sfs="${dest}/${name}.sfs"
 | 
				
			||||||
    mkdir -p ${dest}
 | 
					    mkdir -p ${dest}
 | 
				
			||||||
@@ -343,7 +348,7 @@ make_sfs() {
 | 
				
			|||||||
    make_checksum "${dest}" "${name}"
 | 
					    make_checksum "${dest}" "${name}"
 | 
				
			||||||
    ${persist} && rm "${src}.img"
 | 
					    ${persist} && rm "${src}.img"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -n ${gpgkey} ]];then
 | 
					    if [[ -n ${GPG_KEY} ]];then
 | 
				
			||||||
        make_sig "${dest}" "${name}"
 | 
					        make_sig "${dest}" "${name}"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -401,10 +406,13 @@ make_iso() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
gen_iso_fn(){
 | 
					gen_iso_fn(){
 | 
				
			||||||
    local vars=("artix") name
 | 
					    local vars=("artix") name
 | 
				
			||||||
    vars+=("${profile}")
 | 
					    vars+=("${PROFILE}")
 | 
				
			||||||
    [[ ${initsys} == 'runit' ]] && vars+=("${initsys}")
 | 
					    vars+=("${INITSYS}")
 | 
				
			||||||
    vars+=("${iso_version}")
 | 
					    case "${REPOSITORY}" in
 | 
				
			||||||
    vars+=("${target_arch}")
 | 
					        'gremlins'|'goblins') vars+=("${REPOSITORY}") ;;
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					    vars+=("${ISO_VERSION}")
 | 
				
			||||||
 | 
					    vars+=("${ARCH}")
 | 
				
			||||||
    for n in ${vars[@]};do
 | 
					    for n in ${vars[@]};do
 | 
				
			||||||
        name=${name:-}${name:+-}${n}
 | 
					        name=${name:-}${name:+-}${n}
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
@@ -413,7 +421,7 @@ gen_iso_fn(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
install_packages(){
 | 
					install_packages(){
 | 
				
			||||||
    local fs="$1"
 | 
					    local fs="$1"
 | 
				
			||||||
    setarch "${target_arch}" mkchroot \
 | 
					    setarch "${ARCH}" mkchroot \
 | 
				
			||||||
        "${mkchroot_args[@]}" "${fs}" "${packages[@]}"
 | 
					        "${mkchroot_args[@]}" "${fs}" "${packages[@]}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -434,7 +442,7 @@ make_rootfs() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        install_packages "${rootfs}"
 | 
					        install_packages "${rootfs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        copy_overlay "${root_overlay}" "${rootfs}"
 | 
					        copy_overlay "${ROOT_OVERLAY}" "${rootfs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        clean_up_image "${rootfs}"
 | 
					        clean_up_image "${rootfs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -453,7 +461,7 @@ make_desktopfs() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        install_packages "${desktopfs}"
 | 
					        install_packages "${desktopfs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        copy_overlay "${desktop_overlay}" "${desktopfs}"
 | 
					        copy_overlay "${DESKTOP_OVERLAY}" "${desktopfs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        umount_overlay
 | 
					        umount_overlay
 | 
				
			||||||
        clean_up_image "${desktopfs}"
 | 
					        clean_up_image "${desktopfs}"
 | 
				
			||||||
@@ -469,16 +477,14 @@ make_livefs() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        prepare_dir "${livefs}"
 | 
					        prepare_dir "${livefs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mount_overlay "${livefs}" "${work_dir}" "${desktop_list}"
 | 
					        mount_overlay "${livefs}" "${work_dir}" "${DESKTOP_LIST}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        install_packages "${livefs}"
 | 
					        install_packages "${livefs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        copy_overlay "${live_overlay}" "${livefs}"
 | 
					        copy_overlay "${LIVE_OVERLAY}" "${livefs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        configure_live_image "${livefs}"
 | 
					        configure_live_image "${livefs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        pacman -Qr "${livefs}" > ${iso_dir}/$(gen_iso_fn)-pkgs.txt
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        umount_overlay
 | 
					        umount_overlay
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        clean_up_image "${livefs}"
 | 
					        clean_up_image "${livefs}"
 | 
				
			||||||
@@ -494,16 +500,16 @@ make_bootfs() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        prepare_dir "${boot}"
 | 
					        prepare_dir "${boot}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cp ${work_dir}/rootfs/boot/vmlinuz* ${boot}/vmlinuz-${target_arch}
 | 
					        cp ${work_dir}/rootfs/boot/vmlinuz* ${boot}/vmlinuz-${ARCH}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        local bootfs="${work_dir}/bootfs"
 | 
					        local bootfs="${work_dir}/bootfs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mount_overlay "${bootfs}" "${work_dir}" "${desktop_list}"
 | 
					        mount_overlay "${bootfs}" "${work_dir}" "${DESKTOP_LIST}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        prepare_initcpio "${bootfs}"
 | 
					        prepare_initcpio "${bootfs}"
 | 
				
			||||||
        prepare_initramfs "${bootfs}"
 | 
					        prepare_initramfs "${bootfs}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cp ${bootfs}/boot/initramfs.img ${boot}/initramfs-${target_arch}.img
 | 
					        cp ${bootfs}/boot/initramfs.img ${boot}/initramfs-${ARCH}.img
 | 
				
			||||||
        prepare_boot_extras "${bootfs}" "${boot}"
 | 
					        prepare_boot_extras "${bootfs}" "${boot}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        umount_overlay
 | 
					        umount_overlay
 | 
				
			||||||
@@ -536,14 +542,14 @@ compress_images(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
prepare_images(){
 | 
					prepare_images(){
 | 
				
			||||||
    local timer=$(get_timer)
 | 
					    local timer=$(get_timer)
 | 
				
			||||||
    load_pkgs "${root_list}" "${initsys}"
 | 
					    load_pkgs "${ROOT_LIST}" "${INITSYS}"
 | 
				
			||||||
    run_safe "make_rootfs"
 | 
					    run_safe "make_rootfs"
 | 
				
			||||||
    if [[ -f "${desktop_list}" ]] ; then
 | 
					    if [[ -f "${DESKTOP_LIST}" ]] ; then
 | 
				
			||||||
        load_pkgs "${desktop_list}" "${initsys}"
 | 
					        load_pkgs "${DESKTOP_LIST}" "${INITSYS}"
 | 
				
			||||||
        run_safe "make_desktopfs"
 | 
					        run_safe "make_desktopfs"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [[ -f ${live_list} ]]; then
 | 
					    if [[ -f ${LIVE_LIST} ]]; then
 | 
				
			||||||
        load_pkgs "${live_list}" "${initsys}"
 | 
					        load_pkgs "${LIVE_LIST}" "${INITSYS}"
 | 
				
			||||||
        run_safe "make_livefs"
 | 
					        run_safe "make_livefs"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    run_safe "make_bootfs"
 | 
					    run_safe "make_bootfs"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,47 +33,11 @@ get_os_name(){
 | 
				
			|||||||
    echo "$str"
 | 
					    echo "$str"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
get_chroot_arch(){
 | 
					 | 
				
			||||||
    local elf=$(file $1/usr/bin/file)
 | 
					 | 
				
			||||||
    elf=${elf//*executable,}
 | 
					 | 
				
			||||||
    echo ${elf%%,*}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
chroot_part_mount() {
 | 
					chroot_part_mount() {
 | 
				
			||||||
    info "mount: [%s]" "$2"
 | 
					    info "mount: [%s]" "$2"
 | 
				
			||||||
    mount "$@" && CHROOT_ACTIVE_PART_MOUNTS=("$2" "${CHROOT_ACTIVE_PART_MOUNTS[@]}")
 | 
					    mount "$@" && CHROOT_ACTIVE_PART_MOUNTS=("$2" "${CHROOT_ACTIVE_PART_MOUNTS[@]}")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
select_os(){
 | 
					 | 
				
			||||||
    local os_list=( $(detect) ) count=${#os_list[@]}
 | 
					 | 
				
			||||||
    if [[ ${count} > 1 ]];then
 | 
					 | 
				
			||||||
        msg "Detected systems:"
 | 
					 | 
				
			||||||
        local i=0
 | 
					 | 
				
			||||||
        for os in ${os_list[@]};do
 | 
					 | 
				
			||||||
            local last=${os##*:}
 | 
					 | 
				
			||||||
            case $last in
 | 
					 | 
				
			||||||
                'efi') count=$((count-1)) ;;
 | 
					 | 
				
			||||||
                *) info "$i) $(get_os_name $os)"; i=$((i+1)) ;;
 | 
					 | 
				
			||||||
            esac
 | 
					 | 
				
			||||||
        done
 | 
					 | 
				
			||||||
        i=0
 | 
					 | 
				
			||||||
        msg "Select system to mount [0-%s] : " "$((count-1))"
 | 
					 | 
				
			||||||
        read select
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        select=0
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    local os_str=${os_list[$select]} type
 | 
					 | 
				
			||||||
    type=$os_str
 | 
					 | 
				
			||||||
    root=${os_str%%:*}
 | 
					 | 
				
			||||||
    type=${type##*:}
 | 
					 | 
				
			||||||
    if [[ "${type##*:}" == 'linux' ]];then
 | 
					 | 
				
			||||||
        msg "Mounting (%s) [%s]" "$(get_os_name $os_str)" "$root"
 | 
					 | 
				
			||||||
        mount_os "$1" "$root"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        die "You can't mount %s!" "$select"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trap_setup(){
 | 
					trap_setup(){
 | 
				
			||||||
    [[ $(trap -p EXIT) ]] && die 'Error! Attempting to overwrite existing EXIT trap'
 | 
					    [[ $(trap -p EXIT) ]] && die 'Error! Attempting to overwrite existing EXIT trap'
 | 
				
			||||||
    trap "$1" EXIT
 | 
					    trap "$1" EXIT
 | 
				
			||||||
@@ -151,16 +115,6 @@ mount_os(){
 | 
				
			|||||||
        esac
 | 
					        esac
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local chroot_arch=$(get_chroot_arch $1)
 | 
					 | 
				
			||||||
    [[ ${chroot_arch} == x86-64 ]] && chroot_arch=${chroot_arch/-/_}
 | 
					 | 
				
			||||||
    case ${target_arch} in
 | 
					 | 
				
			||||||
        i686)
 | 
					 | 
				
			||||||
            if [[ ${chroot_arch} == x86_64 ]];then
 | 
					 | 
				
			||||||
                die "You can't chroot from %s host into %s!" "${target_arch}" "${chroot_arch}"
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        ;;
 | 
					 | 
				
			||||||
    esac
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    chroot_setup "$1"
 | 
					    chroot_setup "$1"
 | 
				
			||||||
    chroot_add_resolv_conf "$1"
 | 
					    chroot_add_resolv_conf "$1"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -171,16 +125,18 @@ chroot_api_mount() {
 | 
				
			|||||||
    chroot_setup "$1"
 | 
					    chroot_setup "$1"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chroot_part_umount() {
 | 
					 | 
				
			||||||
    info "umount: [%s]" "${CHROOT_ACTIVE_MOUNTS[@]}"
 | 
					 | 
				
			||||||
    umount "${CHROOT_ACTIVE_MOUNTS[@]}"
 | 
					 | 
				
			||||||
    info "umount: [%s]" "${CHROOT_ACTIVE_PART_MOUNTS[@]}"
 | 
					 | 
				
			||||||
    umount "${CHROOT_ACTIVE_PART_MOUNTS[@]}"
 | 
					 | 
				
			||||||
    unset CHROOT_ACTIVE_PART_MOUNTS CHROOT_ACTIVE_MOUNTS
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
chroot_api_umount() {
 | 
					chroot_api_umount() {
 | 
				
			||||||
    info "umount: [%s]" "${CHROOT_ACTIVE_MOUNTS[@]}"
 | 
					    if (( ${#CHROOT_ACTIVE_MOUNTS[@]} )); then
 | 
				
			||||||
    umount "${CHROOT_ACTIVE_MOUNTS[@]}"
 | 
					        info "umount: [%s]" "${CHROOT_ACTIVE_MOUNTS[@]}"
 | 
				
			||||||
 | 
					        umount "${CHROOT_ACTIVE_MOUNTS[@]}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
    unset CHROOT_ACTIVE_MOUNTS
 | 
					    unset CHROOT_ACTIVE_MOUNTS
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					chroot_part_umount() {
 | 
				
			||||||
 | 
					    chroot_api_umount
 | 
				
			||||||
 | 
					    info "umount: [%s]" "${CHROOT_ACTIVE_PART_MOUNTS[@]}"
 | 
				
			||||||
 | 
					    umount "${CHROOT_ACTIVE_PART_MOUNTS[@]}"
 | 
				
			||||||
 | 
					    unset CHROOT_ACTIVE_PART_MOUNTS
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										59
									
								
								lib/util-pkg-gitea.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								lib/util-pkg-gitea.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					#!/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_compliant_name(){
 | 
				
			||||||
 | 
					    local gitname="$1"
 | 
				
			||||||
 | 
					    case $gitname in
 | 
				
			||||||
 | 
					        *+) gitname=${gitname//+/plus}
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					    echo $gitname
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					create_repo(){
 | 
				
			||||||
 | 
					    local pkg="$1"
 | 
				
			||||||
 | 
					    local gitname=$(get_compliant_name "$pkg")
 | 
				
			||||||
 | 
					    curl -X POST "${GIT_URL}/api/v1/org/packages/repos?access_token=${GIT_TOKEN}" -H "accept: application/json" -H "content-type: application/json" -d "{ \"auto_init\": true, \"name\":\"$gitname\", \"readme\": \"Default\" }"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					delete_repo(){
 | 
				
			||||||
 | 
					    local pkg="$1"
 | 
				
			||||||
 | 
					    local gitname=$(get_compliant_name "$pkg")
 | 
				
			||||||
 | 
					    curl -X DELETE "${GIT_URL}/api/v1/repos/packages/$gitname?access_token=${GIT_TOKEN}" -H  "accept: application/json"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					find_team(){
 | 
				
			||||||
 | 
					    local pkg="$1" team_id=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -f $pkg/repos/core-x86_64/PKGBUILD ]];then
 | 
				
			||||||
 | 
					        team_id=18
 | 
				
			||||||
 | 
					    elif [[ -f $pkg/repos/core-any/PKGBUILD ]];then
 | 
				
			||||||
 | 
					        team_id=18
 | 
				
			||||||
 | 
					    elif [[ -f $pkg/repos/extra-x86_64/PKGBUILD ]];then
 | 
				
			||||||
 | 
					        team_id=19
 | 
				
			||||||
 | 
					    elif [[ -f $pkg/repos/extra-any/PKGBUILD ]];then
 | 
				
			||||||
 | 
					        team_id=19
 | 
				
			||||||
 | 
					    elif [[ -f $pkg/repos/community-x86_64/PKGBUILD ]];then
 | 
				
			||||||
 | 
					        team_id=20
 | 
				
			||||||
 | 
					    elif [[ -f $pkg/repos/community-any/PKGBUILD ]];then
 | 
				
			||||||
 | 
					        team_id=20
 | 
				
			||||||
 | 
					    elif [[ -f $pkg/repos/multilib-x86_64/PKGBUILD ]];then
 | 
				
			||||||
 | 
					        team_id=21
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    echo $team_id
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					add_repo_to_team(){
 | 
				
			||||||
 | 
					    local pkg="$1" path="$2"
 | 
				
			||||||
 | 
					    local id=$(find_team "$path")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    curl -X PUT "${GIT_URL}/api/v1/teams/$id/repos/packages/$pkg?access_token=${GIT_TOKEN}" -H  "accept: application/json"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										30
									
								
								lib/util-pkg-subrepo.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								lib/util-pkg-subrepo.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					#!/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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					subrepo_init(){
 | 
				
			||||||
 | 
					    local pkg="$1" branch=master org=packages
 | 
				
			||||||
 | 
					    git subrepo init "$pkg" -r gitea@"${GIT_DOMAIN}":"$org"/"$pkg".git -b "$branch"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					subrepo_push(){
 | 
				
			||||||
 | 
					    local pkg="$1" branch=master
 | 
				
			||||||
 | 
					    git subrepo push "$pkg" -u -b "$branch"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					subrepo_pull(){
 | 
				
			||||||
 | 
					    local pkg="$1" name="${2:-$1}" branch=master org=packages
 | 
				
			||||||
 | 
					    git subrepo pull "$pkg" -r gitea@"${GIT_DOMAIN}":"$org"/"$name".git -u -b "$branch"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					subrepo_clone(){
 | 
				
			||||||
 | 
					    local pkg="$1" name="${2:-$1}" branch=master org=packages
 | 
				
			||||||
 | 
					    git subrepo clone gitea@"${GIT_DOMAIN}":"$org"/"$name".git "$pkg" -b "$branch"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -45,8 +45,7 @@ patch_pkg(){
 | 
				
			|||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
        'linux')
 | 
					        'linux')
 | 
				
			||||||
            sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD
 | 
					            sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD
 | 
				
			||||||
            sed -e 's|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION="-ARTIX"|' \
 | 
					            sed -e 's|CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME="artixlinux"|' \
 | 
				
			||||||
                -e 's|CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME="artixlinux"|' \
 | 
					 | 
				
			||||||
                -e 's|CONFIG_CRYPTO_SPECK=.*|CONFIG_CRYPTO_SPECK=n|' \
 | 
					                -e 's|CONFIG_CRYPTO_SPECK=.*|CONFIG_CRYPTO_SPECK=n|' \
 | 
				
			||||||
                -i $pkg/trunk/config
 | 
					                -i $pkg/trunk/config
 | 
				
			||||||
            cd $pkg/trunk
 | 
					            cd $pkg/trunk
 | 
				
			||||||
@@ -77,6 +76,14 @@ patch_pkg(){
 | 
				
			|||||||
    esac
 | 
					    esac
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					write_jenkinsfile(){
 | 
				
			||||||
 | 
					    local pkg="$1" jenkins=Jenkinsfile
 | 
				
			||||||
 | 
					    echo '@Library(["PackagePipeline", "BuildPkg", "DeployPkg", "Notify", "PostBuild", "RepoPackage"]) import org.artixlinux.RepoPackage' > $pkg/$jenkins
 | 
				
			||||||
 | 
					    echo '' >> $pkg/$jenkins
 | 
				
			||||||
 | 
					    echo 'PackagePipeline(new RepoPackage(this))' >> $pkg/$jenkins
 | 
				
			||||||
 | 
					    echo '' >> $pkg/$jenkins
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
find_tree(){
 | 
					find_tree(){
 | 
				
			||||||
    local tree="$1" pkg="$2"
 | 
					    local tree="$1" pkg="$2"
 | 
				
			||||||
    local result=$(find $tree -mindepth 2 -maxdepth 2 -type d -name "$pkg")
 | 
					    local result=$(find $tree -mindepth 2 -maxdepth 2 -type d -name "$pkg")
 | 
				
			||||||
@@ -110,8 +117,8 @@ push_tree(){
 | 
				
			|||||||
get_import_path(){
 | 
					get_import_path(){
 | 
				
			||||||
    local tree="$1" import_path=
 | 
					    local tree="$1" import_path=
 | 
				
			||||||
    case $tree in
 | 
					    case $tree in
 | 
				
			||||||
        packages) import_path=${tree_dir_arch}/packages ;;
 | 
					        packages) import_path=${TREE_DIR_ARCH}/packages ;;
 | 
				
			||||||
        packages-galaxy) import_path=${tree_dir_arch}/community ;;
 | 
					        packages-galaxy) import_path=${TREE_DIR_ARCH}/community ;;
 | 
				
			||||||
    esac
 | 
					    esac
 | 
				
			||||||
    echo $import_path
 | 
					    echo $import_path
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -125,75 +132,19 @@ is_valid_repo(){
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
find_repo(){
 | 
					find_repo(){
 | 
				
			||||||
    local pkg="$1" incl="$2" repo=
 | 
					    local pkg="$1" unst="$2" stag="$3" repo=
 | 
				
			||||||
 | 
					    local repos=(core extra testing community community-testing mulitilib multilib-testing)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -f $pkg/repos/core-x86_64/PKGBUILD ]];then
 | 
					    $stag && repos+=(staging community-staging mulitilib-staging)
 | 
				
			||||||
        repo=core-x86_64
 | 
					    $unst && repos+=(gnome-unstable kde-unstable)
 | 
				
			||||||
    elif [[ -f $pkg/repos/core-any/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=core-any
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -f $pkg/repos/extra-x86_64/PKGBUILD ]];then
 | 
					    for r in ${repos[@]};do
 | 
				
			||||||
        repo=extra-x86_64
 | 
					        if [[ -f $pkg/repos/$r-x86_64/PKGBUILD ]];then
 | 
				
			||||||
    elif [[ -f $pkg/repos/extra-any/PKGBUILD ]];then
 | 
					            repo=$r-x86_64
 | 
				
			||||||
        repo=extra-any
 | 
					        elif [[ -f $pkg/repos/$r-any/PKGBUILD ]];then
 | 
				
			||||||
    fi
 | 
					            repo=$r-any
 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -f $pkg/repos/testing-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=testing-x86_64
 | 
					 | 
				
			||||||
    elif [[ -f $pkg/repos/testing-any/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=testing-any
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -f $pkg/repos/staging-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=staging-x86_64
 | 
					 | 
				
			||||||
    elif [[ -f $pkg/repos/staging-any/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=staging-any
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -f $pkg/repos/community-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=community-x86_64
 | 
					 | 
				
			||||||
    elif [[ -f $pkg/repos/community-any/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=community-any
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -f $pkg/repos/community-testing-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=community-testing-x86_64
 | 
					 | 
				
			||||||
    elif [[ -f $pkg/repos/community-testing-any/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=community-testing-any
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -f $pkg/repos/community-staging-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=community-staging-x86_64
 | 
					 | 
				
			||||||
    elif [[ -f $pkg/repos/community-staging-any/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=community-staging-any
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -f $pkg/repos/multilib-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=multilib-x86_64
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -f $pkg/repos/multilib-testing-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=multilib-testing-x86_64
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -f $pkg/repos/multilib-staging-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
        repo=multilib-staging-x86_64
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if $incl;then
 | 
					 | 
				
			||||||
        if [[ -f $pkg/repos/gnome-unstable-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
            repo=gnome-unstable-x86_64
 | 
					 | 
				
			||||||
        elif [[ -f $pkg/repos/gnome-unstable-any/PKGBUILD ]];then
 | 
					 | 
				
			||||||
            repo=gnome-unstable-any
 | 
					 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
        if [[ -f $pkg/repos/kde-unstable-x86_64/PKGBUILD ]];then
 | 
					 | 
				
			||||||
            repo=kde-unstable-x86_64
 | 
					 | 
				
			||||||
        elif [[ -f $pkg/repos/kde-unstable-any/PKGBUILD ]];then
 | 
					 | 
				
			||||||
            repo=kde-unstable-any
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    echo $repo
 | 
					    echo $repo
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										68
									
								
								lib/util.sh
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								lib/util.sh
									
									
									
									
									
								
							@@ -49,62 +49,58 @@ get_osname(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
init_artools_base(){
 | 
					init_artools_base(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    target_arch=$(uname -m)
 | 
					    ARCH=$(uname -m)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${chroots_dir} ]] && chroots_dir='/var/lib/artools'
 | 
					    [[ -z ${CHROOTS_DIR} ]] && CHROOTS_DIR='/var/lib/artools'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${workspace_dir} ]] && workspace_dir=/home/${OWNER}/artools-workspace
 | 
					    [[ -z ${WORKSPACE_DIR} ]] && WORKSPACE_DIR=/home/${OWNER}/artools-workspace
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    prepare_dir "${workspace_dir}"
 | 
					    prepare_dir "${WORKSPACE_DIR}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
init_artools_pkg(){
 | 
					init_artools_pkg(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix
 | 
					    GIT_DOMAIN='gitea.artixlinux.org'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux'
 | 
					    GIT_URL="https://${GIT_DOMAIN}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${tree_dir_arch} ]] && tree_dir_arch=${workspace_dir}/archlinux
 | 
					    [[ -z ${GIT_TOKEN} ]] && GIT_TOKEN=''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${host_tree_arch} ]] && host_tree_arch='git://projects.archlinux.org/svntogit'
 | 
					    [[ -z ${TREE_DIR_ARTIX} ]] && TREE_DIR_ARTIX="${WORKSPACE_DIR}/artix"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    chroots_pkg="${chroots_dir}/buildpkg"
 | 
					    [[ -z ${HOST_TREE_ARTIX} ]] && HOST_TREE_ARTIX="gitea@gitea.artixlinux.org:artix"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${repos_root} ]] && repos_root="${workspace_dir}/repos"
 | 
					    [[ -z ${TREE_DIR_ARCH} ]] && TREE_DIR_ARCH="${WORKSPACE_DIR}/archlinux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [[ -z ${HOST_TREE_ARCH} ]] && HOST_TREE_ARCH='git://projects.archlinux.org/svntogit'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    CHROOTS_PKG="${CHROOTS_DIR}/buildpkg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [[ -z ${REPOS_ROOT} ]] && REPOS_ROOT="${WORKSPACE_DIR}/repos"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
init_artools_iso(){
 | 
					init_artools_iso(){
 | 
				
			||||||
    chroots_iso="${chroots_dir}/buildiso"
 | 
					    CHROOTS_ISO="${CHROOTS_DIR}/buildiso"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${iso_pool} ]] && iso_pool="${workspace_dir}/iso"
 | 
					    [[ -z ${ISO_POOL} ]] && ISO_POOL="${WORKSPACE_DIR}/iso"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    prepare_dir "${iso_pool}"
 | 
					    prepare_dir "${ISO_POOL}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    profile='base'
 | 
					    PROFILE='base'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${iso_version} ]] && iso_version=$(date +%Y%m%d)
 | 
					    [[ -z ${ISO_VERSION} ]] && ISO_VERSION=$(date +%Y%m%d)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    iso_label="ARTIX_$(date +%Y%m)"
 | 
					    [[ -z ${INITSYS} ]] && INITSYS="openrc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${initsys} ]] && initsys="openrc"
 | 
					    [[ -z ${GPG_KEY} ]] && GPG_KEY=''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${gpgkey} ]] && gpgkey=''
 | 
					    [[ -z ${UPLIMIT} ]] && UPLIMIT=1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${uplimit} ]] && uplimit=100
 | 
					    [[ -z ${FILE_HOST} ]] && FILE_HOST="sourceforge.net"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${tracker_url} ]] && tracker_url='udp://mirror.strits.dk:6969'
 | 
					    [[ -z ${PROJECT} ]] && PROJECT="artix-linux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -z ${piece_size} ]] && piece_size=21
 | 
					    [[ -z ${ACCOUNT} ]] && ACCOUNT="[SetUser]"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    [[ -z ${file_host} ]] && file_host="sourceforge.net"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [[ -z ${project} ]] && project="artix-linux"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [[ -z ${account} ]] && account="[SetUser]"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [[ -z ${host_mirrors[@]} ]] && host_mirrors=('netcologne' 'freefr' 'netix' 'kent' '10gbps-io')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    torrent_meta="$(get_osname)"
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -112,9 +108,9 @@ load_config(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    [[ -f $1 ]] || return 1
 | 
					    [[ -f $1 ]] || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    artools_conf="$1"
 | 
					    ARTOOLS_CONF="$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[ -r ${artools_conf} ]] && source ${artools_conf}
 | 
					    [[ -r ${ARTOOLS_CONF} ]] && source ${ARTOOLS_CONF}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    init_artools_base
 | 
					    init_artools_base
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -156,15 +152,15 @@ load_user_info(){
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
show_version(){
 | 
					show_version(){
 | 
				
			||||||
    msg "artools"
 | 
					    msg "ARTOOLS"
 | 
				
			||||||
    msg2 "version: %s" "${version}"
 | 
					    msg2 "VERSION: %s" "${VERSION}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
show_config(){
 | 
					show_config(){
 | 
				
			||||||
    if [[ -f ${AT_USERCONFDIR}/artools.conf ]]; then
 | 
					    if [[ -f ${AT_USERCONFDIR}/artools.conf ]]; then
 | 
				
			||||||
        msg2 "config: %s" "~/.config/artools/artools.conf"
 | 
					        msg2 "config: %s" "~/.config/artools/artools.conf"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        msg2 "config: %s" "${artools_conf}"
 | 
					        msg2 "config: %s" "${ARTOOLS_CONF}"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user