forked from artix/artools
		
	Compare commits
	
		
			19 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a13f0079db | |||
| cae48c0878 | |||
| ce481f6b07 | |||
| b6a4619ab3 | |||
| 88ebc5c476 | |||
| c27c516610 | |||
| 42ee8522dd | |||
| b7f05f4dd2 | |||
| f58e8b6c15 | |||
| d432ffee3f | |||
| 961bc2cd59 | |||
| 92aeff61d8 | |||
| 64725482f8 | |||
| 11cd590529 | |||
| bb22741aa1 | |||
| 28e4b73964 | |||
| 7ea0d6f475 | |||
| bdcc22fd46 | |||
| 3c2e97f915 | 
							
								
								
									
										84
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										84
									
								
								Makefile
									
									
									
									
									
								
							@@ -3,9 +3,7 @@ VERSION=0.9
 | 
			
		||||
CHROOT_VERSION=0.8
 | 
			
		||||
 | 
			
		||||
TOOLS = artools
 | 
			
		||||
ifdef PREFIX
 | 
			
		||||
PREFIX = /usr/local
 | 
			
		||||
endif
 | 
			
		||||
PREFIX ?= /usr/local
 | 
			
		||||
SYSCONFDIR = /etc
 | 
			
		||||
BINDIR = $(PREFIX)/bin
 | 
			
		||||
LIBDIR = $(PREFIX)/lib
 | 
			
		||||
@@ -22,17 +20,6 @@ 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
 | 
			
		||||
 | 
			
		||||
SYSCONF = \
 | 
			
		||||
@@ -65,8 +52,7 @@ BIN_PKG = \
 | 
			
		||||
	bin/buildpkg \
 | 
			
		||||
	bin/buildtree \
 | 
			
		||||
	bin/deploypkg \
 | 
			
		||||
	bin/commitpkg \
 | 
			
		||||
	bin/mkpkgclean
 | 
			
		||||
	bin/commitpkg
 | 
			
		||||
 | 
			
		||||
LIBS_PKG = \
 | 
			
		||||
	$(wildcard lib/util-pkg*.sh)
 | 
			
		||||
@@ -103,19 +89,7 @@ LIBS_ISO = \
 | 
			
		||||
SHARED_ISO = \
 | 
			
		||||
	data/mkinitcpio.conf
 | 
			
		||||
 | 
			
		||||
ifeq ($(WITH-PKG),yes)
 | 
			
		||||
 | 
			
		||||
all: $(BIN_PKG)
 | 
			
		||||
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(WITH-ISO),yes)
 | 
			
		||||
 | 
			
		||||
all: $(BIN_ISO)
 | 
			
		||||
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
all: $(BIN_BASE)
 | 
			
		||||
all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO)
 | 
			
		||||
 | 
			
		||||
EDIT = sed -e "s|@datadir[@]|$(DATADIR)/$(TOOLS)|g" \
 | 
			
		||||
	-e "s|@sysconfdir[@]|$(SYSCONFDIR)/$(TOOLS)|g" \
 | 
			
		||||
@@ -177,54 +151,6 @@ install_iso: install_cpio
 | 
			
		||||
	install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
 | 
			
		||||
	install $(FILEMODE) $(SHARED_ISO) $(DESTDIR)$(DATADIR)/$(TOOLS)
 | 
			
		||||
 | 
			
		||||
uninstall_base:
 | 
			
		||||
	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)
 | 
			
		||||
install: install_base install_pkg install_iso
 | 
			
		||||
 | 
			
		||||
uninstall_pkg:
 | 
			
		||||
	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
 | 
			
		||||
.PHONY: all clean install
 | 
			
		||||
 
 | 
			
		||||
@@ -6,9 +6,6 @@ artools
 | 
			
		||||
 | 
			
		||||
* PREFIX=/usr/local (default if defined)
 | 
			
		||||
* SYSCONFDIR=/etc
 | 
			
		||||
* WITH-PKG=yes
 | 
			
		||||
* WITH-ISO=yes
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#### Dependencies
 | 
			
		||||
 | 
			
		||||
@@ -21,7 +18,6 @@ artools
 | 
			
		||||
##### Runtime:
 | 
			
		||||
 | 
			
		||||
- base:
 | 
			
		||||
 | 
			
		||||
  * openssh
 | 
			
		||||
  * rsync
 | 
			
		||||
  * haveged
 | 
			
		||||
@@ -30,16 +26,14 @@ artools
 | 
			
		||||
  * pacman
 | 
			
		||||
 | 
			
		||||
- pkg:
 | 
			
		||||
 | 
			
		||||
  * namcap
 | 
			
		||||
  * git
 | 
			
		||||
  * git-subrepo
 | 
			
		||||
 | 
			
		||||
- iso:
 | 
			
		||||
  * dosfstools
 | 
			
		||||
  * libisoburn
 | 
			
		||||
  * squashfs-tools
 | 
			
		||||
  * mkinitcpio
 | 
			
		||||
  * mktorrent
 | 
			
		||||
  * grub
 | 
			
		||||
 | 
			
		||||
#### Configuration
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,36 @@ SYSCONFDIR='@sysconfdir@'
 | 
			
		||||
import ${LIBDIR}/util.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(){
 | 
			
		||||
    show_version
 | 
			
		||||
    show_config
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ prepare_build(){
 | 
			
		||||
 | 
			
		||||
    iso_file=$(gen_iso_fn).iso
 | 
			
		||||
 | 
			
		||||
    mkchroot_args+=(-C ${pacman_conf})
 | 
			
		||||
    mkchroot_args+=(-C ${pacman_conf} -m)
 | 
			
		||||
    work_dir=${chroots_iso}/${profile}/${target_arch}
 | 
			
		||||
 | 
			
		||||
    iso_dir="${iso_pool}/${profile}"
 | 
			
		||||
@@ -44,6 +44,7 @@ prepare_build(){
 | 
			
		||||
    mnt_dir=${chroots_iso}/${profile}/mnt
 | 
			
		||||
    prepare_dir "${mnt_dir}"
 | 
			
		||||
    prepare_dir "${iso_dir}"
 | 
			
		||||
    prepare_dir "${iso_root}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
show_profile(){
 | 
			
		||||
 
 | 
			
		||||
@@ -53,8 +53,8 @@ pull_tree_artix(){
 | 
			
		||||
    cd ${tree_dir_artix}
 | 
			
		||||
    for tree in packages packages-galaxy;do
 | 
			
		||||
        if [[ -d ${tree} ]];then
 | 
			
		||||
            config_tree "${tree}"
 | 
			
		||||
            cd ${tree}
 | 
			
		||||
            config_tree
 | 
			
		||||
            msg "Checking (%s)" "${tree}"
 | 
			
		||||
            pull_tree
 | 
			
		||||
            cd ..
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,6 @@ import ${LIBDIR}/util-mount.sh
 | 
			
		||||
 | 
			
		||||
working_dir=''
 | 
			
		||||
files=()
 | 
			
		||||
keep_mirrors=false
 | 
			
		||||
nosetarch=false
 | 
			
		||||
 | 
			
		||||
usage() {
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,23 @@ SYSCONFDIR='@sysconfdir@'
 | 
			
		||||
 | 
			
		||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.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(){
 | 
			
		||||
    target_dir="/iso/${profile}/"
 | 
			
		||||
    src_dir="${iso_pool}/${profile}/"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
display_settings(){
 | 
			
		||||
    show_version
 | 
			
		||||
@@ -29,14 +45,6 @@ display_settings(){
 | 
			
		||||
    msg "ARGS:"
 | 
			
		||||
    msg2 "update: %s" "${update}"
 | 
			
		||||
    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:"
 | 
			
		||||
    msg2 "account: %s" "${account}"
 | 
			
		||||
@@ -55,7 +63,6 @@ load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artoo
 | 
			
		||||
pretend=false
 | 
			
		||||
update=false
 | 
			
		||||
verbose=false
 | 
			
		||||
torrent=false
 | 
			
		||||
 | 
			
		||||
rsync_args=(-aP --progress -e ssh)
 | 
			
		||||
 | 
			
		||||
@@ -64,7 +71,6 @@ usage() {
 | 
			
		||||
    echo "    -p                 Source folder to upload [default: ${profile}]"
 | 
			
		||||
    echo "    -l                 Limit bandwidth in kB/s [default:${uplimit}]"
 | 
			
		||||
    echo '    -u                 Update remote directory'
 | 
			
		||||
    echo '    -t                 Create iso torrent'
 | 
			
		||||
    echo '    -q                 Query settings and pretend upload'
 | 
			
		||||
    echo '    -v                 Verbose output'
 | 
			
		||||
    echo '    -h                 This help'
 | 
			
		||||
@@ -73,14 +79,13 @@ usage() {
 | 
			
		||||
    exit $1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
opts='p:l:uvtqh'
 | 
			
		||||
opts='p:l:uvqh'
 | 
			
		||||
 | 
			
		||||
while getopts "${opts}" arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
        p) profile="$OPTARG" ;;
 | 
			
		||||
        l) uplimit="$OPTARG" ;;
 | 
			
		||||
        u) update=true; rsync_args+=(-u) ;;
 | 
			
		||||
        t) torrent=true ;;
 | 
			
		||||
        v) verbose=true; rsync_args+=(-v --stats) ;;
 | 
			
		||||
        q) pretend=true; rsync_args+=(-n) ;;
 | 
			
		||||
        h|?) usage 0 ;;
 | 
			
		||||
 
 | 
			
		||||
@@ -23,15 +23,17 @@ working_dir=''
 | 
			
		||||
files=()
 | 
			
		||||
 | 
			
		||||
nosetarch=false
 | 
			
		||||
copy_mirrorlist=true
 | 
			
		||||
basestrap_args=(-Gc)
 | 
			
		||||
 | 
			
		||||
usage() {
 | 
			
		||||
    echo "Usage: ${0##*/} [options] working-dir package-list..."
 | 
			
		||||
    echo ' options:'
 | 
			
		||||
    echo '    -C <file>     Location of a pacman 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 '    -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 '    -h            This message'
 | 
			
		||||
    exit 1
 | 
			
		||||
@@ -39,16 +41,16 @@ usage() {
 | 
			
		||||
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
opts='hC:M:U:c:f:s'
 | 
			
		||||
opts='hC:M:c:f:sm'
 | 
			
		||||
 | 
			
		||||
while getopts ${opts} arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
        C) pacman_conf="$OPTARG" ;;
 | 
			
		||||
        M) makepkg_conf="$OPTARG" ;;
 | 
			
		||||
        U) mirror="$OPTARG" ;;
 | 
			
		||||
        c) cache_dir="$OPTARG" ;;
 | 
			
		||||
        f) files+=("$OPTARG") ;;
 | 
			
		||||
        s) nosetarch=true ;;
 | 
			
		||||
        m) copy_mirrorlist=false; basestrap_args+=(-M) ;;
 | 
			
		||||
        h|?) usage ;;
 | 
			
		||||
        *) error "invalid argument '%s'" "$arg"; usage ;;
 | 
			
		||||
    esac
 | 
			
		||||
@@ -98,7 +100,7 @@ while read -r varname; do
 | 
			
		||||
    _env+=("$varname=${!varname}")
 | 
			
		||||
done < <(declare -x | sed -r 's/^declare -x ([^=]*)=.*/\1/' | grep -i '_proxy$')
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -210,10 +210,6 @@ _chrootbuild() {
 | 
			
		||||
 | 
			
		||||
    #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 "$@"
 | 
			
		||||
 | 
			
		||||
    ret=$?
 | 
			
		||||
 
 | 
			
		||||
@@ -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[@]}"
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
################ artools-pkg ################
 | 
			
		||||
#############################################
 | 
			
		||||
 | 
			
		||||
# git user access token
 | 
			
		||||
# gitea user access token
 | 
			
		||||
# git_token=''
 | 
			
		||||
 | 
			
		||||
# host_tree_artix='gitea@gitea.artixlinux.org:artix'
 | 
			
		||||
@@ -32,21 +32,15 @@
 | 
			
		||||
# the dist release; default: auto
 | 
			
		||||
# iso_version=$(date +%Y%m%d)
 | 
			
		||||
 | 
			
		||||
# possible values: openrc, (s6, runit) not yet supported
 | 
			
		||||
# possible values: openrc, runit (s6 not yet supported)
 | 
			
		||||
# initsys="openrc"
 | 
			
		||||
 | 
			
		||||
# unset defaults to given value
 | 
			
		||||
# kernel="linux"
 | 
			
		||||
 | 
			
		||||
# gpg key; leave empty or commented to skip sfs signing
 | 
			
		||||
# gpgkey=""
 | 
			
		||||
 | 
			
		||||
# set upload bandwidth limit in kB/s
 | 
			
		||||
# uplimit=100
 | 
			
		||||
 | 
			
		||||
# the torrent tracker urls, comma separated
 | 
			
		||||
# tracker_url='udp://mirror.strits.dk:6969'
 | 
			
		||||
 | 
			
		||||
# file_host="sourceforge.net"
 | 
			
		||||
 | 
			
		||||
# the server user
 | 
			
		||||
@@ -54,9 +48,3 @@
 | 
			
		||||
 | 
			
		||||
# the server project
 | 
			
		||||
# project="artix-linux"
 | 
			
		||||
 | 
			
		||||
# host mirrors
 | 
			
		||||
# host_mirrors=('netcologne' 'freefr' 'netix' 'kent' '10gbps-io')
 | 
			
		||||
 | 
			
		||||
# Piece size, 2^n
 | 
			
		||||
# piece_size=21
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,11 @@ prepare_initcpio(){
 | 
			
		||||
prepare_initramfs(){
 | 
			
		||||
    local mnt="$1"
 | 
			
		||||
    cp ${DATADIR}/mkinitcpio.conf $mnt/etc/mkinitcpio-artix.conf
 | 
			
		||||
 | 
			
		||||
    if [[ "${profile}" != 'base' ]];then
 | 
			
		||||
        sed -e 's/artix_pxe_common artix_pxe_http artix_pxe_nbd artix_pxe_nfs //' -i $mnt/etc/mkinitcpio-artix.conf
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -n ${gpgkey} ]]; then
 | 
			
		||||
        user_run "gpg --export ${gpgkey} >${AT_USERCONFDIR}/gpgkey"
 | 
			
		||||
        exec 17<>${AT_USERCONFDIR}/gpgkey
 | 
			
		||||
@@ -40,8 +45,12 @@ prepare_initramfs(){
 | 
			
		||||
 | 
			
		||||
prepare_boot_extras(){
 | 
			
		||||
    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/usr/share/licenses/common/GPL2/license.txt $dest/memtest.COPYING
 | 
			
		||||
}
 | 
			
		||||
@@ -83,8 +92,13 @@ prepare_grub(){
 | 
			
		||||
    cp -r ${theme}/themes/artix ${grub}/themes/
 | 
			
		||||
    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"
 | 
			
		||||
    msg2 "Creating fat image of %s ..." "${size}"
 | 
			
		||||
 
 | 
			
		||||
@@ -94,21 +94,19 @@ load_pkgs(){
 | 
			
		||||
    local pkglist="$1" init="$2"
 | 
			
		||||
    info "Loading Packages: [%s] ..." "${pkglist##*/}"
 | 
			
		||||
 | 
			
		||||
    local _init="s|>$init||g"
 | 
			
		||||
    local _init="s|@$init||g"
 | 
			
		||||
    case "$init" in
 | 
			
		||||
        'openrc') _init_rm1="s|>runit.*||g"; _init_rm2="s|>s6*||g" ;;
 | 
			
		||||
        's6') _init_rm1="s|>runit.*||g"; _init_rm2="s|>openrc.*||g" ;;
 | 
			
		||||
        'runit') _init_rm1="s|>s6.*||g"; _init_rm2="s|>openrc.*||g" ;;
 | 
			
		||||
        'openrc') _init_rm1="s|@runit.*||g"; _init_rm2="s|@s6*||g" ;;
 | 
			
		||||
        's6') _init_rm1="s|@runit.*||g"; _init_rm2="s|@openrc.*||g" ;;
 | 
			
		||||
        'runit') _init_rm1="s|@s6.*||g"; _init_rm2="s|@openrc.*||g" ;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    local _blacklist="s|>blacklist.*||g" \
 | 
			
		||||
        _space="s| ||g" \
 | 
			
		||||
    local _space="s| ||g" \
 | 
			
		||||
        _clean=':a;N;$!ba;s/\n/ /g' \
 | 
			
		||||
        _com_rm="s|#.*||g"
 | 
			
		||||
 | 
			
		||||
    packages=($(sed "$_com_rm" "$pkglist" \
 | 
			
		||||
            | sed "$_space" \
 | 
			
		||||
            | sed "$_blacklist" \
 | 
			
		||||
            | sed "$_purge" \
 | 
			
		||||
            | sed "$_init" \
 | 
			
		||||
            | 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}"
 | 
			
		||||
}
 | 
			
		||||
@@ -25,27 +25,45 @@ write_users_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 "avatarFilePath:  ~/.face" >> "$conf"
 | 
			
		||||
#     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(){
 | 
			
		||||
    local init="$2"
 | 
			
		||||
    local conf="$1"/"$init"cfg.conf state='add'
 | 
			
		||||
    local conf="$1"/services-"$init".conf
 | 
			
		||||
    msg2 "Writing %s ..." "${conf##*/}"
 | 
			
		||||
    echo '---' >  "$conf"
 | 
			
		||||
    if [[ "$init" == 'runit' ]];then
 | 
			
		||||
        state='enabled'
 | 
			
		||||
        echo 'svdir: /etc/runit/sv' >> "$conf"
 | 
			
		||||
    case "$init" in
 | 
			
		||||
        'runit')
 | 
			
		||||
            echo 'svDir: /etc/runit/sv' >> "$conf"
 | 
			
		||||
            echo '' >> "$conf"
 | 
			
		||||
        echo 'runsvdir: /etc/runit/runsvdir' >> "$conf"
 | 
			
		||||
    fi
 | 
			
		||||
            echo 'runsvDir: /etc/runit/runsvdir' >> "$conf"
 | 
			
		||||
            echo '' >> "$conf"
 | 
			
		||||
            echo 'services:' >> "$conf"
 | 
			
		||||
    echo "    $state:" >> "$conf"
 | 
			
		||||
            echo "    enabled:" >> "$conf"
 | 
			
		||||
            for svc in ${services[@]};do
 | 
			
		||||
                echo "      - name: $svc" >> "$conf"
 | 
			
		||||
                echo '        runlevel: default' >> "$conf"
 | 
			
		||||
            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(){
 | 
			
		||||
@@ -53,21 +71,15 @@ write_postcfg_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(){
 | 
			
		||||
    local mods="$1/etc/calamares/modules" init="$2"
 | 
			
		||||
    if [[ -d "$mods" ]];then
 | 
			
		||||
        info "Configuring [Calamares]"
 | 
			
		||||
        write_netinstall_conf "$mods" "$init"
 | 
			
		||||
        write_users_conf "$mods"
 | 
			
		||||
        write_servicescfg_conf "$mods" "$init"
 | 
			
		||||
        write_postcfg_conf "$mods" "$init"
 | 
			
		||||
        local name="$init"cfg
 | 
			
		||||
        sed -e "s|openrccfg|$name|" -i "$1"/etc/calamares/settings.conf
 | 
			
		||||
        local name=services-"$init"
 | 
			
		||||
        sed -e "s|services-openrc|$name|" -i "$1"/etc/calamares/settings.conf
 | 
			
		||||
        info "Done configuring [Calamares]"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -87,6 +87,7 @@ error_function() {
 | 
			
		||||
# $1: function
 | 
			
		||||
run_log(){
 | 
			
		||||
    local func="$1" log_dir='/var/log/artools'
 | 
			
		||||
    [[ ! -d $log_dir ]] && mkdir -p $log_dir
 | 
			
		||||
    local logfile=${log_dir}/$(gen_iso_fn).$func.log
 | 
			
		||||
    logpipe=$(mktemp -u "/tmp/$func.pipe.XXXXXXXX")
 | 
			
		||||
    mkfifo "$logpipe"
 | 
			
		||||
@@ -406,7 +407,10 @@ make_iso() {
 | 
			
		||||
gen_iso_fn(){
 | 
			
		||||
    local vars=("artix") name
 | 
			
		||||
    vars+=("${profile}")
 | 
			
		||||
    [[ ${initsys} == 'runit' ]] && vars+=("${initsys}")
 | 
			
		||||
    vars+=("${initsys}")
 | 
			
		||||
    case "${stablility}" in
 | 
			
		||||
        'gremlins'|'goblins') vars+=("${stablility}") ;;
 | 
			
		||||
    esac
 | 
			
		||||
    vars+=("${iso_version}")
 | 
			
		||||
    vars+=("${target_arch}")
 | 
			
		||||
    for n in ${vars[@]};do
 | 
			
		||||
 
 | 
			
		||||
@@ -33,47 +33,11 @@ get_os_name(){
 | 
			
		||||
    echo "$str"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
get_chroot_arch(){
 | 
			
		||||
    local elf=$(file $1/usr/bin/file)
 | 
			
		||||
    elf=${elf//*executable,}
 | 
			
		||||
    echo ${elf%%,*}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
chroot_part_mount() {
 | 
			
		||||
    info "mount: [%s]" "$2"
 | 
			
		||||
    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 -p EXIT) ]] && die 'Error! Attempting to overwrite existing EXIT trap'
 | 
			
		||||
    trap "$1" EXIT
 | 
			
		||||
@@ -151,16 +115,6 @@ mount_os(){
 | 
			
		||||
        esac
 | 
			
		||||
    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_add_resolv_conf "$1"
 | 
			
		||||
}
 | 
			
		||||
@@ -171,16 +125,18 @@ chroot_api_mount() {
 | 
			
		||||
    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() {
 | 
			
		||||
    if (( ${#CHROOT_ACTIVE_MOUNTS[@]} )); then
 | 
			
		||||
        info "umount: [%s]" "${CHROOT_ACTIVE_MOUNTS[@]}"
 | 
			
		||||
        umount "${CHROOT_ACTIVE_MOUNTS[@]}"
 | 
			
		||||
    fi
 | 
			
		||||
    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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,21 +10,21 @@
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
subrepo_init(){
 | 
			
		||||
    local pkg="$1"
 | 
			
		||||
    git subrepo init $pkg -r gitea@${git_domain}:packages/$pkg.git -b master
 | 
			
		||||
    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"
 | 
			
		||||
    git subrepo push -u "$pkg" -b master
 | 
			
		||||
    local pkg="$1" branch=master
 | 
			
		||||
    git subrepo push "$pkg" -u -b "$branch"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
subrepo_pull(){
 | 
			
		||||
    local pkg="$1" name="${2:-$1}"
 | 
			
		||||
    git subrepo pull "$pkg" -b master -r gitea@${git_domain}:packages/$name.git -u
 | 
			
		||||
    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}"
 | 
			
		||||
    git subrepo clone gitea@gitea.artixlinux.org:packages/$pkg.git "$name" -b master
 | 
			
		||||
    local pkg="$1" name="${2:-$1}" branch=master org=packages
 | 
			
		||||
    git subrepo clone gitea@"${git_domain}":"$org"/"$name".git "$pkg" -b "$branch"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								lib/util.sh
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								lib/util.sh
									
									
									
									
									
								
							@@ -96,21 +96,13 @@ init_artools_iso(){
 | 
			
		||||
 | 
			
		||||
    [[ -z ${gpgkey} ]] && gpgkey=''
 | 
			
		||||
 | 
			
		||||
    [[ -z ${uplimit} ]] && uplimit=100
 | 
			
		||||
 | 
			
		||||
    [[ -z ${tracker_url} ]] && tracker_url='udp://mirror.strits.dk:6969'
 | 
			
		||||
 | 
			
		||||
    [[ -z ${piece_size} ]] && piece_size=21
 | 
			
		||||
    [[ -z ${uplimit} ]] && uplimit=1000
 | 
			
		||||
 | 
			
		||||
    [[ -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)"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user