forked from artix/artools
		
	Compare commits
	
		
			13 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2f1cf770cd | |||
| 2f5a374523 | |||
| 76ca2dfdc7 | |||
| f05688dc12 | |||
| 091b5deaa8 | |||
| 93e4beb61f | |||
| 76b4ff511d | |||
| 2995207e6b | |||
| 5aa8bd3333 | |||
| 699ea06445 | |||
| 4b9a883113 | |||
| 74ab2c71b1 | |||
| 1f64eba1e6 | 
| @@ -21,13 +21,13 @@ m4_include(lib/base/mount.sh) | ||||
| #{{{ functions | ||||
|  | ||||
| chroot_part_mount() { | ||||
|     info "mount: [%s]" "$2" | ||||
|     msg2 "mount: [%s]" "$2" | ||||
|     mount "$@" && CHROOT_ACTIVE_PART_MOUNTS=("$2" "${CHROOT_ACTIVE_PART_MOUNTS[@]}") | ||||
| } | ||||
|  | ||||
| chroot_part_umount() { | ||||
|     chroot_api_umount | ||||
|     info "umount: [%s]" "${CHROOT_ACTIVE_PART_MOUNTS[@]}" | ||||
|     msg2 "umount: [%s]" "${CHROOT_ACTIVE_PART_MOUNTS[@]}" | ||||
|     umount "${CHROOT_ACTIVE_PART_MOUNTS[@]}" | ||||
|     unset CHROOT_ACTIVE_PART_MOUNTS | ||||
| } | ||||
| @@ -80,7 +80,7 @@ select_os(){ | ||||
|             local last=${os##*:} | ||||
|             case $last in | ||||
|                 'efi') count=$((count-1)) ;; | ||||
|                 *) info "$i) $(get_os_name "$os")"; i=$((i+1)) ;; | ||||
|                 *) msg2 "$i) $(get_os_name "$os")"; i=$((i+1)) ;; | ||||
|             esac | ||||
|         done | ||||
|         i=0 | ||||
|   | ||||
| @@ -15,6 +15,7 @@ | ||||
| m4_include(lib/base/message.sh) | ||||
| m4_include(lib/base/mount.sh) | ||||
| m4_include(lib/base/chroot.sh) | ||||
| m4_include(lib/base/chroot-version.sh) | ||||
|  | ||||
| # $1: chroot | ||||
| kill_chroot_process(){ | ||||
| @@ -26,7 +27,7 @@ kill_chroot_process(){ | ||||
|                 # this process is in the chroot... | ||||
|                 pid=$(basename "$(dirname "$root_dir")") | ||||
|                 name=$(ps -p "$pid" -o comm=) | ||||
|                 info "Killing chroot process: %s (%s)" "$name" "$pid" | ||||
|                 msg2 "Killing chroot process: %s (%s)" "$name" "$pid" | ||||
|                 kill -9 "$pid" | ||||
|             fi | ||||
|         fi | ||||
| @@ -96,7 +97,6 @@ for host_mirror in "${host_mirrors[@]}"; do | ||||
|     if [[ $host_mirror == *file://* ]]; then | ||||
|         # shellcheck disable=2016 | ||||
|         host_mirror=$(echo "$host_mirror" | sed -r 's#file://(/.*)/\$repo/os/\$arch#\1#g') | ||||
|         info "host mirror: %s" "$host_mirror" | ||||
|         in_array "$host_mirror" "${cache_dirs[@]}" || cache_dirs+=("$host_mirror") | ||||
|     fi | ||||
| done | ||||
| @@ -148,12 +148,6 @@ chroot_extra_mount() { | ||||
|     done | ||||
| } | ||||
|  | ||||
| sync_host_localtime(){ | ||||
|     if [[ -e /etc/localtime ]]; then | ||||
|         cp -L /etc/localtime "${working_dir}"/etc/localtime | ||||
|     fi | ||||
| } | ||||
|  | ||||
| umask 0022 | ||||
|  | ||||
| # Sanity check | ||||
| @@ -163,8 +157,6 @@ elif [[ $(cat "$working_dir/.artools") != "${CHROOTVERSION}" ]]; then | ||||
|     die "chroot '%s' is not at version %s. Please rebuild." "$working_dir" "${CHROOTVERSION}" | ||||
| fi | ||||
|  | ||||
| #sync_host_localtime | ||||
|  | ||||
| chroot_api_mount "${working_dir}" || die "failed to setup API filesystems in chroot %s" "${working_dir}" | ||||
|  | ||||
| chroot_extra_mount | ||||
|   | ||||
| @@ -14,6 +14,7 @@ | ||||
|  | ||||
| m4_include(lib/base/message.sh) | ||||
| m4_include(lib/base/chroot.sh) | ||||
| m4_include(lib/base/chroot-version.sh) | ||||
|  | ||||
| working_dir='' | ||||
| umode='' | ||||
|   | ||||
| @@ -86,9 +86,9 @@ make_rootfs() { | ||||
|  | ||||
|         basestrap "${basestrap_args[@]}" "${rootfs}" "${packages[@]}" | ||||
|  | ||||
|         copy_overlay "${ROOT_OVERLAY}" "${rootfs}" | ||||
|         copy_overlay "${root_overlay}" "${rootfs}" | ||||
|  | ||||
|         [[ -z ${LIVE_LIST} ]] && configure_chroot "${rootfs}" | ||||
|         [[ -z ${live_list} ]] && configure_chroot "${rootfs}" | ||||
|  | ||||
|         clean_up_chroot "${rootfs}" | ||||
|  | ||||
| @@ -109,7 +109,7 @@ make_livefs() { | ||||
|  | ||||
|         basestrap "${basestrap_args[@]}" "${livefs}" "${packages[@]}" | ||||
|  | ||||
|         copy_overlay "${LIVE_OVERLAY}" "${livefs}" | ||||
|         copy_overlay "${live_overlay}" "${livefs}" | ||||
|  | ||||
|         configure_chroot "${livefs}" | ||||
|  | ||||
| @@ -154,7 +154,7 @@ make_grub(){ | ||||
|         msg "Prepare [/iso/boot/grub]" | ||||
|  | ||||
|         local layer=${work_dir}/rootfs | ||||
|         [[ -n ${LIVE_LIST} ]] && layer=${work_dir}/livefs | ||||
|         [[ -n ${live_list} ]] && layer=${work_dir}/livefs | ||||
|  | ||||
|         prepare_grub "${work_dir}/rootfs" "$layer" | ||||
|  | ||||
| @@ -187,10 +187,9 @@ gen_iso_fn(){ | ||||
| prepare_build(){ | ||||
|     load_profile | ||||
|  | ||||
|     local repo=default | ||||
|  | ||||
|     case "${repo}" in | ||||
|         'gremlins'|'goblins') repo="${repo}" ;; | ||||
|         *) repo=default ;; | ||||
|     esac | ||||
|  | ||||
|     get_pacman_conf "${repo}" | ||||
| @@ -249,10 +248,10 @@ mk_boot(){ | ||||
| } | ||||
|  | ||||
| mk_chroots(){ | ||||
|     load_pkgs "${ROOT_LIST}" "${INITSYS}" | ||||
|     load_pkgs "${root_list}" | ||||
|     run_safe "make_rootfs" | ||||
|     if [[ -n ${LIVE_LIST} ]]; then | ||||
|         load_pkgs "${LIVE_LIST}" "${INITSYS}" | ||||
|     if [[ -n ${live_list} ]]; then | ||||
|         load_pkgs "${live_list}" | ||||
|         run_safe "make_livefs" | ||||
|     fi | ||||
| } | ||||
|   | ||||
| @@ -53,20 +53,20 @@ create_repo() { | ||||
| } | ||||
|  | ||||
| subrepo_new(){ | ||||
|     cd "${TREE_DIR_ARTIX}/${GROUP}" || return | ||||
|     cd "${TREE_DIR_ARTIX}/${group}" || return | ||||
|  | ||||
|     local org | ||||
|     org=$(get_pkg_org "${PACKAGE}") | ||||
|     org=$(get_pkg_org "${package}") | ||||
|  | ||||
|     create_repo "${PACKAGE}" "$org" | ||||
|     create_repo "${package}" "$org" | ||||
|  | ||||
|     add_repo_to_team "${PACKAGE}" "$org" "${TEAM}" | ||||
|     add_repo_to_team "${package}" "$org" "${team}" | ||||
|  | ||||
|     subrepo_clone "${PACKAGE}" "$org" | ||||
|     subrepo_clone "${package}" "$org" | ||||
|  | ||||
|     mkdir -p "${TREE_DIR_ARTIX}/${GROUP}/${PACKAGE}/trunk" | ||||
|     mkdir -p "${TREE_DIR_ARTIX}/${group}/${package}/trunk" | ||||
|  | ||||
|     commit_jenkins_files "${PACKAGE}" | ||||
|     commit_jenkins_files "${package}" | ||||
| } | ||||
|  | ||||
| #}}} | ||||
| @@ -89,7 +89,7 @@ pull_tree_arch(){ | ||||
|                 pull_tree "${tree}" "$(get_local_head)" "Arch" | ||||
|             ) | ||||
|         else | ||||
|             clone_tree "${host_tree_arch}" "${tree}" "Arch" | ||||
|             clone_tree "${HOST_TREE_ARCH}" "${tree}" "Arch" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
| @@ -110,7 +110,7 @@ config_tree(){ | ||||
| pull_tree_artix(){ | ||||
|     local repos=() | ||||
|     if ${sync_group}; then | ||||
|         repos=("${GROUP}") | ||||
|         repos=("${group}") | ||||
|     else | ||||
|         repos=("${ARTIX_TREE[@]}") | ||||
|     fi | ||||
| @@ -213,14 +213,14 @@ from_arch(){ | ||||
|     cd "${TREE_DIR_ARTIX}" || return | ||||
|  | ||||
|     local srcpath repo archpath artixpath | ||||
|     srcpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}") | ||||
|     [[ -z $srcpath ]] && die "Package '%s' does not exist!" "${PACKAGE}" | ||||
|     srcpath=$(find_pkg "${TREE_DIR_ARCH}" "${package}") | ||||
|     [[ -z $srcpath ]] && die "Package '%s' does not exist!" "${package}" | ||||
|  | ||||
|     repo=$(find_repo "$srcpath") | ||||
|     msg "repo: %s" "${repo#*/}" | ||||
|  | ||||
|     archpath=$srcpath/$repo | ||||
|     artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") | ||||
|     artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${package}") | ||||
|  | ||||
|     show_deps "$archpath" | ||||
|  | ||||
| @@ -232,7 +232,7 @@ from_arch(){ | ||||
|             patch_pkg "$artixpath" | ||||
|         fi | ||||
|     else | ||||
|         die "Package '%s' does not exist!" "${PACKAGE}" | ||||
|         die "Package '%s' does not exist!" "${package}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| @@ -240,8 +240,8 @@ from_arch(){ | ||||
|  | ||||
| view_build(){ | ||||
|     local archpath repo | ||||
|     archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}") | ||||
|     [[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}" | ||||
|     archpath=$(find_pkg "${TREE_DIR_ARCH}" "${package}") | ||||
|     [[ -z $archpath ]] && die "Package '%s' does not exist!" "${package}" | ||||
|     repo=$(find_repo "${archpath}") | ||||
|     archpath=$archpath/$repo | ||||
|     msg "repo: %s" "${repo#*/}" | ||||
| @@ -250,9 +250,9 @@ view_build(){ | ||||
|  | ||||
| check_tree(){ | ||||
|     local archpath artixpath group | ||||
|     archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}") | ||||
|     [[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}" | ||||
|     artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") | ||||
|     archpath=$(find_pkg "${TREE_DIR_ARCH}" "${package}") | ||||
|     [[ -z $archpath ]] && die "Package '%s' does not exist!" "${package}" | ||||
|     artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${package}") | ||||
|     group=${artixpath%/*} | ||||
|     msg "group: %s" "${group##*/}" | ||||
|  | ||||
| @@ -267,6 +267,8 @@ sync_repos(){ | ||||
|  | ||||
| load_makepkg_config | ||||
|  | ||||
| load_valid_names | ||||
|  | ||||
| testing=true | ||||
| staging=true | ||||
| unstable=false | ||||
| @@ -280,22 +282,21 @@ createnew=false | ||||
| sync_group=false | ||||
| check=false | ||||
|  | ||||
| PACKAGE='' | ||||
| package='' | ||||
|  | ||||
| TEAM='community' | ||||
| GROUP="${ARTIX_TREE[0]}" | ||||
| team='community' | ||||
| group="${ARTIX_TREE[0]}" | ||||
|  | ||||
| host_tree_artix="${GIT_SSH}:artixlinux" | ||||
| host_tree_arch='https://github.com/archlinux' | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo '    -p <pkg>      Package name' | ||||
|     echo '    -t <team>     Team name (only with -n)' | ||||
|     echo '                  Possible values: core,extra,community,multilib' | ||||
|     echo "                  [default: ${TEAM}]" | ||||
|     echo "                  [default: ${team}]" | ||||
|     echo '    -g <group>    Group name, the superrepo (only with -n or -s)' | ||||
|     echo "                  [default: ${GROUP}]" | ||||
|     echo "                  [default: ${group}]" | ||||
|     echo "    -s            Clone or pull repos" | ||||
|     echo "    -a            Don't clone or pull arch repos" | ||||
|     echo "    -b            Don't clone or pull artix repos" | ||||
| @@ -316,9 +317,9 @@ opts='p:t:g:sinabcvxyzh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         p) PACKAGE="$OPTARG" ;; | ||||
|         t) TEAM="$OPTARG" ;; | ||||
|         g) GROUP="$OPTARG"; sync_group=true ;; | ||||
|         p) package="$OPTARG" ;; | ||||
|         t) team="$OPTARG" ;; | ||||
|         g) group="$OPTARG"; sync_group=true ;; | ||||
|         s) sync=true ;; | ||||
|         a) sync_arch=false ;; | ||||
|         b) sync_artix=false ;; | ||||
|   | ||||
| @@ -18,24 +18,12 @@ m4_include(lib/base/message.sh) | ||||
| m4_include(lib/pkg/repo.sh) | ||||
| m4_include(lib/pkg/table.sh) | ||||
|  | ||||
| update_db_cache(){ | ||||
|     msg "Updating database cache" | ||||
|     for repo in "${searchrepos[@]}"; do | ||||
|         local cachedir=${db_cache_dir}/${linksdb_ext}/${CARCH}/${repo} | ||||
|         rm -rf "$cachedir" | ||||
|         mkdir -p "$cachedir" | ||||
|         msg2 "%s" "$repo" | ||||
|         curl -L -s "${REPOS_MIRROR}/${repo}/os/${CARCH}/${repo}.${linksdb_ext}" \ | ||||
|             | bsdtar -xf - -C "$cachedir" | ||||
|     done | ||||
|     msg "Done" | ||||
| } | ||||
|  | ||||
| #{{{ sogrep | ||||
|  | ||||
| query_db() { | ||||
|     for repo in "${searchrepos[@]}"; do | ||||
|         local db=${db_cache_dir}/${linksdb_ext}/${CARCH}/${repo}/ | ||||
|         local db | ||||
|         db=${db_cache_dir}/${linksdb_ext}/${CARCH}/${repo}/ | ||||
|         if [[ -d ${db} ]]; then | ||||
|             while read -rd '' pkg; do | ||||
|                 read -r match | ||||
| @@ -52,9 +40,10 @@ query_db() { | ||||
| #{{{ check db | ||||
|  | ||||
| is_db_entry() { | ||||
|     local pkgname="$1" repo="${REPOS[$2]}" | ||||
|     local pkgname="$1" repo="${REPOS[$2]}" entry | ||||
|     entry=${db_cache_dir}/${linksdb_ext}/${CARCH}/$repo/$pkgname | ||||
|  | ||||
|     if [[ -d ${db_cache_dir}/${linksdb_ext}/${CARCH}/$repo/$pkgname ]];then | ||||
|     if [[ -d "$entry" ]];then | ||||
|         return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| @@ -71,14 +60,14 @@ check_db(){ | ||||
|  | ||||
|         # shellcheck disable=1090 | ||||
|         . "$pkgbuild" 2>/dev/null | ||||
|  | ||||
|         artixver=$(get_full_version) | ||||
|  | ||||
|         for name in "${pkgname[@]}"; do | ||||
|  | ||||
|             if ! is_db_entry "$name-$artixver" "$repo"; then | ||||
|                 msg_row "${tableU}" "$repo" "$name" "$artixver" "false" | ||||
|                 msg_row_red "${tableU}" "$repo" "$name" "$artixver" "false" | ||||
|             else | ||||
|                 ${all_db} && msg_row "${tableU}" "$repo" "$name" "$artixver" "true" | ||||
|             fi | ||||
|  | ||||
|         done | ||||
|         unset artixver pkgbuild pkgver epoch pkgname pkgbase | ||||
|     done | ||||
| @@ -96,6 +85,20 @@ show_db_table(){ | ||||
|     tree_loop check_db | ||||
| } | ||||
|  | ||||
| update_db_cache(){ | ||||
|     msg "Updating database cache ..." | ||||
|     local cachedir url | ||||
|     for repo in "${searchrepos[@]}"; do | ||||
|         cachedir=${db_cache_dir}/${linksdb_ext}/${CARCH}/${repo} | ||||
|         rm -rf "$cachedir" | ||||
|         mkdir -p "$cachedir" | ||||
|         msg2 "%s" "$repo" | ||||
|         url=${REPOS_MIRROR}/${repo}/os/${CARCH}/${repo}.${linksdb_ext} | ||||
|         curl -L -s "$url" | bsdtar -xf - -C "$cachedir" | ||||
|     done | ||||
|     msg "Done" | ||||
| } | ||||
|  | ||||
| db_cache_dir="${XDG_CACHE_HOME:-$USER_HOME/.cache}/artools" | ||||
|  | ||||
| linksdb_ext="links.tar.${DBEXT}" | ||||
| @@ -105,11 +108,12 @@ load_makepkg_config | ||||
| sync=false | ||||
| check=false | ||||
| query=false | ||||
| all_db=false | ||||
|  | ||||
| readonly tableU="%-20s %-35s %-30s %-10s" | ||||
| readonly tableQ="%-20s %-45s %s" | ||||
|  | ||||
| set_arch_repos "true" "true" "true" | ||||
| load_valid_names | ||||
|  | ||||
| #{{{ repo names arrays | ||||
|  | ||||
| @@ -151,6 +155,7 @@ usage() { | ||||
|     echo '                  [default: all]' | ||||
|     echo "    -s            Sync repo databases" | ||||
|     echo '    -c            Check repos' | ||||
|     echo '    -a            Show repo db (-c)' | ||||
|     echo "    -q            Query repo databases for so libs" | ||||
|     echo '    -h            This help' | ||||
|     echo '' | ||||
| @@ -158,13 +163,14 @@ usage() { | ||||
|     exit "$1" | ||||
| } | ||||
|  | ||||
| opts='r:qcsh' | ||||
| opts='r:qcsah' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         r) searchrepos=("$OPTARG") ;; | ||||
|         s) sync=true ;; | ||||
|         c) check=true ;; | ||||
|         a) all_db=true ;; | ||||
|         q) query=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
|   | ||||
| @@ -65,47 +65,47 @@ prepare_commit(){ | ||||
|     fi | ||||
|  | ||||
|     if [[ $action == 'add' ]] || [[ $action == 'move' ]] ;then | ||||
|         [[ -d "$CARCH/${REPO_DEST}" ]] && git rm -r "$CARCH/${REPO_DEST}" | ||||
|         [[ -d "$CARCH/${repo_dest}" ]] && git rm -r "$CARCH/${repo_dest}" | ||||
|         [[ ! -d "$CARCH" ]] && mkdir "$CARCH" | ||||
|         [[ ! -d "$CARCH/${REPO_DEST}" ]] && mkdir "$CARCH/${REPO_DEST}" | ||||
|         [[ ! -d "$CARCH/${repo_dest}" ]] && mkdir "$CARCH/${repo_dest}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| check_rebuild(){ | ||||
|     if [[ -d "$CARCH"/"${valid_names[10]}" ]] \ | ||||
|     && [[ "${REPO_DEST}" == "${valid_names[7]}" ]]; then | ||||
|     && [[ "${repo_dest}" == "${valid_names[7]}" ]]; then | ||||
|         git rm -r "$CARCH"/"${valid_names[10]}" | ||||
|         git commit -m "switch from ${valid_names[10]} to ${valid_names[7]}" | ||||
|     elif [[ -d "$CARCH"/"${valid_names[7]}" ]] \ | ||||
|     && [[ "${REPO_DEST}" == "${valid_names[10]}" ]]; then | ||||
|     && [[ "${repo_dest}" == "${valid_names[10]}" ]]; then | ||||
|         git rm -r "$CARCH"/"${valid_names[7]}" | ||||
|         git commit -m "switch from ${valid_names[7]} to ${valid_names[10]}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| check_team(){ | ||||
|     if [[ "${REPO_SRC}" == "${valid_names[0]}" \ | ||||
|     && "${REPO_DEST}" == "${valid_names[1]}" ]] || \ | ||||
|         [[ "${REPO_SRC}" == "${valid_names[1]}" \ | ||||
|         && "${REPO_DEST}" == "${valid_names[0]}" ]] || \ | ||||
|         [[ "${REPO_SRC}" == "${valid_names[1]}" \ | ||||
|         && "${REPO_DEST}" == "${valid_names[2]}" ]] || \ | ||||
|         [[ "${REPO_SRC}" == "${valid_names[2]}" \ | ||||
|         && "${REPO_DEST}" == "${valid_names[1]}" ]] ;then | ||||
|     if [[ "${repo_src}" == "${valid_names[0]}" \ | ||||
|     && "${repo_dest}" == "${valid_names[1]}" ]] || \ | ||||
|         [[ "${repo_src}" == "${valid_names[1]}" \ | ||||
|         && "${repo_dest}" == "${valid_names[0]}" ]] || \ | ||||
|         [[ "${repo_src}" == "${valid_names[1]}" \ | ||||
|         && "${repo_dest}" == "${valid_names[2]}" ]] || \ | ||||
|         [[ "${repo_src}" == "${valid_names[2]}" \ | ||||
|         && "${repo_dest}" == "${valid_names[1]}" ]] ;then | ||||
|  | ||||
|         local org | ||||
|         org=$(get_pkg_org "${PACKAGE}") | ||||
|         add_repo_to_team "${PACKAGE}" "$org" "${REPO_DEST}" | ||||
|         remove_repo_from_team "${PACKAGE}" "$org" "${REPO_SRC}" | ||||
|         org=$(get_pkg_org "${package}") | ||||
|         add_repo_to_team "${package}" "$org" "${repo_dest}" | ||||
|         remove_repo_from_team "${package}" "$org" "${repo_src}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| path_config() { | ||||
|     [[ "${REPO_SRC}" != 'trunk' ]] && pkgbuild="$CARCH/${REPO_SRC}"/PKGBUILD | ||||
|     [[ "${repo_src}" != 'trunk' ]] && pkgbuild="$CARCH/${repo_src}"/PKGBUILD | ||||
|  | ||||
|     if [[ ! -f "$pkgbuild" ]]; then | ||||
|         pkgbuild=repos/"${REPO_SRC}-${CARCH}"/PKGBUILD | ||||
|         [[ -f repos/"${REPO_SRC}"-any/PKGBUILD ]] && pkgbuild=repos/"${REPO_SRC}"-any/PKGBUILD | ||||
|         pkgbuild=repos/"${repo_src}-${CARCH}"/PKGBUILD | ||||
|         [[ -f repos/"${repo_src}"-any/PKGBUILD ]] && pkgbuild=repos/"${repo_src}"-any/PKGBUILD | ||||
|     fi | ||||
|  | ||||
|     # shellcheck disable=1090 | ||||
| @@ -116,21 +116,21 @@ commit_pkg() { | ||||
|     local commit_msg pkg | ||||
|     if ${remove};then | ||||
|         action='remove' | ||||
|         if [[ "${REPO_SRC}" == 'trunk' ]];then | ||||
|             pkg=${PACKAGE} | ||||
|         if [[ "${repo_src}" == 'trunk' ]];then | ||||
|             pkg=${package} | ||||
|             git rm -r trunk | ||||
|         else | ||||
|             pkg="${PACKAGE}-$(get_full_version)" | ||||
|             pkg="${package}-$(get_full_version)" | ||||
|  | ||||
|             prepare_commit | ||||
|  | ||||
|             git rm -r "$CARCH/${REPO_SRC}" | ||||
|             git rm -r "$CARCH/${repo_src}" | ||||
|         fi | ||||
|         commit_msg="[${REPO_SRC}] '$pkg' ${action}" | ||||
|         commit_msg="[${repo_src}] '$pkg' ${action}" | ||||
|         msg "Action: %s" "$commit_msg" | ||||
|     else | ||||
|         action='modify' | ||||
|         commit_msg="[${REPO_SRC}] '${PACKAGE}-$(get_full_version)' ${action}" | ||||
|         commit_msg="[${repo_src}] '${package}-$(get_full_version)' ${action}" | ||||
|         msg "Action: %s" "$commit_msg" | ||||
|         git add . | ||||
|     fi | ||||
| @@ -139,23 +139,23 @@ commit_pkg() { | ||||
|  | ||||
| repo_commit_pkg() { | ||||
|     local commit_msg | ||||
|     if [[ "${REPO_SRC}" == 'trunk' ]];then | ||||
|     if [[ "${repo_src}" == 'trunk' ]];then | ||||
|         action='add' | ||||
|  | ||||
|         prepare_commit | ||||
|         check_rebuild | ||||
|  | ||||
|         cp trunk/* "$CARCH/${REPO_DEST}"/ | ||||
|         cp trunk/* "$CARCH/${repo_dest}"/ | ||||
|     else | ||||
|         action='move' | ||||
|         [[ ! -f $pkgbuild ]] && die "%s does not exist!" "$pkgbuild" | ||||
|  | ||||
|         prepare_commit | ||||
|  | ||||
|         cp "$CARCH/${REPO_SRC}"/* "$CARCH/${REPO_DEST}"/ | ||||
|         git rm -r "$CARCH/${REPO_SRC}" | ||||
|         cp "$CARCH/${repo_src}"/* "$CARCH/${repo_dest}"/ | ||||
|         git rm -r "$CARCH/${repo_src}" | ||||
|     fi | ||||
|     commit_msg="[${REPO_SRC}] -> [${REPO_DEST}] '${PACKAGE}-$(get_full_version)' ${action}" | ||||
|     commit_msg="[${repo_src}] -> [${repo_dest}] '${package}-$(get_full_version)' ${action}" | ||||
|     msg "Action: %s" "$commit_msg" | ||||
|  | ||||
|     git add . | ||||
| @@ -164,7 +164,7 @@ repo_commit_pkg() { | ||||
|  | ||||
| run(){ | ||||
|     local artixpath head group | ||||
|     artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") | ||||
|     artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${package}") | ||||
|     if [[ -n ${artixpath} ]];then | ||||
|         group=${artixpath%/*} | ||||
|         cd "${group}" || return | ||||
| @@ -183,9 +183,9 @@ run(){ | ||||
|         cd "${group}" || return | ||||
|  | ||||
|         ${push} && pull_tree "${group##*/}" "$head" | ||||
| #         subrepo_pull "${PACKAGE}" | ||||
|         subrepo_push "${PACKAGE}" | ||||
|         subrepo_clean "${PACKAGE}" | ||||
| #         subrepo_pull "${package}" | ||||
|         subrepo_push "${package}" | ||||
|         subrepo_clean "${package}" | ||||
|  | ||||
|         ${push} && push_tree "${group##*/}" | ||||
|  | ||||
| @@ -193,7 +193,7 @@ run(){ | ||||
|  | ||||
|         [[ "${cmd}" != 'commitpkg' ]] && check_team | ||||
|     else | ||||
|         die "Package '%s' does not exist!" "${PACKAGE}" | ||||
|         die "Package '%s' does not exist!" "${package}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| @@ -202,7 +202,7 @@ is_valid_repo(){ | ||||
|     for repo in "${valid_names[@]}"; do | ||||
|         _valid=${repo:-}${repo:+|}$_valid | ||||
|     done | ||||
|     eval "case ${REPO_SRC} in | ||||
|     eval "case ${repo_src} in | ||||
|         ${_valid}) return 0 ;; | ||||
|         *) return 1 ;; | ||||
|     esac" | ||||
| @@ -212,19 +212,21 @@ is_valid_repo(){ | ||||
|  | ||||
| load_makepkg_config | ||||
|  | ||||
| REPO_SRC='trunk' | ||||
| PACKAGE='' | ||||
| load_valid_names | ||||
|  | ||||
| repo_src='trunk' | ||||
| package='' | ||||
| remove=false | ||||
| push=false | ||||
|  | ||||
| pkgbuild=trunk/PKGBUILD | ||||
|  | ||||
| cmd=${0##*/} | ||||
| REPO_DEST=${cmd%pkg} | ||||
| repo_dest=${cmd%pkg} | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo "    -s <name>          Source repository [default:${REPO_SRC}]" | ||||
|     echo "    -s <name>          Source repository [default:${repo_src}]" | ||||
|     echo '    -p <pkg>           Package name' | ||||
|     echo '    -r                 Delete from repo (commitpkg only)' | ||||
|     echo '    -u                 Push' | ||||
| @@ -238,8 +240,8 @@ opts='p:s:urh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         s) REPO_SRC="$OPTARG" ;; | ||||
|         p) PACKAGE="$OPTARG" ;; | ||||
|         s) repo_src="$OPTARG" ;; | ||||
|         p) package="$OPTARG" ;; | ||||
|         r) remove=true ;; | ||||
|         u) push=true ;; | ||||
|         h|?) usage 0 ;; | ||||
| @@ -249,10 +251,8 @@ done | ||||
|  | ||||
| shift $(( OPTIND - 1 )) | ||||
|  | ||||
| set_arch_repos "false" "false" "false" | ||||
|  | ||||
| if is_valid_repo;then | ||||
|     run | ||||
| else | ||||
|     die "source repository '%s' is not valid!" "${REPO_SRC}" | ||||
|     die "source repository '%s' is not valid!" "${repo_src}" | ||||
| fi | ||||
|   | ||||
| @@ -23,43 +23,40 @@ m4_include(lib/pkg/table.sh) | ||||
|  | ||||
| remove_list(){ | ||||
|     local name="$1" | ||||
|     [[ -f "${TREE_DIR_ARTIX}"/$name.list ]] && rm "${TREE_DIR_ARTIX}"/$name.list | ||||
|     [[ -f "${TREE_DIR_ARTIX}"/$name.list ]] && rm "${TREE_DIR_ARTIX}"/"$name".list | ||||
| } | ||||
|  | ||||
| write_list(){ | ||||
|     local line="$1" name="$2" | ||||
|     printf "%s\n" "$line" >> "${TREE_DIR_ARTIX}"/$name.list | ||||
|     printf "%s\n" "$line" >> "${TREE_DIR_ARTIX}"/"$name".list | ||||
| } | ||||
|  | ||||
| compare_m(){ | ||||
|     result=$(vercmp "$artixver" "$archver") | ||||
|     case ${artixrepo} in | ||||
|         *testing*|*staging*|*rebuild) | ||||
|             if [[ "${a}" == "${b}" ]] || [[ "${a}" == 'staging' && "${b}" == 'rebuild' ]]; then | ||||
|             if [[ "${a}" == "${b}" ]]; then | ||||
|                 msg_row "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" | ||||
|             elif [[ "${a}" == 'staging' && "${b}" == 'rebuild' ]]; then | ||||
|                 msg_row_yellow "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" | ||||
|             else | ||||
|                 msg_row_notify "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" | ||||
|                 if [[ -n "$archrepo" ]]; then | ||||
|                     write_list "${a}:${b}:$pkg" pkg_moves | ||||
|                 fi | ||||
|                 msg_row_green "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" | ||||
|                 [[ -n "$archrepo" ]] && write_list "${a}:${b}:$pkg" pkg_moves | ||||
|             fi | ||||
|         ;; | ||||
|     esac | ||||
| } | ||||
|  | ||||
| compare_u(){ | ||||
|     result=$(vercmp "$artixver" "$archver") | ||||
|     if [ "$result" -eq -1 ];then | ||||
|         msg_row_upgrade "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" | ||||
|         msg_row_red "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" | ||||
|         write_list "${a}:$pkg" pkg_upgrades | ||||
|     fi | ||||
| } | ||||
|  | ||||
| compare_d(){ | ||||
|     result=$(vercmp "$artixver" "$archver") | ||||
|     if [ "$result" -eq 1 ];then | ||||
|         if [[ -n "$archver" ]] && [[ -n "$archrepo" ]];then | ||||
|             msg_row_downgrade "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" | ||||
|             msg_row_yellow "${table}" "${a}" "${b}" "$pkg" "$archver" "$artixver" "${group#*-}" | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
| @@ -102,9 +99,11 @@ pre_compare(){ | ||||
|             archver=$(get_full_version) | ||||
|         fi | ||||
|  | ||||
|         result=$(vercmp "$artixver" "$archver") | ||||
|  | ||||
|         "$func" | ||||
|  | ||||
|         unset pkgver epoch pkgrel artixver archver pkgbuild archpath | ||||
|         unset epoch | ||||
|     fi | ||||
| } | ||||
|  | ||||
| @@ -148,6 +147,8 @@ show_move_table(){ | ||||
|  | ||||
| load_makepkg_config | ||||
|  | ||||
| load_valid_names | ||||
|  | ||||
| testing=true | ||||
| staging=true | ||||
| unstable=false | ||||
| @@ -159,7 +160,7 @@ move=false | ||||
| readonly table="%-18s %-18s %-25s %-27s %-27s %-10s" | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options] (with -q [libname])" | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo '    -u            Show upgrade packages' | ||||
|     echo '    -d            Show downgrade packages' | ||||
|     echo '    -m            Show packages to move' | ||||
|   | ||||
| @@ -17,7 +17,7 @@ m4_include(lib/util-pkg.sh) | ||||
| m4_include(lib/base/message.sh) | ||||
| m4_include(lib/pkg/deploy.sh) | ||||
|  | ||||
| #{{{ functions | ||||
| #{{{ deploy | ||||
|  | ||||
| add(){ | ||||
|     if pkgfile=$(find_cached_pkgfile "${pkgname}"); then | ||||
| @@ -29,9 +29,9 @@ add(){ | ||||
| } | ||||
|  | ||||
| remove(){ | ||||
|     packages+=("$pkgname") | ||||
|     packages+=("$(get_pkgbasename "${pkgname}")") | ||||
|     action='remove' | ||||
|     rm -v "$repo_path"/"$pkgname"*.pkg.tar.* | ||||
|     rm -v "$repo_path"/"${pkgname}"{,.sig} | ||||
| } | ||||
|  | ||||
| repo_action(){ | ||||
| @@ -92,6 +92,10 @@ passfiles=("$@") | ||||
| repo_path=${REPOS_ROOT}/${dest_repo}/os/${CARCH} | ||||
|  | ||||
| if [[ -n "${passfiles[*]}" ]]; then | ||||
|     ${add_pkg} && repo_action add | ||||
|     ${rm_pkg} && repo_action remove | ||||
|     if ${add_pkg}; then | ||||
|         repo_action add | ||||
|     fi | ||||
|     if ${rm_pkg}; then | ||||
|         repo_action remove | ||||
|     fi | ||||
| fi | ||||
|   | ||||
| @@ -232,8 +232,9 @@ db_write_entry() { | ||||
|     msg2 "Creating '%s' db entry..." "${REPO_DB_NAME}" | ||||
|  | ||||
|     local linksentry=$tmpdir/${REPO_DB_NAME}/$pkgname-$pkgver/${REPO_DB_NAME} | ||||
|     local files=$(find "$tmppkg" -type f ! -ipath "*/Documentation/*") | ||||
|  | ||||
|     for f in $(find "$tmppkg" -type f); do | ||||
|     for f in ${files}; do | ||||
|         readelf -d "$f" 2> /dev/null | sed -nr 's/.*Shared library: \[(.*)\].*/\1/p' | ||||
|     done | sort -u > "$linksentry" | ||||
|  | ||||
|   | ||||
| @@ -32,7 +32,6 @@ clean_first=0 | ||||
| run_namcap=0 | ||||
| run_checkpkg=0 | ||||
| temp_chroot=0 | ||||
| run_nocheck=0 | ||||
|  | ||||
| bindmounts=() | ||||
|  | ||||
| @@ -248,6 +247,15 @@ download_sources() { | ||||
|         die "Could not download sources." | ||||
| } | ||||
|  | ||||
| move_logfiles() { | ||||
|     local l | ||||
|     for l in "$copydir"/logdest/*; do | ||||
|         [[ $l == */logpipe.* ]] && continue | ||||
|         chown "$src_owner" "$l" | ||||
|         mv "$l" "$LOGDEST" | ||||
|     done | ||||
| } | ||||
|  | ||||
| move_products() { | ||||
|     local pkgfile | ||||
|     for pkgfile in "$copydir"/pkgdest/*; do | ||||
| @@ -260,12 +268,7 @@ move_products() { | ||||
|         fi | ||||
|     done | ||||
|  | ||||
|     local l | ||||
|     for l in "$copydir"/logdest/*; do | ||||
|         [[ $l == */logpipe.* ]] && continue | ||||
|         chown "$src_owner" "$l" | ||||
|         mv "$l" "$LOGDEST" | ||||
|     done | ||||
|     move_logfiles | ||||
|  | ||||
|     for s in "$copydir"/srcpkgdest/*; do | ||||
|         chown "$src_owner" "$s" | ||||
| @@ -290,7 +293,7 @@ while getopts "${opts}" arg; do | ||||
|         I) install_pkgs+=("$OPTARG") ;; | ||||
|         l) copy="$OPTARG" ;; | ||||
|         n) run_namcap=1; makepkg_args+=(--install) ;; | ||||
|         N) run_nocheck=1; makepkg_args+=(--nocheck) ;; | ||||
|         N) makepkg_args+=(--nocheck) ;; | ||||
|         C) run_checkpkg=1 ;; | ||||
|         T) temp_chroot=1; copy+="-$$" ;; | ||||
|         U) makepkg_user="$OPTARG" ;; | ||||
| @@ -380,6 +383,7 @@ then | ||||
|     move_products | ||||
| else | ||||
|     (( ret += 1 )) | ||||
|     move_logfiles | ||||
| fi | ||||
|  | ||||
| (( temp_chroot )) && delete_chroot "$copydir" "$copy" | ||||
|   | ||||
| @@ -152,10 +152,10 @@ shift $(( OPTIND - 1 )) | ||||
| srcpath=$(readlink -f "$1") | ||||
|  | ||||
| [[ -f "$srcpath"/PKGBUILD ]] || die "%s/PKGBUILD does not exist!" "$srcpath" | ||||
| PACKAGE="$srcpath"/PKGBUILD; shift | ||||
| package="$srcpath"/PKGBUILD; shift | ||||
|  | ||||
| # shellcheck disable=1090 | ||||
| . "$PACKAGE" | ||||
| . "${package}" | ||||
|  | ||||
| load_makepkg_config | ||||
|  | ||||
|   | ||||
| @@ -6,4 +6,4 @@ | ||||
| # CHROOTS_DIR=/var/lib/artools | ||||
|  | ||||
| # the workspace directory | ||||
| # WORKSPACE_DIR="/home/${USER}/artools-workspace" | ||||
| # WORKSPACE_DIR="${USER_HOME}/artools-workspace" | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
| # the dist release; default: auto | ||||
| # ISO_VERSION=$(date +%Y%m%d) | ||||
|  | ||||
| # possible values: openrc, runit, s6 | ||||
| # possible values: openrc, runit, s6, 66 | ||||
| # INITSYS="openrc" | ||||
|  | ||||
| # gpg key; leave empty or commented to skip img signing | ||||
|   | ||||
| @@ -38,3 +38,9 @@ | ||||
|  | ||||
| # default mirror for checkrepo | ||||
| # REPOS_MIRROR="http://mirror1.artixlinux.org/repos" | ||||
|  | ||||
| # enable if trouble with default github arch mirror | ||||
| # ARCH_TREE=(packages community) | ||||
|  | ||||
| # enable if trouble with default github arch mirror | ||||
| # HOST_TREE_ARCH='https://git.archlinux.org/svntogit' | ||||
|   | ||||
| @@ -15,7 +15,7 @@ DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' | ||||
|           'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' | ||||
|           'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' | ||||
|           'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' | ||||
|           'rsync::/usr/bin/rsync --no-motd -z %u %o' | ||||
|           'rsync::/usr/bin/rsync --no-motd -zz %u %o' | ||||
|           'scp::/usr/bin/scp -C %u %o') | ||||
|  | ||||
| # Other common tools: | ||||
|   | ||||
| @@ -36,7 +36,7 @@ goblins=( | ||||
|     "${valid_names[10]}" | ||||
| ) | ||||
|  | ||||
| unstable=( | ||||
| wobble=( | ||||
|     "${valid_names[11]}" | ||||
|     "${valid_names[12]}" | ||||
| ) | ||||
|   | ||||
							
								
								
									
										3
									
								
								lib/base/chroot-version.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								lib/base/chroot-version.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| #!/hint/bash | ||||
|  | ||||
| CHROOTVERSION=0.10 | ||||
| @@ -2,8 +2,6 @@ | ||||
|  | ||||
| #{{{ chroot | ||||
|  | ||||
| CHROOTVERSION=0.10 | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
| check_root() { | ||||
|     local keepenv="$1" | ||||
|   | ||||
| @@ -14,15 +14,10 @@ shopt -s extglob | ||||
| if [[ -t 2 && "$TERM" != dumb ]]; then | ||||
|     colorize | ||||
| else | ||||
|     # shellcheck disable=2034 | ||||
|     declare -gr ALL_OFF='' BOLD='' BLUE='' GREEN='' RED='' YELLOW='' | ||||
| fi | ||||
|  | ||||
| info() { | ||||
|     local mesg=$1; shift | ||||
|     # shellcheck disable=2059 | ||||
|     printf "${YELLOW} -->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| stat_busy() { | ||||
|     local mesg=$1; shift | ||||
|     # shellcheck disable=2059 | ||||
|   | ||||
| @@ -13,7 +13,7 @@ trap_setup(){ | ||||
| } | ||||
|  | ||||
| chroot_mount() { | ||||
| #     info "mount: [%s]" "$2" | ||||
| #     msg2 "mount: [%s]" "$2" | ||||
|     mount "$@" && CHROOT_ACTIVE_MOUNTS=("$2" "${CHROOT_ACTIVE_MOUNTS[@]}") | ||||
| } | ||||
|  | ||||
| @@ -75,7 +75,7 @@ chroot_api_mount() { | ||||
|  | ||||
| chroot_api_umount() { | ||||
|     if (( ${#CHROOT_ACTIVE_MOUNTS[@]} )); then | ||||
| #         info "umount: [%s]" "${CHROOT_ACTIVE_MOUNTS[@]}" | ||||
| #         msg2 "umount: [%s]" "${CHROOT_ACTIVE_MOUNTS[@]}" | ||||
|         umount "${CHROOT_ACTIVE_MOUNTS[@]}" | ||||
|     fi | ||||
|     unset CHROOT_ACTIVE_MOUNTS | ||||
|   | ||||
| @@ -2,30 +2,6 @@ | ||||
|  | ||||
| #{{{ calamares | ||||
|  | ||||
| write_users_conf(){ | ||||
|     local yaml | ||||
|     yaml=$(write_yaml_header) | ||||
|     yaml+=$(write_yaml_map 0 'defaultGroups') | ||||
|     local IFS=',' | ||||
|     for g in "${ADDGROUPS[@]}"; do | ||||
|         yaml+=$(write_yaml_seq 2 "$g") | ||||
|     done | ||||
|     unset IFS | ||||
|     yaml+=$(write_yaml_map 0 'autologinGroup' 'autologin') | ||||
|     yaml+=$(write_yaml_map 0 'doAutologin' 'false') | ||||
|     yaml+=$(write_yaml_map 0 'sudoersGroup' 'wheel') | ||||
|     yaml+=$(write_yaml_map 0 'setRootPassword' 'true') | ||||
|     yaml+=$(write_yaml_map 0 'availableShells' '/bin/bash, /bin/zsh') | ||||
| #     yaml+=$(write_yaml_map 0 'passwordRequirements') | ||||
| #     yaml+=$(write_yaml_map 2 'minLength' '-1') | ||||
| #     yaml+=$(write_yaml_map 2 'maxLength' '-1') | ||||
| #     yaml+=$(write_yaml_map 2 'libpwquality') | ||||
| #     yaml+=$(write_yaml_seq 4 "minlen=8") | ||||
| #     yaml+=$(write_yaml_seq 4 "minclass=80") | ||||
|     yaml+=$(write_empty_line) | ||||
|     printf '%s' "${yaml}" | ||||
| } | ||||
|  | ||||
| write_services_conf(){ | ||||
|     local key1="$1" val1="$2" key2="$3" val2="$4" | ||||
|     local yaml | ||||
| @@ -55,6 +31,11 @@ write_services_s6_conf(){ | ||||
|     write_services_conf 'svDir' '/etc/s6/sv' 'dbDir' '/etc/s6/rc/compiled' > "$conf" | ||||
| } | ||||
|  | ||||
| write_services_66_conf(){ | ||||
|     local conf="$1"/services-66.conf | ||||
|     write_services_conf 'svDir' '/etc/66/service' 'dbDir' '/run/66/tree' > "$conf" | ||||
| } | ||||
|  | ||||
| write_postcfg(){ | ||||
|     local yaml | ||||
|     yaml=$(write_yaml_header) | ||||
| @@ -70,13 +51,10 @@ write_unpackfs() { | ||||
|     local yaml | ||||
|     yaml=$(write_yaml_header) | ||||
|     yaml+=$(write_yaml_map 0 'unpack') | ||||
| #     if ${persist}; then | ||||
| #         yaml+=$(write_yaml_seq_map 2 'source' '"/run/artix/bootmnt/LiveOS/rootfs.img"') | ||||
| #         yaml+=$(write_yaml_map 4 'sourcefs' '"ext4"') | ||||
| #     else | ||||
|     local fs="squashfs" | ||||
| #     ${persist} && fs="ext4" | ||||
|     yaml+=$(write_yaml_seq_map 2 'source' '"/run/artix/bootmnt/LiveOS/rootfs.img"') | ||||
|     yaml+=$(write_yaml_map 4 'sourcefs' '"squashfs"') | ||||
| #     fi | ||||
|     yaml+=$(write_yaml_map 4 'sourcefs' \'"$fs"\') | ||||
|     yaml+=$(write_yaml_map 4 'destination' '""') | ||||
|     yaml+=$(write_empty_line) | ||||
|     printf '%s' "${yaml}" | ||||
| @@ -85,8 +63,7 @@ write_unpackfs() { | ||||
| configure_calamares(){ | ||||
|     local mods="$1/etc/calamares/modules" | ||||
|     if [[ -d "$mods" ]];then | ||||
|         msg2 "Configuring Calamares" | ||||
|         write_users_conf > "$mods"/users.conf | ||||
|         msg2 "Configuring: Calamares" | ||||
|         write_services_"${INITSYS}"_conf "$mods" | ||||
|         write_postcfg > "$mods"/postcfg.conf | ||||
|         write_unpackfs > "$mods"/unpackfs.conf | ||||
|   | ||||
| @@ -2,52 +2,27 @@ | ||||
|  | ||||
| #{{{ session | ||||
|  | ||||
| configure_hosts(){ | ||||
|     sed -e "s|localhost.localdomain|localhost.localdomain ${HOST_NAME}|" -i "$1"/etc/hosts | ||||
| } | ||||
|  | ||||
| configure_logind(){ | ||||
|     local conf=$1/etc/"$2"/logind.conf | ||||
|     if [[ -e "$conf" ]];then | ||||
|         msg2 "Configuring logind ..." | ||||
|         sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' "$conf" | ||||
|         sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' "$conf" | ||||
|         sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' "$conf" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| configure_services(){ | ||||
|     local mnt="$1" | ||||
|     info "Configuring [%s] services" "${INITSYS}" | ||||
|     add_svc_"${INITSYS}" "$mnt" "${SERVICES[*]} ${SERVICES_LIVE[*]}" | ||||
|     info "Done configuring [%s] services" "${INITSYS}" | ||||
|     add_svc_"${INITSYS}" "$mnt" "${SERVICES[*]}" | ||||
| } | ||||
|  | ||||
| configure_system(){ | ||||
|     local mnt="$1" | ||||
|     configure_logind "$mnt" "elogind" | ||||
|     echo "${HOST_NAME}" > "$mnt"/etc/hostname | ||||
| } | ||||
|  | ||||
| write_live_session_conf(){ | ||||
|     local conf='' | ||||
|     conf+=$(printf '%s\n' '# live session configuration') | ||||
|     conf+=$(printf "\nAUTOLOGIN=%s\n" "${AUTOLOGIN}") | ||||
|     conf+=$(printf "\nUSER_NAME=%s\n" "${USER_NAME}") | ||||
|     conf+=$(printf "\nPASSWORD=%s\n" "${PASSWORD}") | ||||
|     conf+=$(printf "\nADDGROUPS='%s'\n" "${ADDGROUPS}") | ||||
|     printf '%s' "$conf" | ||||
| } | ||||
|  | ||||
| configure_chroot(){ | ||||
|     local fs="$1" | ||||
|     msg "Configuring [%s]" "${fs##*/}" | ||||
|     configure_hosts "$fs" | ||||
|     configure_system "$fs" | ||||
|     configure_services "$fs" | ||||
|     configure_calamares "$fs" | ||||
|     [[ ! -d "$fs/etc/artools" ]] && mkdir -p "$fs/etc/artools" | ||||
|     msg2 "Writing live.conf" | ||||
|     msg2 "Writing: live.conf" | ||||
|     write_live_session_conf > "$fs/etc/artools/live.conf" | ||||
|     msg "Done configuring [%s]" "${fs##*/}" | ||||
| } | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| #{{{ mount | ||||
|  | ||||
| track_img() { | ||||
|     info "mount: [%s]" "$2" | ||||
|     msg2 "mount: [%s]" "$2" | ||||
|     mount "$@" && IMG_ACTIVE_MOUNTS=("$2" "${IMG_ACTIVE_MOUNTS[@]}") | ||||
| } | ||||
|  | ||||
| @@ -15,7 +15,7 @@ mount_img() { | ||||
|  | ||||
| umount_img() { | ||||
|     if [[ -n "${IMG_ACTIVE_MOUNTS[*]}" ]];then | ||||
|         info "umount: [%s]" "${IMG_ACTIVE_MOUNTS[@]}" | ||||
|         msg2 "umount: [%s]" "${IMG_ACTIVE_MOUNTS[@]}" | ||||
|         umount "${IMG_ACTIVE_MOUNTS[@]}" | ||||
|         unset IMG_ACTIVE_MOUNTS | ||||
|         rm -r "$1" | ||||
| @@ -23,7 +23,7 @@ umount_img() { | ||||
| } | ||||
|  | ||||
| track_fs() { | ||||
|     info "overlayfs mount: [%s]" "$5" | ||||
|     msg2 "overlayfs mount: [%s]" "$5" | ||||
|     mount "$@" && FS_ACTIVE_MOUNTS=("$5" "${FS_ACTIVE_MOUNTS[@]}") | ||||
| } | ||||
|  | ||||
| @@ -45,7 +45,7 @@ mount_overlayfs(){ | ||||
|  | ||||
| umount_overlayfs(){ | ||||
|     if [[ -n "${FS_ACTIVE_MOUNTS[*]}" ]];then | ||||
|         info "overlayfs umount: [%s]" "${FS_ACTIVE_MOUNTS[@]}" | ||||
|         msg2 "overlayfs umount: [%s]" "${FS_ACTIVE_MOUNTS[@]}" | ||||
|         umount "${FS_ACTIVE_MOUNTS[@]}" | ||||
|         unset FS_ACTIVE_MOUNTS | ||||
|         rm -rf "${mnt_dir}/work" | ||||
|   | ||||
| @@ -5,80 +5,81 @@ | ||||
| show_profile(){ | ||||
|     msg2 "iso_file: %s" "${iso_file}" | ||||
|     msg2 "AUTOLOGIN: %s" "${AUTOLOGIN}" | ||||
|     msg2 "HOST_NAME: %s" "${HOST_NAME}" | ||||
|     msg2 "USER_NAME: %s" "${USER_NAME}" | ||||
|     msg2 "PASSWORD: %s" "${PASSWORD}" | ||||
|     msg2 "ADDGROUPS: %s" "${ADDGROUPS}" | ||||
|     msg2 "SERVICES_LIVE: %s" "${SERVICES_LIVE[*]}" | ||||
|     msg2 "SERVICES: %s" "${SERVICES[*]}" | ||||
| } | ||||
|  | ||||
| load_profile(){ | ||||
|     local profile_dir="${DATADIR}/iso-profiles" | ||||
|     [[ -d ${WORKSPACE_DIR}/iso-profiles ]] && profile_dir=${WORKSPACE_DIR}/iso-profiles | ||||
|     [[ -d "${WORKSPACE_DIR}"/iso-profiles ]] && profile_dir="${WORKSPACE_DIR}"/iso-profiles | ||||
|  | ||||
|     ROOT_LIST="$profile_dir/${profile}/Packages-Root" | ||||
|     ROOT_OVERLAY="$profile_dir/${profile}/root-overlay" | ||||
|     root_list="$profile_dir/${profile}/Packages-Root" | ||||
|     root_overlay="$profile_dir/${profile}/root-overlay" | ||||
|  | ||||
|     [[ -f "$profile_dir/${profile}/Packages-Live" ]] && LIVE_LIST="$profile_dir/${profile}/Packages-Live" | ||||
|     [[ -d "$profile_dir/${profile}/live-overlay" ]] && LIVE_OVERLAY="$profile_dir/${profile}/live-overlay" | ||||
|     [[ -f "$profile_dir/${profile}/Packages-Live" ]] && live_list="$profile_dir/${profile}/Packages-Live" | ||||
|     [[ -d "$profile_dir/${profile}/live-overlay" ]] && live_overlay="$profile_dir/${profile}/live-overlay" | ||||
|  | ||||
|     common_dir="${DATADIR}/iso-profiles/common" | ||||
|     [[ -d "$profile_dir"/common ]] && common_dir="${profile_dir}"/common | ||||
|  | ||||
|     [[ -f $profile_dir/${profile}/profile.conf ]] || return 1 | ||||
|  | ||||
|     # shellcheck disable=1090 | ||||
|     [[ -r "$profile_dir/${profile}"/profile.conf ]] && . "$profile_dir/${profile}"/profile.conf | ||||
|  | ||||
|     DISPLAYMANAGER=${DISPLAYMANAGER:-'none'} | ||||
|  | ||||
|     AUTOLOGIN=${AUTOLOGIN:-"true"} | ||||
|     [[ ${DISPLAYMANAGER} == 'none' ]] && AUTOLOGIN="false" | ||||
|  | ||||
|     HOST_NAME=${HOST_NAME:-'artix'} | ||||
|  | ||||
|     USER_NAME=${USER_NAME:-'artix'} | ||||
|     AUTOLOGIN=${AUTOLOGIN:-true} | ||||
|  | ||||
|     PASSWORD=${PASSWORD:-'artix'} | ||||
|  | ||||
|     ADDGROUPS=${ADDGROUPS:-"video,power,optical,network,lp,scanner,wheel,users,log"} | ||||
|  | ||||
|     if [[ -z "${SERVICES[*]}" ]];then | ||||
|         SERVICES=('acpid' 'bluetoothd' 'cronie' 'cupsd' 'syslog-ng' 'connmand') | ||||
|     fi | ||||
|  | ||||
|     if [[ ${DISPLAYMANAGER} != "none" ]];then | ||||
|         case "${INITSYS}" in | ||||
|             'openrc') SERVICES+=('xdm') ;; | ||||
|             'runit'|'s6') SERVICES+=("${DISPLAYMANAGER}") ;; | ||||
|         esac | ||||
|     fi | ||||
|  | ||||
|     SERVICES_LIVE=('artix-live' 'pacman-init') | ||||
|  | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| load_pkgs(){ | ||||
|     local pkglist="$1" init="$2" | ||||
|     info "Loading Packages: [%s] ..." "${pkglist##*/}" | ||||
| read_from_list() { | ||||
|     local list="$1" | ||||
|     local _space="s| ||g" | ||||
|     local _clean=':a;N;$!ba;s/\n/ /g' | ||||
|     local _com_rm="s|#.*||g" | ||||
|  | ||||
|     local _init="s|@$init||g" _init_rm1 _init_rm2 | ||||
|     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" ;; | ||||
|     esac | ||||
|     local _init="s|@initsys@|${INITSYS}|g" | ||||
|  | ||||
|     local _space="s| ||g" \ | ||||
|         _clean=':a;N;$!ba;s/\n/ /g' \ | ||||
|         _com_rm="s|#.*||g" | ||||
|  | ||||
|     packages=($(sed "$_com_rm" "$pkglist" \ | ||||
|     msg2 "Loading Packages: [%s] ..." "${list##*/}" | ||||
|     packages+=($(sed "$_com_rm" "$list" \ | ||||
|             | sed "$_space" \ | ||||
|             | sed "$_purge" \ | ||||
|             | sed "$_init" \ | ||||
|             | sed "$_init_rm1" \ | ||||
|             | sed "$_init_rm2" \ | ||||
|             | sed "$_clean")) | ||||
| } | ||||
|  | ||||
| read_from_services() { | ||||
|     for svc in "${SERVICES[@]}"; do | ||||
|         case "$svc" in | ||||
|             sddm|gdm|lightdm|mdm|greetd|lxdm|xdm) packages+=("$svc-${INITSYS}") ;; | ||||
|             NetworkManager) packages+=("networkmanager-${INITSYS}") ;; | ||||
|             connmand) packages+=("connman-${INITSYS}") ;; | ||||
|             cupsd) packages+=("cups-${INITSYS}") ;; | ||||
|             bluetoothd) packages+=("bluez-${INITSYS}") ;; | ||||
|             syslog-ng|metalog) packages+=("$svc-${INITSYS}") ;; | ||||
|         esac | ||||
|     done | ||||
| } | ||||
|  | ||||
| load_pkgs(){ | ||||
|     local pkglist="$1" | ||||
|     packages=() | ||||
|  | ||||
|     if [[ "${pkglist##*/}" == "Packages-Root" ]]; then | ||||
|         read_from_list "${common_dir}/Packages-base" | ||||
|         read_from_list "${common_dir}/Packages-apps" | ||||
|         read_from_list "${common_dir}/Packages-${INITSYS}" | ||||
|         [[ -n "${live_list}" ]] && read_from_list "${common_dir}/Packages-xorg" | ||||
|         read_from_list "$pkglist" | ||||
|         read_from_services | ||||
|     else | ||||
|         read_from_list "$pkglist" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| #}}} | ||||
|   | ||||
| @@ -2,19 +2,11 @@ | ||||
|  | ||||
| #{{{ services | ||||
|  | ||||
| set_xdm(){ | ||||
|     if [[ -f "$1"/etc/conf.d/xdm ]];then | ||||
|         local conf='DISPLAYMANAGER="'${DISPLAYMANAGER}'"' | ||||
|         sed -i -e "s|^.*DISPLAYMANAGER=.*|${conf}|" "$1"/etc/conf.d/xdm | ||||
|     fi | ||||
| } | ||||
|  | ||||
| add_svc_openrc(){ | ||||
|     local mnt="$1" names="$2" rlvl="${3:-default}" | ||||
|     for svc in $names; do | ||||
|         if [[ -f $mnt/etc/init.d/$svc ]];then | ||||
|             msg2 "Setting %s ..." "$svc" | ||||
|             [[ $svc == "xdm" ]] && set_xdm "$mnt" | ||||
|             msg2 "Setting %s: [%s]" "${INITSYS}" "$svc" | ||||
|             chroot "$mnt" rc-update add "$svc" "$rlvl" &>/dev/null | ||||
|         fi | ||||
|     done | ||||
| @@ -24,7 +16,7 @@ add_svc_runit(){ | ||||
|     local mnt="$1" names="$2" rlvl="${3:-default}" | ||||
|     for svc in $names; do | ||||
|         if [[ -d $mnt/etc/runit/sv/$svc ]]; then | ||||
|             msg2 "Setting %s ..." "$svc" | ||||
|             msg2 "Setting %s: [%s]" "${INITSYS}" "$svc" | ||||
|             chroot "$mnt" ln -s /etc/runit/sv/"$svc" /etc/runit/runsvdir/"$rlvl" &>/dev/null | ||||
|         fi | ||||
|     done | ||||
| @@ -32,21 +24,34 @@ add_svc_runit(){ | ||||
|  | ||||
| add_svc_s6(){ | ||||
|     local mnt="$1" names="$2" rlvl="${3:-default}" error ret | ||||
|     local db=/etc/s6/rc/compiled | ||||
|     for svc in $names; do | ||||
|         error=false | ||||
|         chroot "$mnt" s6-rc-db -c /etc/s6/rc/compiled type "$svc" &> /dev/null || error=true | ||||
|         chroot "$mnt" s6-rc-db -c "$db" type "$svc" &> /dev/null || error=true | ||||
|         ret="$?" | ||||
|         if [ $ret -eq 0 ] && [[ "$error" == false ]]; then | ||||
|             msg2 "Setting %s ..." "$svc" | ||||
|             chroot "$mnt" s6-rc-bundle-update -c /etc/s6/rc/compiled add "$rlvl" "$svc" | ||||
|             msg2 "Setting %s: [%s]" "${INITSYS}" "$svc" | ||||
|             chroot "$mnt" s6-rc-bundle-update -c "$db" add "$rlvl" "$svc" | ||||
|         fi | ||||
|     done | ||||
|  | ||||
|     local rlvl=/etc/s6/current | ||||
|     # rebuild s6-linux-init binaries | ||||
|     chroot "$mnt" rm -r /etc/s6/current | ||||
|     chroot "$mnt" s6-linux-init-maker -1 -N -f /etc/s6/skel -G "/usr/bin/agetty -L -8 tty1 115200" -c /etc/s6/current /etc/s6/current | ||||
|     chroot "$mnt" mv /etc/s6/current/bin/init /etc/s6/current/bin/s6-init | ||||
|     chroot "$mnt" cp -a /etc/s6/current/bin /usr | ||||
|     chroot "$mnt" rm -r "$rlvl" | ||||
|     chroot "$mnt" s6-linux-init-maker -1 -N -f /etc/s6/skel -G "/usr/bin/agetty -L -8 tty1 115200" -c "$rlvl" "$rlvl" | ||||
|     chroot "$mnt" mv "$rlvl"/bin/init "$rlvl"/bin/s6-init | ||||
|     chroot "$mnt" cp -a "$rlvl"/bin /usr | ||||
| } | ||||
|  | ||||
| add_svc_66(){ | ||||
|     local mnt="$1" names="$2" | ||||
|     chroot "$mnt" 66-tree -cnE root &>/dev/null | ||||
|     for svc in $names; do | ||||
|         if [[ -f $mnt/etc/66/service/$svc ]]; then | ||||
|             chroot "$mnt" 66-enable -t root $svc &>/dev/null | ||||
|             chroot "$mnt" 66-start -t root $svc &>/dev/null | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| #}}} | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| #!/hint/bash | ||||
|  | ||||
| #{{{ deploy | ||||
| #{{{ functions | ||||
|  | ||||
| find_cached_pkgfile() { | ||||
|     local searchdirs=("$PKGDEST" "$PWD") results=() | ||||
| @@ -25,4 +25,13 @@ find_cached_pkgfile() { | ||||
|     esac | ||||
| } | ||||
|  | ||||
| get_pkgbasename() { | ||||
|     local name="$1" | ||||
|     local rm_pkg=${name%.pkg.tar*} | ||||
|     rm_pkg=${rm_pkg%-*} | ||||
|     rm_pkg=${rm_pkg%-*} | ||||
|     rm_pkg=${rm_pkg%-*} | ||||
|     echo "$rm_pkg" | ||||
| } | ||||
|  | ||||
| #}}} | ||||
|   | ||||
| @@ -2,6 +2,14 @@ | ||||
|  | ||||
| #{{{ git | ||||
|  | ||||
| get_compliant_name(){ | ||||
|     local gitname="$1" | ||||
|     case "$gitname" in | ||||
|         *+) gitname=${gitname//+/plus} | ||||
|     esac | ||||
|     echo "$gitname" | ||||
| } | ||||
|  | ||||
| get_pkg_org(){ | ||||
|     local pkg="$1" org sub | ||||
|     case ${pkg} in | ||||
|   | ||||
| @@ -4,20 +4,26 @@ | ||||
|  | ||||
| shopt -s extglob | ||||
|  | ||||
| load_valid_names(){ | ||||
|     local conf | ||||
|     conf="${DATADIR}"/valid-names.conf | ||||
|     [[ -f "$conf" ]] || return 1 | ||||
|     # shellcheck source=/usr/share/artools/valid-names.conf | ||||
|     [[ -r "$conf" ]] && . "$conf" | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| set_arch_repos(){ | ||||
|     local _testing="${1:-false}" _staging="${2:-false}" _unstable="${3:-false}" | ||||
|     # shellcheck disable=1090 | ||||
|     . "${DATADIR}"/valid-names.conf | ||||
|  | ||||
|     local _testing="$1" _staging="$2" _unstable="$3" | ||||
|     [[ -z ${valid_names[*]} ]] && load_valid_names | ||||
|     ARCH_REPOS=("${stable[@]}") | ||||
|  | ||||
|     $_testing && ARCH_REPOS+=("${gremlins[@]}") | ||||
|     $_staging && ARCH_REPOS+=("${goblins[@]}") | ||||
|     $_unstable && ARCH_REPOS+=("${unstable[@]}") | ||||
|     $_unstable && ARCH_REPOS+=("${wobble[@]}") | ||||
| } | ||||
|  | ||||
| find_repo(){ | ||||
|     local pkg="$1" repo pkgarch="${2:-${CARCH}}" | ||||
|     local pkg="$1" pkgarch="${2:-${CARCH}}" repo | ||||
|     for r in "${ARCH_REPOS[@]}"; do | ||||
|         [[ -f $pkg/repos/$r-$pkgarch/PKGBUILD ]] && repo=repos/"$r-$pkgarch" | ||||
|         [[ -f $pkg/repos/$r-any/PKGBUILD ]] && repo=repos/"$r"-any | ||||
| @@ -36,8 +42,8 @@ tree_loop(){ | ||||
|     local func="$1" pkgs | ||||
|     for tree in "${ARTIX_TREE[@]}"; do | ||||
|         pkgs=$(find "${TREE_DIR_ARTIX}/$tree" -name repos -o -name "$CARCH") | ||||
|         for package in ${pkgs}; do | ||||
|             "$func" "$package" | ||||
|         for _package in ${pkgs}; do | ||||
|             "$func" "$_package" | ||||
|         done | ||||
|     done | ||||
| } | ||||
|   | ||||
| @@ -8,13 +8,13 @@ msg_table_header(){ | ||||
|     printf "${BLUE} ${mesg} ${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row_downgrade(){ | ||||
| msg_row_yellow(){ | ||||
|     local mesg=$1; shift | ||||
|     # shellcheck disable=2059 | ||||
|     printf "${YELLOW} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row_notify(){ | ||||
| msg_row_green(){ | ||||
|     local mesg=$1; shift | ||||
|     # shellcheck disable=2059 | ||||
|     printf "${GREEN} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| @@ -27,7 +27,7 @@ msg_row(){ | ||||
|     printf "${WHITE} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row_upgrade(){ | ||||
| msg_row_red(){ | ||||
|     local mesg=$1; shift | ||||
|     # shellcheck disable=2059 | ||||
|     printf "${RED} ${mesg} ${ALL_OFF}\n" "$@" >&2 | ||||
|   | ||||
| @@ -23,12 +23,12 @@ load_base_config(){ | ||||
|  | ||||
|     [[ -f "$conf" ]] || return 1 | ||||
|  | ||||
|     # shellcheck disable=1090 | ||||
|     # shellcheck source=/etc/artools/artools-base.conf | ||||
|     [[ -r "$conf" ]] && . "$conf" | ||||
|  | ||||
|     CHROOTS_DIR=${CHROOTS_DIR:-'/var/lib/artools'} | ||||
|  | ||||
|     WORKSPACE_DIR=${WORKSPACE_DIR:-"/home/${USER}/artools-workspace"} | ||||
|     WORKSPACE_DIR=${WORKSPACE_DIR:-"${USER_HOME}/artools-workspace"} | ||||
|  | ||||
|     return 0 | ||||
| } | ||||
|   | ||||
| @@ -8,7 +8,7 @@ load_iso_config(){ | ||||
|  | ||||
|     [[ -f "$conf" ]] || return 1 | ||||
|  | ||||
|     # shellcheck disable=1090 | ||||
|     # shellcheck source=/etc/artools/artools-iso.conf | ||||
|     [[ -r "$conf" ]] && . "$conf" | ||||
|  | ||||
|     ISO_POOL=${ISO_POOL:-"${WORKSPACE_DIR}/iso"} | ||||
|   | ||||
| @@ -8,14 +8,14 @@ load_pkg_config(){ | ||||
|  | ||||
|     [[ -f "$conf" ]] || return 1 | ||||
|  | ||||
|     # shellcheck disable=1090 | ||||
|     # shellcheck source=/etc/artools/artools-pkg.conf | ||||
|     [[ -r "$conf" ]] && . "$conf" | ||||
|  | ||||
|     local git_domain="gitea.artixlinux.org" | ||||
|  | ||||
|     GIT_URL="https://${git_domain}" | ||||
|     GIT_URL=${GIT_URL:-"https://${git_domain}"} | ||||
|  | ||||
|     GIT_SSH="gitea@${git_domain}" | ||||
|     GIT_SSH=${GIT_SSH:-"gitea@${git_domain}"} | ||||
|  | ||||
|     GIT_TOKEN=${GIT_TOKEN:-''} | ||||
|  | ||||
| @@ -26,7 +26,10 @@ load_pkg_config(){ | ||||
|         packages-{gfx,gtk,media,net,qt5,xorg} | ||||
|     ) | ||||
|  | ||||
|     local dev_tree=(packages-{python,perl,java,ruby}) | ||||
|     local dev_tree=( | ||||
|         packages-{python,perl,java,ruby} | ||||
|         python-{world,galaxy} | ||||
|     ) | ||||
|  | ||||
|     local init_tree=(packages-{openrc,runit,s6}) | ||||
|  | ||||
| @@ -49,12 +52,15 @@ load_pkg_config(){ | ||||
|  | ||||
|     TREE_DIR_ARCH=${TREE_DIR_ARCH:-"${WORKSPACE_DIR}/archlinux"} | ||||
|  | ||||
|     [[ -z ${ARCH_TREE[*]} ]] && \ | ||||
|     ARCH_TREE=(svntogit-{packages,community}) | ||||
|  | ||||
|     REPOS_ROOT=${REPOS_ROOT:-"${WORKSPACE_DIR}/repos"} | ||||
|  | ||||
|     REPOS_MIRROR=${REPOS_MIRROR:-'http://mirror1.artixlinux.org/repos'} | ||||
|  | ||||
|     HOST_TREE_ARCH=${HOST_TREE_ARCH:-'https://github.com/archlinux'} | ||||
|  | ||||
|     DBEXT=${DBEXT:-'xz'} | ||||
|  | ||||
|     return 0 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user