Compare commits

..

4 Commits

Author SHA1 Message Date
5aa8bd3333 comparepkg: remove obsolete help opt 2021-01-05 17:58:41 +01:00
699ea06445 Merge pull request 's6: force artix-live dependency on displaymanagers' (#47) from Dudemanguy/artools:master into master
Reviewed-on: artix/artools#47
2021-01-05 17:56:22 +01:00
4b9a883113 s6: force artix-live dependency on displaymanagers
A bit of a hack, but it's good enough. The liveiso has the problem of
the display manager service starting before the artix-live service
starts. This means the artix user isn't created yet and thus autologin
fails. What needs to happen is that every display manager service should
have a dependency on artix-live. However, s6-rc has no way to specify
optional dependencies so simply adding it to the script package can't be
a solution. Instead what we can do is to just check for the existence of
these services when building the iso (this is the only case where we
care about this dependency) and manually add it to the dependencies file
and rebuild the database.
2021-01-05 10:31:48 -06:00
74ab2c71b1 v0.22 (#46)
artix-chroot: tweak msg

remove unused func & var

buildiso: small msg cosmetics

deploypkg: use full filenames on removal

readd lost get_compliant_name()

update artools-pkg.conf

links-add: don't elf read kernel documentation

chroot-run: remove & tweak msgs

links-add: unquote files var

tweak msgs

shellcheck ignore colors

remove info() and use
only use config vars in caps

Makefile: start 0.22

Reviewed-on: artix/artools#46
Co-Authored-By: artoo <artoo@artixlinux.org>
Co-Committed-By: artoo <artoo@artixlinux.org>
2020-12-26 00:12:19 +01:00
26 changed files with 173 additions and 144 deletions

View File

@@ -1,4 +1,4 @@
VERSION=0.21
VERSION=0.22
TOOLS = artools
PREFIX ?= /usr

View File

@@ -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

View File

@@ -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

View File

@@ -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=''

View File

@@ -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 ;;

View File

@@ -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 ;;

View File

@@ -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

View File

@@ -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'

View File

@@ -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(){

View File

@@ -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"

View File

@@ -32,7 +32,6 @@ clean_first=0
run_namcap=0
run_checkpkg=0
temp_chroot=0
run_nocheck=0
bindmounts=()
@@ -290,7 +289,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" ;;

View File

@@ -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

View File

@@ -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'

View File

@@ -0,0 +1,3 @@
#!/hint/bash
CHROOTVERSION=0.10

View File

@@ -2,8 +2,6 @@
#{{{ chroot
CHROOTVERSION=0.10
orig_argv=("$0" "$@")
check_root() {
local keepenv="$1"

View File

@@ -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

View File

@@ -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

View File

@@ -85,7 +85,7 @@ write_unpackfs() {
configure_calamares(){
local mods="$1/etc/calamares/modules"
if [[ -d "$mods" ]];then
msg2 "Configuring Calamares"
msg2 "Configuring: Calamares"
write_users_conf > "$mods"/users.conf
write_services_"${INITSYS}"_conf "$mods"
write_postcfg > "$mods"/postcfg.conf

View File

@@ -7,9 +7,9 @@ configure_hosts(){
}
configure_logind(){
local conf=$1/etc/"$2"/logind.conf
local conf=$1/etc/elogind/logind.conf
if [[ -e "$conf" ]];then
msg2 "Configuring logind ..."
msg2 "Configuring: logind"
sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' "$conf"
sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' "$conf"
sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' "$conf"
@@ -18,14 +18,12 @@ configure_logind(){
configure_services(){
local mnt="$1"
info "Configuring [%s] services" "${INITSYS}"
add_svc_"${INITSYS}" "$mnt" "${SERVICES[*]} ${SERVICES_LIVE[*]}"
info "Done configuring [%s] services" "${INITSYS}"
}
configure_system(){
local mnt="$1"
configure_logind "$mnt" "elogind"
configure_logind "$mnt"
echo "${HOST_NAME}" > "$mnt"/etc/hostname
}
@@ -47,7 +45,7 @@ configure_chroot(){
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##*/}"
}

View File

@@ -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"

View File

@@ -59,7 +59,7 @@ load_profile(){
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

View File

@@ -13,7 +13,7 @@ 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"
msg2 "Setting [%s]: %s" "${INITSYS}" "$svc"
[[ $svc == "xdm" ]] && set_xdm "$mnt"
chroot "$mnt" rc-update add "$svc" "$rlvl" &>/dev/null
fi
@@ -24,7 +24,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 +37,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

View File

@@ -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"
}
#}}}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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