Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
b734357ea9 | |||
74d44873e7 | |||
91e038c3f5 | |||
8548a584f3 | |||
38fb213e13 | |||
fade611ae7 | |||
8cdb68ce6a
|
|||
7d949afeb7 | |||
6f037f6faf |
@@ -18,19 +18,42 @@ m4_include(lib/base/message.sh)
|
|||||||
m4_include(lib/pkg/repo.sh)
|
m4_include(lib/pkg/repo.sh)
|
||||||
m4_include(lib/pkg/table.sh)
|
m4_include(lib/pkg/table.sh)
|
||||||
|
|
||||||
|
#{{{ db libs
|
||||||
|
|
||||||
|
extract_db() {
|
||||||
|
local u="$1" cdir="$2"
|
||||||
|
rm -rf "$cdir"
|
||||||
|
mkdir -p "$cdir"
|
||||||
|
msg2 "%s" "${cdir##*/}"
|
||||||
|
curl -L -s "$u" | bsdtar -xf - -C "$cdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
update_db_cache(){
|
||||||
|
msg "Updating database cache ..."
|
||||||
|
local cachedir url
|
||||||
|
for repo in "${searchrepos[@]}"; do
|
||||||
|
cachedir=${db_cache_dir}/linksdb/$repo
|
||||||
|
url=${REPOS_MIRROR}/$repo/os/${CARCH}/$repo.${linksdb_ext}
|
||||||
|
extract_db "$url" "$cachedir"
|
||||||
|
done
|
||||||
|
msg "Done"
|
||||||
|
}
|
||||||
|
|
||||||
|
#}}}
|
||||||
|
|
||||||
#{{{ sogrep
|
#{{{ sogrep
|
||||||
|
|
||||||
query_db() {
|
query_db() {
|
||||||
for repo in "${searchrepos[@]}"; do
|
for repo in "${searchrepos[@]}"; do
|
||||||
local db
|
local db
|
||||||
db=${db_cache_dir}/${linksdb_ext}/${CARCH}/${repo}/
|
db=${db_cache_dir}/linksdb/$repo/
|
||||||
if [[ -d ${db} ]]; then
|
if [[ -d ${db} ]]; then
|
||||||
while read -rd '' pkg; do
|
while read -rd '' pkg; do
|
||||||
read -r match
|
read -r match
|
||||||
pkg=${pkg#${db}}
|
pkg=${pkg#${db}}
|
||||||
pkg="${pkg%/*}"
|
pkg="${pkg%/*}"
|
||||||
msg_row "${tableQ}" "${repo}" "${pkg}" "${match}"
|
msg_row "${tableQ}" "$repo" "$pkg" "${match}"
|
||||||
done < <(grep -rZ "${library}" "${db}") | sort -u
|
done < <(grep -rZ "$library" "$db") | sort -u
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -41,7 +64,7 @@ query_db() {
|
|||||||
|
|
||||||
is_db_entry() {
|
is_db_entry() {
|
||||||
local pkgname="$1" repo="${REPOS[$2]}" entry
|
local pkgname="$1" repo="${REPOS[$2]}" entry
|
||||||
entry=${db_cache_dir}/${linksdb_ext}/${CARCH}/$repo/$pkgname
|
entry=${db_cache_dir}/linksdb/$repo/$pkgname
|
||||||
|
|
||||||
if [[ -d "$entry" ]];then
|
if [[ -d "$entry" ]];then
|
||||||
return 0
|
return 0
|
||||||
@@ -50,18 +73,17 @@ is_db_entry() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_db(){
|
check_db(){
|
||||||
local pkgpath="${1%/*}"
|
local pkgpath="${1}"
|
||||||
|
|
||||||
for repo in "${!REPOS[@]}"; do
|
for repo in "${!REPOS[@]}"; do
|
||||||
|
|
||||||
local pkgbuild artixver
|
local pkgbuild artixver
|
||||||
[[ -f $pkgpath/$CARCH/$repo/PKGBUILD ]] && pkgbuild=$pkgpath/$CARCH/$repo/PKGBUILD
|
if [[ -f $pkgpath/$repo/PKGBUILD ]]; then
|
||||||
[[ -f $pkgpath/repos/$repo-$CARCH/PKGBUILD ]] && pkgbuild=$pkgpath/repos/$repo-$CARCH/PKGBUILD
|
pkgbuild=$pkgpath/$repo/PKGBUILD
|
||||||
[[ -f $pkgpath/repos/$repo-any/PKGBUILD ]] && pkgbuild=$pkgpath/repos/$repo-any/PKGBUILD
|
|
||||||
|
|
||||||
# shellcheck disable=1090
|
# shellcheck disable=1090
|
||||||
. "$pkgbuild" 2>/dev/null
|
. "$pkgbuild" 2>/dev/null
|
||||||
artixver=$(get_full_version)
|
artixver=$(get_full_version)
|
||||||
|
|
||||||
for name in "${pkgname[@]}"; do
|
for name in "${pkgname[@]}"; do
|
||||||
if ! is_db_entry "$name-$artixver" "$repo"; then
|
if ! is_db_entry "$name-$artixver" "$repo"; then
|
||||||
msg_row_red "${tableU}" "$repo" "$name" "$artixver" "false"
|
msg_row_red "${tableU}" "$repo" "$name" "$artixver" "false"
|
||||||
@@ -70,6 +92,55 @@ check_db(){
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
unset artixver pkgbuild pkgver epoch pkgname pkgbase
|
unset artixver pkgbuild pkgver epoch pkgname pkgbase
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
#}}}
|
||||||
|
|
||||||
|
# {{{ check obsolete
|
||||||
|
|
||||||
|
show_obsolete_table() {
|
||||||
|
local arch_mirror='https://mirror.f4st.host/archlinux'
|
||||||
|
|
||||||
|
local arch_repo artix_repo artix_db arch_db url
|
||||||
|
arch_repo="${searchrepos[@]}"
|
||||||
|
artix_repo="${REPOS[$arch_repo]}"
|
||||||
|
|
||||||
|
artix_db="${db_cache_dir}/artixdb/${artix_repo}"
|
||||||
|
arch_db="${db_cache_dir}/archdb/${arch_repo}"
|
||||||
|
|
||||||
|
msg "Updating database cache ..."
|
||||||
|
url=${REPOS_MIRROR}/${artix_repo}/os/$CARCH/${artix_repo}.${db_ext}
|
||||||
|
extract_db "$url" "${artix_db}"
|
||||||
|
|
||||||
|
url=${arch_mirror}/${arch_repo}/os/$CARCH/${arch_repo}.${db_ext}
|
||||||
|
extract_db "$url" "${arch_db}"
|
||||||
|
msg "Done"
|
||||||
|
|
||||||
|
msg_table_header "${tableQ}" "Repo" "Package" "Obsolete"
|
||||||
|
for p in "${artix_db}"/*; do
|
||||||
|
local pkg rel
|
||||||
|
pkg=${p##*/}
|
||||||
|
rel=${pkg##*-}
|
||||||
|
rel=${rel%.*}
|
||||||
|
pkg=${pkg%-*}
|
||||||
|
local p="$pkg-$rel"
|
||||||
|
|
||||||
|
if [[ "$p" != *openrc* ]] && [[ "$p" != *runit* ]] \
|
||||||
|
&& [[ "$p" != *s6* ]] && [[ "$p" != *suite66* ]] \
|
||||||
|
&& [[ "$p" != *eudev* ]] && [[ "$p" != *elogind* ]] \
|
||||||
|
&& [[ "$p" != *sysusers* ]] && [[ "$p" != *tmpfiles* ]] \
|
||||||
|
&& [[ "$p" != *execline* ]] && [[ "$p" != *skalibs* ]] \
|
||||||
|
&& [[ "$p" != *netifrc* ]] && [[ "$p" != *bootlogd* ]] \
|
||||||
|
&& [[ "$p" != *pam_rundir* ]] && [[ "$p" != *artools* ]] \
|
||||||
|
&& [[ "$p" != *archlinux* ]] && [[ "$p" != *iso-profiles* ]] \
|
||||||
|
&& [[ "$p" != *calamares* ]] && [[ "$p" != *iso-initcpio* ]] \
|
||||||
|
&& [[ "$p" != *dinit* ]] && [[ "$p" != *artix* ]]; then
|
||||||
|
if [[ ! -d "${arch_db}/$p" ]]; then
|
||||||
|
msg_row "${tableQ}" "${artix_repo}" "$p" "true"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,23 +156,10 @@ show_db_table(){
|
|||||||
tree_loop check_db
|
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"
|
db_cache_dir="${XDG_CACHE_HOME:-$USER_HOME/.cache}/artools"
|
||||||
|
|
||||||
linksdb_ext="links.tar.${DBEXT}"
|
linksdb_ext="links.tar.${DBEXT}"
|
||||||
|
db_ext="db.tar.${DBEXT}"
|
||||||
|
|
||||||
load_makepkg_config
|
load_makepkg_config
|
||||||
|
|
||||||
@@ -109,9 +167,10 @@ sync=false
|
|||||||
check=false
|
check=false
|
||||||
query=false
|
query=false
|
||||||
all_db=false
|
all_db=false
|
||||||
|
obsolete=false
|
||||||
|
|
||||||
readonly tableU="%-20s %-35s %-30s %-10s"
|
readonly tableU="%-20s %-35s %-30s %-10s"
|
||||||
readonly tableQ="%-20s %-45s %s"
|
readonly tableQ="%-20s %-55s %s"
|
||||||
|
|
||||||
load_valid_names
|
load_valid_names
|
||||||
|
|
||||||
@@ -156,6 +215,7 @@ usage() {
|
|||||||
echo " -s Sync repo databases"
|
echo " -s Sync repo databases"
|
||||||
echo ' -c Check repos'
|
echo ' -c Check repos'
|
||||||
echo ' -a Show repo db (-c)'
|
echo ' -a Show repo db (-c)'
|
||||||
|
echo ' -o Check for obsolete packages'
|
||||||
echo " -q Query repo databases for so libs"
|
echo " -q Query repo databases for so libs"
|
||||||
echo ' -h This help'
|
echo ' -h This help'
|
||||||
echo ''
|
echo ''
|
||||||
@@ -163,7 +223,7 @@ usage() {
|
|||||||
exit "$1"
|
exit "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
opts='r:qcsah'
|
opts='r:qcsaoh'
|
||||||
|
|
||||||
while getopts "${opts}" arg; do
|
while getopts "${opts}" arg; do
|
||||||
case "${arg}" in
|
case "${arg}" in
|
||||||
@@ -172,6 +232,7 @@ while getopts "${opts}" arg; do
|
|||||||
c) check=true ;;
|
c) check=true ;;
|
||||||
a) all_db=true ;;
|
a) all_db=true ;;
|
||||||
q) query=true ;;
|
q) query=true ;;
|
||||||
|
o) obsolete=true ;;
|
||||||
h|?) usage 0 ;;
|
h|?) usage 0 ;;
|
||||||
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
||||||
esac
|
esac
|
||||||
@@ -186,3 +247,5 @@ ${sync} && update_db_cache
|
|||||||
${check} && show_db_table
|
${check} && show_db_table
|
||||||
|
|
||||||
${query} && show_lib_table
|
${query} && show_lib_table
|
||||||
|
|
||||||
|
${obsolete} && show_obsolete_table
|
||||||
|
@@ -46,33 +46,6 @@ subrepo_pull(){
|
|||||||
git subrepo pull "$pkg"
|
git subrepo pull "$pkg"
|
||||||
}
|
}
|
||||||
|
|
||||||
prepare_commit(){
|
|
||||||
# create new layout, copy & remove repos
|
|
||||||
if [[ -d repos ]]; then
|
|
||||||
msg2 "Switching to new layout ..."
|
|
||||||
[[ ! -d "$CARCH" ]] && mkdir "$CARCH"
|
|
||||||
|
|
||||||
for r in repos/*; do
|
|
||||||
local name noarch
|
|
||||||
name=${r#*/}
|
|
||||||
noarch=${name%-*}
|
|
||||||
mkdir "$CARCH/${noarch}"
|
|
||||||
cp repos/"${name}"/* "$CARCH/${noarch}/"
|
|
||||||
git add "$CARCH/${noarch}"
|
|
||||||
done
|
|
||||||
|
|
||||||
git rm -r repos
|
|
||||||
git commit -m "switch to new repo layout"
|
|
||||||
msg2 "Done switch"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $action == 'add' ]] || [[ $action == 'move' ]] ;then
|
|
||||||
[[ -d "$CARCH/${repo_dest}" ]] && git rm -r "$CARCH/${repo_dest}"
|
|
||||||
[[ ! -d "$CARCH" ]] && mkdir "$CARCH"
|
|
||||||
[[ ! -d "$CARCH/${repo_dest}" ]] && mkdir "$CARCH/${repo_dest}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
check_rebuild(){
|
check_rebuild(){
|
||||||
if [[ -d "$CARCH"/"${valid_names[10]}" ]] \
|
if [[ -d "$CARCH"/"${valid_names[10]}" ]] \
|
||||||
&& [[ "${repo_dest}" == "${valid_names[7]}" ]]; then
|
&& [[ "${repo_dest}" == "${valid_names[7]}" ]]; then
|
||||||
@@ -104,11 +77,6 @@ check_team(){
|
|||||||
path_config() {
|
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
|
|
||||||
fi
|
|
||||||
|
|
||||||
# shellcheck disable=1090
|
# shellcheck disable=1090
|
||||||
. "$pkgbuild"
|
. "$pkgbuild"
|
||||||
}
|
}
|
||||||
@@ -130,7 +98,6 @@ commit_pkg() {
|
|||||||
if [[ "${repo_src}" == 'trunk' ]];then
|
if [[ "${repo_src}" == 'trunk' ]];then
|
||||||
git rm -r trunk
|
git rm -r trunk
|
||||||
else
|
else
|
||||||
prepare_commit
|
|
||||||
git rm -r "$CARCH/${repo_src}"
|
git rm -r "$CARCH/${repo_src}"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@@ -144,11 +111,15 @@ commit_pkg() {
|
|||||||
|
|
||||||
repo_commit_pkg() {
|
repo_commit_pkg() {
|
||||||
local commit_msg
|
local commit_msg
|
||||||
|
|
||||||
|
[[ -d "$CARCH/${repo_dest}" ]] && git rm -r "$CARCH/${repo_dest}"
|
||||||
|
[[ ! -d "$CARCH" ]] && mkdir "$CARCH"
|
||||||
|
[[ ! -d "$CARCH/${repo_dest}" ]] && mkdir "$CARCH/${repo_dest}"
|
||||||
|
|
||||||
if [[ "${repo_src}" == 'trunk' ]]; then
|
if [[ "${repo_src}" == 'trunk' ]]; then
|
||||||
action='add'
|
action='add'
|
||||||
commit_msg=$(get_repo_commit_msg)
|
commit_msg=$(get_repo_commit_msg)
|
||||||
msg "Action: %s" "$commit_msg"
|
msg "Action: %s" "$commit_msg"
|
||||||
prepare_commit
|
|
||||||
check_rebuild
|
check_rebuild
|
||||||
cp trunk/* "$CARCH/${repo_dest}"/
|
cp trunk/* "$CARCH/${repo_dest}"/
|
||||||
else
|
else
|
||||||
@@ -156,7 +127,6 @@ repo_commit_pkg() {
|
|||||||
[[ ! -f $pkgbuild ]] && die "%s does not exist!" "$pkgbuild"
|
[[ ! -f $pkgbuild ]] && die "%s does not exist!" "$pkgbuild"
|
||||||
commit_msg=$(get_repo_commit_msg)
|
commit_msg=$(get_repo_commit_msg)
|
||||||
msg "Action: %s" "$commit_msg"
|
msg "Action: %s" "$commit_msg"
|
||||||
prepare_commit
|
|
||||||
cp "$CARCH/${repo_src}"/* "$CARCH/${repo_dest}"/
|
cp "$CARCH/${repo_src}"/* "$CARCH/${repo_dest}"/
|
||||||
git rm -r "$CARCH/${repo_src}"
|
git rm -r "$CARCH/${repo_src}"
|
||||||
fi
|
fi
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
# the dist release; default: auto
|
# the dist release; default: auto
|
||||||
# ISO_VERSION=$(date +%Y%m%d)
|
# ISO_VERSION=$(date +%Y%m%d)
|
||||||
|
|
||||||
# possible values: openrc, runit, s6, suite66
|
# possible values: openrc, runit, s6, suite66, dinit
|
||||||
# INITSYS="openrc"
|
# INITSYS="openrc"
|
||||||
|
|
||||||
# gpg key; leave empty or commented to skip img signing
|
# gpg key; leave empty or commented to skip img signing
|
||||||
|
@@ -36,6 +36,11 @@ write_services_suite66_conf(){
|
|||||||
write_services_conf 'svDir' '/etc/66/service' 'runsvDir' '/var/lib/66/system' > "$conf"
|
write_services_conf 'svDir' '/etc/66/service' 'runsvDir' '/var/lib/66/system' > "$conf"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
write_services_dinit_conf(){
|
||||||
|
local conf="$1"/services-dinit.conf
|
||||||
|
write_services_conf 'initdDir' '/etc/dinit.d' 'runsvDir' '/etc/dinit.d/boot.d' > "$conf"
|
||||||
|
}
|
||||||
|
|
||||||
configure_calamares(){
|
configure_calamares(){
|
||||||
local mods="$1/etc/calamares/modules"
|
local mods="$1/etc/calamares/modules"
|
||||||
if [[ -d "$mods" ]];then
|
if [[ -d "$mods" ]];then
|
||||||
|
@@ -10,7 +10,7 @@ prepare_initramfs_dracut(){
|
|||||||
printf "%s\n" 'add_dracutmodules+=" dmsquash-live"' > "$mnt"/etc/dracut.conf.d/50-live.conf
|
printf "%s\n" 'add_dracutmodules+=" dmsquash-live"' > "$mnt"/etc/dracut.conf.d/50-live.conf
|
||||||
|
|
||||||
msg "Starting build: %s" "${kver}"
|
msg "Starting build: %s" "${kver}"
|
||||||
artools-chroot "$mnt" dracut -fqM /boot/initramfs.img "$kver"
|
artix-chroot "$mnt" dracut -fqM /boot/initramfs.img "$kver"
|
||||||
msg "Image generation successful"
|
msg "Image generation successful"
|
||||||
|
|
||||||
cp "$mnt"/boot/initramfs.img "${iso_root}"/boot/initramfs-"${arch}".img
|
cp "$mnt"/boot/initramfs.img "${iso_root}"/boot/initramfs-"${arch}".img
|
||||||
|
@@ -40,7 +40,7 @@ prepare_initramfs_mkinitcpio() {
|
|||||||
export ARTIX_GNUPG_FD
|
export ARTIX_GNUPG_FD
|
||||||
fi
|
fi
|
||||||
|
|
||||||
artools-chroot "$mnt" mkinitcpio -k "$k" \
|
artix-chroot "$mnt" mkinitcpio -k "$k" \
|
||||||
-c /etc/"$mkinitcpio_conf" \
|
-c /etc/"$mkinitcpio_conf" \
|
||||||
-g /boot/initramfs.img
|
-g /boot/initramfs.img
|
||||||
|
|
||||||
|
@@ -53,4 +53,14 @@ add_svc_suite66(){
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
add_svc_dinit(){
|
||||||
|
local mnt="$1" names="$2"
|
||||||
|
for svc in $names; do
|
||||||
|
if [[ -d $mnt/etc/dinit.d/boot.d ]]; then
|
||||||
|
msg2 "Setting %s: [%s]" "${INITSYS}" "$svc"
|
||||||
|
chroot "$mnt" ln -s ../"$svc" /etc/dinit.d/boot.d/"$svc" &>/dev/null
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
#}}}
|
#}}}
|
||||||
|
@@ -41,7 +41,7 @@ find_pkg(){
|
|||||||
tree_loop(){
|
tree_loop(){
|
||||||
local func="$1" pkgs
|
local func="$1" pkgs
|
||||||
for tree in "${ARTIX_TREE[@]}"; do
|
for tree in "${ARTIX_TREE[@]}"; do
|
||||||
pkgs=$(find "${TREE_DIR_ARTIX}/$tree" -name repos -o -name "$CARCH" | sort)
|
pkgs=$(find "${TREE_DIR_ARTIX}/$tree" -name "$CARCH" | sort)
|
||||||
for _package in ${pkgs}; do
|
for _package in ${pkgs}; do
|
||||||
"$func" "$_package"
|
"$func" "$_package"
|
||||||
done
|
done
|
||||||
|
@@ -31,7 +31,7 @@ load_pkg_config(){
|
|||||||
python-{world,galaxy}
|
python-{world,galaxy}
|
||||||
)
|
)
|
||||||
|
|
||||||
local init_tree=(packages-{openrc,runit,s6,suite66})
|
local init_tree=(packages-{openrc,runit,s6,suite66,dinit})
|
||||||
|
|
||||||
local desktop_tree=(
|
local desktop_tree=(
|
||||||
packages-{kf5,plasma,kde,qt6}
|
packages-{kf5,plasma,kde,qt6}
|
||||||
|
Reference in New Issue
Block a user