forked from artix/artools
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
01142309ac | ||
![]() |
d630ed2582 | ||
![]() |
9c546ca7fb | ||
![]() |
a6a74c69f1 | ||
![]() |
0f51544da4 | ||
![]() |
afe30328a6 | ||
![]() |
9d7148b60e |
12
Makefile
12
Makefile
@@ -59,8 +59,7 @@ LIBS_ISO = \
|
||||
$(wildcard lib/util-iso*.sh)
|
||||
|
||||
SHARED_ISO = \
|
||||
data/mkinitcpio.conf \
|
||||
data/profile.conf.example
|
||||
data/mkinitcpio.conf
|
||||
|
||||
CPIOHOOKS = \
|
||||
$(wildcard initcpio/hooks/*)
|
||||
@@ -81,9 +80,6 @@ LIBS_YAML = \
|
||||
SHARED_YAML = \
|
||||
data/linux.preset
|
||||
|
||||
INFO = \
|
||||
data/repo_info
|
||||
|
||||
BASE = \
|
||||
$(wildcard data/base/Packages-*) \
|
||||
data/base/profile.conf
|
||||
@@ -150,8 +146,8 @@ install_pkg:
|
||||
install -m0644 ${SHARED_PKG} $(DESTDIR)$(PREFIX)/share/artools
|
||||
|
||||
install_isobase:
|
||||
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles
|
||||
install -m0644 ${INFO} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles
|
||||
# install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles
|
||||
# install -m0644 ${INFO} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles
|
||||
|
||||
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base
|
||||
install -m0644 ${BASE} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base
|
||||
@@ -212,7 +208,7 @@ uninstall_pkg:
|
||||
for f in ${LIBS_PKG}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
|
||||
|
||||
uninstall_isobase:
|
||||
for f in ${INFO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/$$f; done
|
||||
# for f in ${INFO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/$$f; done
|
||||
for f in ${BASE}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/$$f; done
|
||||
for f in ${LIVE_ETC}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/$$f; done
|
||||
for f in ${LIVE_ETC_DEFAULT}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default/$$f; done
|
||||
|
@@ -19,8 +19,38 @@ SYSCONFDIR='@sysconfdir@'
|
||||
import ${LIBDIR}/util.sh
|
||||
import ${LIBDIR}/util-iso.sh
|
||||
|
||||
prepare_traps(){
|
||||
for sig in TERM HUP QUIT; do
|
||||
trap "trap_exit $sig \"$(gettext "%s signal caught. Exiting...")\" \"$sig\"" "$sig"
|
||||
done
|
||||
trap 'trap_exit INT "$(gettext "Aborted by user! Exiting...")"' INT
|
||||
# trap 'trap_exit USR1 "$(gettext "An unknown error has occurred. Exiting...")"' ERR
|
||||
}
|
||||
|
||||
prepare_build(){
|
||||
timer_start=$(get_timer)
|
||||
|
||||
load_profile "${profile}"
|
||||
|
||||
local pac_arch='default' pacman_conf
|
||||
[[ "${target_arch}" == 'x86_64' ]] && pac_arch='multilib'
|
||||
|
||||
pacman_conf="${DATADIR}/pacman-$pac_arch.conf"
|
||||
|
||||
iso_file=$(gen_iso_fn).iso
|
||||
|
||||
mkchroot_args+=(-C ${pacman_conf})
|
||||
work_dir=${chroots_iso}/${profile}/${target_arch}
|
||||
|
||||
iso_dir="${cache_dir_iso}/${profile}"
|
||||
|
||||
iso_root=${chroots_iso}/${profile}/iso
|
||||
mnt_dir=${chroots_iso}/${profile}/mnt
|
||||
prepare_dir "${mnt_dir}"
|
||||
prepare_dir "${iso_dir}"
|
||||
}
|
||||
|
||||
show_profile(){
|
||||
prepare_build
|
||||
msg2 "iso_file: %s" "${iso_file}"
|
||||
if ${verbose};then
|
||||
msg2 "autologin: %s" "${autologin}"
|
||||
@@ -36,7 +66,6 @@ show_profile(){
|
||||
msg2 "openrc_boot: %s" "${openrc_boot[*]}"
|
||||
msg2 "openrc_default: %s" "${openrc_default[*]}"
|
||||
fi
|
||||
reset_profile
|
||||
}
|
||||
|
||||
display_settings(){
|
||||
@@ -69,8 +98,6 @@ load_user_info
|
||||
|
||||
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
|
||||
|
||||
load_run_dir
|
||||
|
||||
clean_first=true
|
||||
pretend=false
|
||||
images_only=false
|
||||
@@ -135,7 +162,9 @@ shift $(($OPTIND - 1))
|
||||
|
||||
check_root
|
||||
|
||||
check_requirements
|
||||
prepare_traps
|
||||
|
||||
prepare_build
|
||||
|
||||
${pretend} && display_settings && exit 1
|
||||
|
||||
|
@@ -178,8 +178,13 @@ prepare_build
|
||||
|
||||
${pretend} && display_settings && exit
|
||||
|
||||
${delete_first} && delete_chroot "${work_dir}/root" "${work_dir}"
|
||||
if ${delete_first};then
|
||||
delete_chroot "${work_dir}/root" "${work_dir}"
|
||||
delete_chroot "${work_dir}/$OWNER" "${work_dir}"
|
||||
fi
|
||||
|
||||
${create_first} && create_chroot "${mkchroot_args[@]}" "${work_dir}/root" "${packages[@]}"
|
||||
if ${create_first} || [[ ! -d ${work_dir}/root ]];then
|
||||
create_chroot "${mkchroot_args[@]}" "${work_dir}/root" "${packages[@]}"
|
||||
fi
|
||||
|
||||
build "${package}"
|
||||
|
@@ -21,7 +21,6 @@ import ${LIBDIR}/util-yaml-check.sh
|
||||
import ${LIBDIR}/util-profile.sh
|
||||
|
||||
show_profile(){
|
||||
prepare_build
|
||||
msg2 "yaml_dir: %s" "${yaml_dir}"
|
||||
msg2 "autologin: %s" "${autologin}"
|
||||
|
||||
@@ -35,9 +34,6 @@ show_profile(){
|
||||
msg2 "enable_live: %s" "${enable_live[*]}"
|
||||
msg2 "openrc_boot: %s" "${openrc_boot[*]}"
|
||||
msg2 "openrc_default: %s" "${openrc_default[*]}"
|
||||
|
||||
reset_profile
|
||||
unset yaml_dir
|
||||
}
|
||||
|
||||
display_settings(){
|
||||
@@ -62,11 +58,6 @@ load_user_info
|
||||
|
||||
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
|
||||
|
||||
# to force old way to have buildiso run in iso-profiles dir
|
||||
# run_dir=$(pwd)
|
||||
|
||||
load_run_dir
|
||||
|
||||
calamares=false
|
||||
pretend=false
|
||||
group=false
|
||||
@@ -107,6 +98,8 @@ done
|
||||
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
prepare_build
|
||||
|
||||
${pretend} && display_settings && exit 1
|
||||
|
||||
${group} && write_pacman_group_yaml "${profile}" && exit 0
|
||||
|
@@ -63,6 +63,7 @@ add_pkg=false
|
||||
del_pkg=false
|
||||
copy_pkg=false
|
||||
package=''
|
||||
repository='system'
|
||||
|
||||
rsync_args=(-rtxisP --progress --delete -e ssh)
|
||||
|
||||
|
@@ -8,9 +8,6 @@
|
||||
# build dir where buildpkg or buildiso chroots are created
|
||||
# chroots_dir=/var/lib/artools
|
||||
|
||||
# custom build mirror server
|
||||
# build_mirror=https://netcologne.dl.sourceforge.net/project/artix-linux/repos
|
||||
|
||||
# the server user
|
||||
# account=[SetUser]
|
||||
|
||||
@@ -27,8 +24,8 @@
|
||||
################ artools-pkg ################
|
||||
#############################################
|
||||
|
||||
# artix import tree
|
||||
# repo_tree_import=('system-arch' 'world-arch' 'galaxy-arch')
|
||||
# artix testing branches import tree
|
||||
# repo_tree_import=('system' 'world' 'galaxy')
|
||||
|
||||
# host_tree_artix=https://github.com/artix-linux
|
||||
|
||||
@@ -44,9 +41,6 @@
|
||||
################ artools-iso ################
|
||||
#############################################
|
||||
|
||||
# the default profile
|
||||
# profile=base
|
||||
|
||||
# the dist release; default: auto
|
||||
# dist_release=rolling
|
||||
|
||||
|
@@ -1,30 +0,0 @@
|
||||
##########################################
|
||||
###### use this file in the profile ######
|
||||
##########################################
|
||||
|
||||
################ install ################
|
||||
|
||||
# default displaymanager: none
|
||||
# supported; lightdm, sddm, gdm, lxdm, mdm
|
||||
# displaymanager="none"
|
||||
|
||||
# Set to false to disable autologin in the livecd
|
||||
# autologin="true"
|
||||
|
||||
# service runlevels
|
||||
# openrc_boot=('elogind')
|
||||
# openrc_default=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
|
||||
|
||||
# unset defaults to given values
|
||||
# addgroups="video,power,storage,optical,network,lp,scanner,wheel,users"
|
||||
|
||||
################# live-session #################
|
||||
|
||||
# unset defaults to given value
|
||||
# hostname="artix"
|
||||
|
||||
# unset defaults to given value
|
||||
# username="artix"
|
||||
|
||||
# unset defaults to given value
|
||||
# password="artix"
|
@@ -1 +0,0 @@
|
||||
0.5
|
@@ -35,7 +35,6 @@ error_function() {
|
||||
run_log(){
|
||||
local func="$1"
|
||||
local logfile=${log_dir}/$(gen_iso_fn).$func.log
|
||||
# local tmpfile=${tmp_dir}/$func.ansi.log
|
||||
logpipe=$(mktemp -u "${tmp_dir}/$func.pipe.XXXXXXXX")
|
||||
mkfifo "$logpipe"
|
||||
tee "$logfile" < "$logpipe" &
|
||||
@@ -43,8 +42,6 @@ run_log(){
|
||||
$func &> "$logpipe"
|
||||
wait $teepid
|
||||
rm "$logpipe"
|
||||
# cat $tmpfile | perl -pe 's/\e\[?.*?[\@-~]//g' > $logfile
|
||||
# rm "$tmpfile"
|
||||
}
|
||||
|
||||
run_safe() {
|
||||
@@ -392,42 +389,7 @@ prepare_images(){
|
||||
show_elapsed_time "${FUNCNAME}" "${timer}"
|
||||
}
|
||||
|
||||
check_requirements(){
|
||||
[[ -f ${run_dir}/repo_info ]] || die "%s is not a valid iso profiles directory!" "${run_dir}"
|
||||
|
||||
for sig in TERM HUP QUIT; do
|
||||
trap "trap_exit $sig \"$(gettext "%s signal caught. Exiting...")\" \"$sig\"" "$sig"
|
||||
done
|
||||
trap 'trap_exit INT "$(gettext "Aborted by user! Exiting...")"' INT
|
||||
trap 'trap_exit USR1 "$(gettext "An unknown error has occurred. Exiting...")"' ERR
|
||||
}
|
||||
|
||||
prepare_build(){
|
||||
timer_start=$(get_timer)
|
||||
local profile_dir=${run_dir}/${profile}
|
||||
|
||||
load_profile "${profile_dir}"
|
||||
|
||||
local pac_arch='default' pacman_conf
|
||||
[[ "${target_arch}" == 'x86_64' ]] && pac_arch='multilib'
|
||||
|
||||
pacman_conf="${DATADIR}/pacman-$pac_arch.conf"
|
||||
|
||||
iso_file=$(gen_iso_fn).iso
|
||||
|
||||
mkchroot_args+=(-C ${pacman_conf})
|
||||
work_dir=${chroots_iso}/${profile}/${target_arch}
|
||||
|
||||
iso_dir="${cache_dir_iso}/${profile}"
|
||||
|
||||
iso_root=${chroots_iso}/${profile}/iso
|
||||
mnt_dir=${chroots_iso}/${profile}/mnt
|
||||
prepare_dir "${mnt_dir}"
|
||||
prepare_dir "${iso_dir}"
|
||||
}
|
||||
|
||||
build(){
|
||||
prepare_build
|
||||
msg "Start building [%s]" "${profile}"
|
||||
if ${clean_first};then
|
||||
chroot_clean "${chroots_iso}/${profile}/${target_arch}"
|
||||
@@ -447,7 +409,6 @@ build(){
|
||||
prepare_images
|
||||
compress_images
|
||||
fi
|
||||
reset_profile
|
||||
msg "Finished building [%s]" "${profile}"
|
||||
show_elapsed_time "${FUNCNAME}" "${timer_start}"
|
||||
}
|
||||
|
@@ -8,31 +8,29 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
write_repo_conf(){
|
||||
local repos=$(find $USER_HOME -type f -name "repo_info")
|
||||
local path name
|
||||
[[ -z ${repos[@]} ]] && run_dir=${DATADIR}/iso-profiles && return 1
|
||||
for r in ${repos[@]}; do
|
||||
path=${r%/repo_info}
|
||||
name=${path##*/}
|
||||
echo "run_dir=$path" > ${AT_USERCONFDIR}/$name.conf
|
||||
done
|
||||
}
|
||||
|
||||
load_run_dir(){
|
||||
local gitrepo='iso-profiles'
|
||||
[[ -f ${AT_USERCONFDIR}/$gitrepo.conf ]] || write_repo_conf
|
||||
[[ -r ${AT_USERCONFDIR}/$gitrepo.conf ]] && source ${AT_USERCONFDIR}/$gitrepo.conf
|
||||
return 0
|
||||
}
|
||||
|
||||
load_profile(){
|
||||
local profdir="$1"
|
||||
local profile_conf="$profdir/profile.conf"
|
||||
local prof="$1"
|
||||
local profdir="${DATADIR}/iso-profiles/$prof"
|
||||
[[ "$prof" != 'base' ]] && profdir=${workspace_dir}/iso-profiles/$prof
|
||||
|
||||
[[ -f ${profile_conf} ]] || return 1
|
||||
root_list="${DATADIR}/iso-profiles/base/Packages-Root"
|
||||
[[ -f "$profdir/Packages-Root" ]] && root_list="$profdir/Packages-Root"
|
||||
|
||||
[[ -r ${profile_conf} ]] && source ${profile_conf}
|
||||
root_overlay="${DATADIR}/iso-profiles/base/root-overlay"
|
||||
[[ -d "$profdir/root-overlay" ]] && root_overlay="$profdir/root-overlay"
|
||||
|
||||
[[ -f "$profdir/Packages-Desktop" ]] && desktop_list="$profdir/Packages-Desktop"
|
||||
[[ -d "$profdir/desktop-overlay" ]] && desktop_overlay="$profdir/desktop-overlay"
|
||||
|
||||
live_list="${DATADIR}/iso-profiles/base/Packages-Live"
|
||||
[[ -f "$profdir/Packages-Live" ]] && live_list="$profdir/Packages-Live"
|
||||
|
||||
live_overlay="${DATADIR}/iso-profiles/base/live-overlay"
|
||||
[[ -d "$profdir/live-overlay" ]] && live_overlay="$profdir/live-overlay"
|
||||
|
||||
[[ -f $profdir/profile.conf ]] || return 1
|
||||
|
||||
[[ -r $profdir/profile.conf ]] && source $profdir/profile.conf
|
||||
|
||||
[[ -z ${displaymanager} ]] && displaymanager="none"
|
||||
|
||||
@@ -63,42 +61,9 @@ load_profile(){
|
||||
|
||||
[[ -z ${netgroups} ]] && netgroups="https://raw.githubusercontent.com/artix-linux/netgroups/master"
|
||||
|
||||
root_list=${DATADIR}/iso-profiles/base/Packages-Root
|
||||
[[ -f "$profdir/Packages-Root" ]] && root_list="$profdir/Packages-Root"
|
||||
|
||||
root_overlay="${DATADIR}/iso-profiles/base/root-overlay"
|
||||
[[ -d "$profdir/root-overlay" ]] && root_overlay="$profdir/root-overlay"
|
||||
|
||||
[[ -f "$profdir/Packages-Desktop" ]] && desktop_list=$profdir/Packages-Desktop
|
||||
[[ -d "$profdir/desktop-overlay" ]] && desktop_overlay="$profdir/desktop-overlay"
|
||||
|
||||
live_list="${DATADIR}/iso-profiles/base/Packages-Live"
|
||||
[[ -f "$profdir/Packages-Live" ]] && live_list="$profdir/Packages-Live"
|
||||
|
||||
live_overlay="${DATADIR}/iso-profiles/base/live-overlay"
|
||||
[[ -d "$profdir/live-overlay" ]] && live_overlay="$profdir/live-overlay"
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
reset_profile(){
|
||||
unset displaymanager
|
||||
unset autologin
|
||||
unset hostname
|
||||
unset username
|
||||
unset password
|
||||
unset addgroups
|
||||
unset openrc_boot
|
||||
unset openrc_default
|
||||
unset enable_live
|
||||
unset root_list
|
||||
unset desktop_list
|
||||
unset live_list
|
||||
unset root_overlay
|
||||
unset desktop_overlay
|
||||
unset live_overlay
|
||||
}
|
||||
|
||||
write_live_session_conf(){
|
||||
local path=$1${SYSCONFDIR}
|
||||
[[ ! -d $path ]] && mkdir -p "$path"
|
||||
|
@@ -38,17 +38,12 @@ gen_fn(){
|
||||
}
|
||||
|
||||
prepare_build(){
|
||||
local profile_dir=${run_dir}/${profile}
|
||||
|
||||
load_profile "${profile_dir}"
|
||||
|
||||
load_profile "${profile}"
|
||||
yaml_dir=${cache_dir_netinstall}/${profile}/${target_arch}
|
||||
|
||||
prepare_dir "${yaml_dir}"
|
||||
}
|
||||
|
||||
build(){
|
||||
prepare_build
|
||||
load_pkgs "${root_list}" "${target_arch}" "${initsys}" "${kernel}"
|
||||
write_netgroup_yaml "${profile}" "$(gen_fn "Packages-Root")"
|
||||
if [[ -f "${desktop_list}" ]]; then
|
||||
@@ -56,6 +51,4 @@ build(){
|
||||
write_netgroup_yaml "${profile}" "$(gen_fn "Packages-Desktop")"
|
||||
fi
|
||||
${calamares} && configure_calamares "${yaml_dir}"
|
||||
reset_profile
|
||||
unset yaml_dir
|
||||
}
|
||||
|
@@ -63,8 +63,6 @@ init_artools_base(){
|
||||
|
||||
[[ -z ${chroots_dir} ]] && chroots_dir='/var/lib/artools'
|
||||
|
||||
[[ -z ${build_mirror} ]] && build_mirror='https://downloads.sourceforge.net/project/artix-linux/repos'
|
||||
|
||||
log_dir='/var/log/artools'
|
||||
|
||||
tmp_dir='/tmp'
|
||||
@@ -108,8 +106,6 @@ init_artools_pkg(){
|
||||
|
||||
prepare_dir "${cache_dir_pkg}"
|
||||
|
||||
repository='system'
|
||||
|
||||
[[ -z ${repos_local} ]] && repos_local="${workspace_dir}/repos"
|
||||
|
||||
repos_remote="/${repos_local##*/}"
|
||||
@@ -122,7 +118,7 @@ init_artools_iso(){
|
||||
|
||||
prepare_dir "${cache_dir_iso}"
|
||||
|
||||
[[ -z ${profile} ]] && profile='base'
|
||||
profile='base'
|
||||
|
||||
[[ -z ${dist_release} ]] && dist_release=$(date +%Y%m%d)
|
||||
|
||||
|
Reference in New Issue
Block a user