forked from artix/artools
		
	Compare commits
	
		
			9 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f05688dc12 | |||
| 091b5deaa8 | |||
| 93e4beb61f | |||
| 76b4ff511d | |||
| 2995207e6b | |||
| 5aa8bd3333 | |||
| 699ea06445 | |||
| 4b9a883113 | |||
| 74ab2c71b1 | 
| @@ -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='' | ||||
|   | ||||
| @@ -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##*/}" | ||||
|  | ||||
| @@ -282,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" | ||||
| @@ -318,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_upgrade "${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,6 +108,7 @@ load_makepkg_config | ||||
| sync=false | ||||
| check=false | ||||
| query=false | ||||
| all_db=false | ||||
|  | ||||
| readonly tableU="%-20s %-35s %-30s %-10s" | ||||
| readonly tableQ="%-20s %-45s %s" | ||||
| @@ -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" | ||||
| @@ -214,19 +214,19 @@ load_makepkg_config | ||||
|  | ||||
| load_valid_names | ||||
|  | ||||
| REPO_SRC='trunk' | ||||
| PACKAGE='' | ||||
| 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' | ||||
| @@ -240,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 ;; | ||||
| @@ -254,5 +254,5 @@ shift $(( OPTIND - 1 )) | ||||
| 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 | ||||
|   | ||||
| @@ -158,7 +158,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(){ | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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: | ||||
|   | ||||
							
								
								
									
										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 | ||||
| @@ -85,8 +61,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,11 +5,7 @@ | ||||
| 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[*]}" | ||||
| } | ||||
|  | ||||
| @@ -28,38 +24,20 @@ load_profile(){ | ||||
|     # 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##*/}" | ||||
|     msg2 "Loading Packages: [%s] ..." "${pkglist##*/}" | ||||
|  | ||||
|     local _init="s|@$init||g" _init_rm1 _init_rm2 | ||||
|     case "$init" in | ||||
|   | ||||
| @@ -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 | ||||
| @@ -37,11 +29,19 @@ add_svc_s6(){ | ||||
|         chroot "$mnt" s6-rc-db -c /etc/s6/rc/compiled type "$svc" &> /dev/null || error=true | ||||
|         ret="$?" | ||||
|         if [ $ret -eq 0 ] && [[ "$error" == false ]]; then | ||||
|             msg2 "Setting %s ..." "$svc" | ||||
|             msg2 "Setting %s: [%s]" "${INITSYS}" "$svc" | ||||
|             chroot "$mnt" s6-rc-bundle-update -c /etc/s6/rc/compiled add "$rlvl" "$svc" | ||||
|         fi | ||||
|     done | ||||
|  | ||||
|     # force artix-live as a dependency if these display managers exist | ||||
| #     for displaymanager in gdm lightdm-srv lxdm sddm; do | ||||
| #         if [ -f "${work_dir}"/rootfs/etc/s6/sv/$displaymanager/dependencies ]; then | ||||
| #             echo "artix-live" >> "${work_dir}"rootfs/etc/s6/sv/$displaymanager/dependencies | ||||
| #         fi | ||||
| #     done | ||||
| #     chroot "$mnt" sh /usr/share/libalpm/scripts/s6-rc-db-update-hook | ||||
|  | ||||
|     # 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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -42,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 | ||||
| } | ||||
|   | ||||
| @@ -13,9 +13,9 @@ load_pkg_config(){ | ||||
|  | ||||
|     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