forked from artix/artools
		
	Compare commits
	
		
			42 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | 
							
								
								
									
										79
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										79
									
								
								Makefile
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
VERSION=0.8
 | 
			
		||||
VERSION=0.9
 | 
			
		||||
 | 
			
		||||
CHROOT_VERSION=0.8
 | 
			
		||||
 | 
			
		||||
@@ -22,17 +22,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 = \
 | 
			
		||||
@@ -103,19 +92,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 +154,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,9 +26,8 @@ artools
 | 
			
		||||
  * pacman
 | 
			
		||||
 | 
			
		||||
- pkg:
 | 
			
		||||
 | 
			
		||||
  * namcap
 | 
			
		||||
  * git
 | 
			
		||||
  * git-subrepo
 | 
			
		||||
 | 
			
		||||
- iso:
 | 
			
		||||
  * dosfstools
 | 
			
		||||
 
 | 
			
		||||
@@ -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(){
 | 
			
		||||
 
 | 
			
		||||
@@ -18,14 +18,16 @@ DATADIR='@datadir@'
 | 
			
		||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
			
		||||
import ${LIBDIR}/util.sh
 | 
			
		||||
import ${LIBDIR}/util-pkg.sh
 | 
			
		||||
import ${LIBDIR}/util-pkg-gitea.sh
 | 
			
		||||
import ${LIBDIR}/util-pkg-subrepo.sh
 | 
			
		||||
 | 
			
		||||
pull_tree_arch(){
 | 
			
		||||
    cd ${tree_dir_arch}
 | 
			
		||||
    for tree in packages community;do
 | 
			
		||||
        if [[ -d ${tree} ]];then
 | 
			
		||||
            cd ${tree}
 | 
			
		||||
                msg "Checking (%s)" "${tree}"
 | 
			
		||||
                pull_tree
 | 
			
		||||
            msg "Checking (%s)" "${tree}"
 | 
			
		||||
            pull_tree
 | 
			
		||||
            cd ..
 | 
			
		||||
        else
 | 
			
		||||
            msg "Cloning (%s) ..." "$tree"
 | 
			
		||||
@@ -34,18 +36,32 @@ pull_tree_arch(){
 | 
			
		||||
    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(){
 | 
			
		||||
    cd ${tree_dir_artix}
 | 
			
		||||
    for tree in packages packages-galaxy;do
 | 
			
		||||
        if [[ -d ${tree} ]];then
 | 
			
		||||
            config_tree "${tree}"
 | 
			
		||||
            cd ${tree}
 | 
			
		||||
                git config --bool pull.rebase true
 | 
			
		||||
                msg "Checking (%s)" "${tree}"
 | 
			
		||||
                pull_tree
 | 
			
		||||
            msg "Checking (%s)" "${tree}"
 | 
			
		||||
            pull_tree
 | 
			
		||||
            cd ..
 | 
			
		||||
        else
 | 
			
		||||
            msg "Cloning (%s) ..." "$tree"
 | 
			
		||||
            clone_tree "${host_tree_artix}/${tree}"
 | 
			
		||||
            config_tree "${tree}"
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
}
 | 
			
		||||
@@ -55,13 +71,13 @@ show_version_table(){
 | 
			
		||||
    for tree in packages packages-galaxy;do
 | 
			
		||||
        local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d)
 | 
			
		||||
        for pkg_path in ${git[@]}; do
 | 
			
		||||
            local artixrepo=$(find_repo "$pkg_path" "${unstable}")
 | 
			
		||||
            local artixrepo=$(find_repo "$pkg_path" "${unstable}" "${staging}")
 | 
			
		||||
            if [[ -d $pkg_path/repos/$artixrepo ]];then
 | 
			
		||||
                source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null
 | 
			
		||||
                local pkg=${pkg_path##*/}
 | 
			
		||||
                local artixver=$(get_full_version $pkg)
 | 
			
		||||
                local src=$(get_import_path "$tree" "$pkg")
 | 
			
		||||
                local archrepo=$(find_repo "$src/$pkg" "${unstable}")
 | 
			
		||||
                local archrepo=$(find_repo "$src/$pkg" "${unstable}" "${staging}")
 | 
			
		||||
                if [[ -d $src/$pkg/repos/$archrepo ]];then
 | 
			
		||||
                    source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
 | 
			
		||||
                    local archver=$(get_full_version $pkg)
 | 
			
		||||
@@ -155,7 +171,10 @@ from_arch(){
 | 
			
		||||
        cd ${tree_dir_artix}/$git_tree_artix
 | 
			
		||||
 | 
			
		||||
        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"
 | 
			
		||||
        rsync "${rsync_args[@]}" $src/ $dest/
 | 
			
		||||
@@ -195,6 +214,8 @@ display_settings(){
 | 
			
		||||
    msg2 "upgrades: %s" "${upgrades}"
 | 
			
		||||
    msg2 "downgrades: %s" "${downgrades}"
 | 
			
		||||
    msg2 "artix: %s" "${artix}"
 | 
			
		||||
    msg2 "staging: %s" "${staging}"
 | 
			
		||||
    msg2 "unstable: %s" "${unstable}"
 | 
			
		||||
    msg2 "import: %s" "${import}"
 | 
			
		||||
    msg2 "view: %s" "${view}"
 | 
			
		||||
    msg2 "trunk: %s" "${trunk}"
 | 
			
		||||
@@ -215,6 +236,7 @@ sync=false
 | 
			
		||||
sync_arch=true
 | 
			
		||||
compare=false
 | 
			
		||||
unstable=false
 | 
			
		||||
staging=true
 | 
			
		||||
upgrades=false
 | 
			
		||||
downgrades=false
 | 
			
		||||
artix=false
 | 
			
		||||
@@ -231,10 +253,11 @@ usage() {
 | 
			
		||||
    echo "    -s            Clone or pull repos"
 | 
			
		||||
    echo "    -z            Don't clone or pull arch repos"
 | 
			
		||||
    echo '    -c            Compare packages'
 | 
			
		||||
    echo '    -x            Include unstable kde and gnome'
 | 
			
		||||
    echo '    -u            Show upgrade 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 '    -t            Import from arch trunk'
 | 
			
		||||
    echo '    -v            View package depends'
 | 
			
		||||
@@ -247,7 +270,7 @@ usage() {
 | 
			
		||||
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
opts='p:csudaiztxvqh'
 | 
			
		||||
opts='p:csudayiztxvqh'
 | 
			
		||||
 | 
			
		||||
while getopts "${opts}" arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
@@ -258,6 +281,7 @@ while getopts "${opts}" arg; do
 | 
			
		||||
        u) upgrades=true ;;
 | 
			
		||||
        d) downgrades=true ;;
 | 
			
		||||
        a) artix=true ;;
 | 
			
		||||
        y) staging=false ;;
 | 
			
		||||
        i) import=true ;;
 | 
			
		||||
        t) trunk=true ;;
 | 
			
		||||
        v) view=true ;;
 | 
			
		||||
 
 | 
			
		||||
@@ -94,7 +94,7 @@ copy_hostconf () {
 | 
			
		||||
 | 
			
		||||
chroot_extra_mount() {
 | 
			
		||||
    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 "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,6 +18,7 @@ DATADIR='@datadir@'
 | 
			
		||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
			
		||||
import ${LIBDIR}/util.sh
 | 
			
		||||
import ${LIBDIR}/util-pkg.sh
 | 
			
		||||
import ${LIBDIR}/util-pkg-subrepo.sh
 | 
			
		||||
 | 
			
		||||
commit_pkg(){
 | 
			
		||||
    local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
 | 
			
		||||
@@ -27,6 +28,7 @@ commit_pkg(){
 | 
			
		||||
        source trunk/PKGBUILD
 | 
			
		||||
        [[ $arch == 'any' ]] && CARCH=any
 | 
			
		||||
        local ver=$(get_full_version "${package}")
 | 
			
		||||
        local commit_msg=""
 | 
			
		||||
 | 
			
		||||
        if ${remove};then
 | 
			
		||||
            local action='remove'
 | 
			
		||||
@@ -37,20 +39,27 @@ commit_pkg(){
 | 
			
		||||
                local pkg="${package}-$ver"
 | 
			
		||||
                git rm -r repos/"${source_repo}-$CARCH"
 | 
			
		||||
            fi
 | 
			
		||||
            msg "Action: [%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
 | 
			
		||||
            git commit -m "[${source_repo}] '$pkg' ${action}"
 | 
			
		||||
            commit_msg="[${source_repo}] '$pkg' ${action}"
 | 
			
		||||
            msg "Action: %s" "$commit_msg"
 | 
			
		||||
        else
 | 
			
		||||
            local action='modify'
 | 
			
		||||
            msg "Action: [%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}"
 | 
			
		||||
            commit_msg="[${source_repo}] '${package}-$ver' ${action}"
 | 
			
		||||
            msg "Action: %s" "$commit_msg"
 | 
			
		||||
            git add .
 | 
			
		||||
            git commit -m "[${source_repo}] '${package}-$ver' ${action}"
 | 
			
		||||
 | 
			
		||||
        fi
 | 
			
		||||
        git commit -m "$commit_msg"
 | 
			
		||||
 | 
			
		||||
        cd ${tree_dir_artix}/${git_tree}
 | 
			
		||||
 | 
			
		||||
        if ${push};then
 | 
			
		||||
            msg "Checking (%s)" "${git_tree}"
 | 
			
		||||
            git pull origin master
 | 
			
		||||
            subrepo_push "${package}"
 | 
			
		||||
            sleep 1
 | 
			
		||||
            git push origin master
 | 
			
		||||
        fi
 | 
			
		||||
        git prune
 | 
			
		||||
    else
 | 
			
		||||
        error "Package '%s' does not exist!" "${package}"
 | 
			
		||||
    fi
 | 
			
		||||
@@ -85,16 +94,22 @@ symlink_commit_pkg(){
 | 
			
		||||
            cp repos/$src/* repos/$dest/
 | 
			
		||||
            git rm -r repos/$src
 | 
			
		||||
        fi
 | 
			
		||||
        local commit_msg="[${source_repo}] -> [${target_repo}] '${package}-$ver' ${action}"
 | 
			
		||||
        msg "Action: %s" "$commit_msg"
 | 
			
		||||
 | 
			
		||||
        msg "Action: [%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}"
 | 
			
		||||
        git add .
 | 
			
		||||
        git commit -m "[${source_repo}] -> [${target_repo}] '${package}-$ver' ${action}"
 | 
			
		||||
        git commit -m "$commit_msg"
 | 
			
		||||
 | 
			
		||||
        cd ${tree_dir_artix}/${git_tree}
 | 
			
		||||
 | 
			
		||||
        if ${push};then
 | 
			
		||||
            msg "Checking (%s)" "${git_tree}"
 | 
			
		||||
            git pull origin master
 | 
			
		||||
            subrepo_push "${package}"
 | 
			
		||||
            sleep 1
 | 
			
		||||
            git push origin master
 | 
			
		||||
        fi
 | 
			
		||||
        git prune
 | 
			
		||||
    else
 | 
			
		||||
        error "Package '%s' does not exist!" "${package}"
 | 
			
		||||
    fi
 | 
			
		||||
 
 | 
			
		||||
@@ -204,11 +204,11 @@ _chrootbuild() {
 | 
			
		||||
    ulimit -c 0
 | 
			
		||||
 | 
			
		||||
    # Work around chroot-run not giving a ctty
 | 
			
		||||
    exec </dev/console
 | 
			
		||||
    #exec </dev/console
 | 
			
		||||
 | 
			
		||||
    . /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
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,10 @@
 | 
			
		||||
################ artools-pkg ################
 | 
			
		||||
#############################################
 | 
			
		||||
 | 
			
		||||
# host_tree_artix='https://github.com/artix-linux'
 | 
			
		||||
# git user access token
 | 
			
		||||
# git_token=''
 | 
			
		||||
 | 
			
		||||
# host_tree_artix='gitea@gitea.artixlinux.org:artix'
 | 
			
		||||
 | 
			
		||||
# host_tree_arch=git://projects.archlinux.org/svntogit
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
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"
 | 
			
		||||
 
 | 
			
		||||
@@ -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}"
 | 
			
		||||
 | 
			
		||||
    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"
 | 
			
		||||
    echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/artix/used_block_devices
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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}
 | 
			
		||||
 | 
			
		||||
    msg2 "Creating %s ..." "unicode.pf2"
 | 
			
		||||
    grub-mkfont -o ${grub}/unicode.pf2 /usr/share/fonts/misc/unifont.bdf
 | 
			
		||||
    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}"
 | 
			
		||||
 
 | 
			
		||||
@@ -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"
 | 
			
		||||
        echo '' >> "$conf"
 | 
			
		||||
        echo 'runsvdir: /etc/runit/runsvdir' >> "$conf"
 | 
			
		||||
    fi
 | 
			
		||||
    echo '' >> "$conf"
 | 
			
		||||
    echo 'services:' >> "$conf"
 | 
			
		||||
    echo "    $state:" >> "$conf"
 | 
			
		||||
    for svc in ${services[@]};do
 | 
			
		||||
        echo "      - name: $svc" >> "$conf"
 | 
			
		||||
        echo '        runlevel: default' >> "$conf"
 | 
			
		||||
    done
 | 
			
		||||
    case "$init" in
 | 
			
		||||
        'runit')
 | 
			
		||||
            echo 'svDir: /etc/runit/sv' >> "$conf"
 | 
			
		||||
            echo '' >> "$conf"
 | 
			
		||||
            echo 'runsvDir: /etc/runit/runsvdir' >> "$conf"
 | 
			
		||||
            echo '' >> "$conf"
 | 
			
		||||
            echo 'services:' >> "$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"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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')
 | 
			
		||||
            sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD
 | 
			
		||||
            sed -e 's|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION="-ARTIX"|' \
 | 
			
		||||
                -e 's|CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME="artixlinux"|' \
 | 
			
		||||
            sed -e 's|CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME="artixlinux"|' \
 | 
			
		||||
                -e 's|CONFIG_CRYPTO_SPECK=.*|CONFIG_CRYPTO_SPECK=n|' \
 | 
			
		||||
                -i $pkg/trunk/config
 | 
			
		||||
            cd $pkg/trunk
 | 
			
		||||
@@ -77,6 +76,14 @@ patch_pkg(){
 | 
			
		||||
    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(){
 | 
			
		||||
    local tree="$1" pkg="$2"
 | 
			
		||||
    local result=$(find $tree -mindepth 2 -maxdepth 2 -type d -name "$pkg")
 | 
			
		||||
@@ -125,7 +132,7 @@ is_valid_repo(){
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
find_repo(){
 | 
			
		||||
    local pkg="$1" incl="$2" repo=
 | 
			
		||||
    local pkg="$1" unst="$2" stag="$3" repo=
 | 
			
		||||
 | 
			
		||||
    if [[ -f $pkg/repos/core-x86_64/PKGBUILD ]];then
 | 
			
		||||
        repo=core-x86_64
 | 
			
		||||
@@ -145,10 +152,12 @@ find_repo(){
 | 
			
		||||
        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
 | 
			
		||||
    if $stag;then
 | 
			
		||||
        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
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -f $pkg/repos/community-x86_64/PKGBUILD ]];then
 | 
			
		||||
@@ -163,10 +172,12 @@ find_repo(){
 | 
			
		||||
        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
 | 
			
		||||
    if $stag;then
 | 
			
		||||
        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
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -f $pkg/repos/multilib-x86_64/PKGBUILD ]];then
 | 
			
		||||
@@ -177,11 +188,13 @@ find_repo(){
 | 
			
		||||
        repo=multilib-testing-x86_64
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -f $pkg/repos/multilib-staging-x86_64/PKGBUILD ]];then
 | 
			
		||||
        repo=multilib-staging-x86_64
 | 
			
		||||
    if $stag;then
 | 
			
		||||
        if [[ -f $pkg/repos/multilib-staging-x86_64/PKGBUILD ]];then
 | 
			
		||||
            repo=multilib-staging-x86_64
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if $incl;then
 | 
			
		||||
    if $unst;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
 | 
			
		||||
 
 | 
			
		||||
@@ -60,9 +60,15 @@ init_artools_base(){
 | 
			
		||||
 | 
			
		||||
init_artools_pkg(){
 | 
			
		||||
 | 
			
		||||
    git_domain='gitea.artixlinux.org'
 | 
			
		||||
 | 
			
		||||
    git_url="https://${git_domain}"
 | 
			
		||||
 | 
			
		||||
    [[ -z ${git_token} ]] && git_token=''
 | 
			
		||||
 | 
			
		||||
    [[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix
 | 
			
		||||
 | 
			
		||||
    [[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux'
 | 
			
		||||
    [[ -z ${host_tree_artix} ]] && host_tree_artix="gitea@gitea.artixlinux.org:artix"
 | 
			
		||||
 | 
			
		||||
    [[ -z ${tree_dir_arch} ]] && tree_dir_arch=${workspace_dir}/archlinux
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user