Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a5ea6c4ee | |||
| 486acaf47a |
@@ -112,6 +112,10 @@ chroot_extra_mount() {
|
||||
chroot_add_resolv_conf "$1"
|
||||
chroot_mount "/etc/hosts" "$1/etc/hosts" -B
|
||||
chroot_mount "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B
|
||||
if [[ -e /etc/localtime ]];then
|
||||
[[ -e $1/etc/localtime ]] || touch $1/etc/localtime
|
||||
chroot_mount "/etc/localtime" "$1/etc/localtime" -B
|
||||
fi
|
||||
|
||||
for cache_dir in ${cache_dirs[@]:1}; do
|
||||
chroot_mount "$cache_dir" "$1${cache_dir}" -Br
|
||||
|
||||
@@ -15,6 +15,21 @@
|
||||
. @libdir@/artools/util-base.sh
|
||||
. @libdir@/artools/util-iso.sh
|
||||
|
||||
gen_iso_fn(){
|
||||
local vars=("artix") name
|
||||
vars+=("${PROFILE}")
|
||||
vars+=("${INITSYS}")
|
||||
case "${REPOSITORY}" in
|
||||
'gremlins'|'goblins') vars+=("${REPOSITORY}") ;;
|
||||
esac
|
||||
vars+=("${ISO_VERSION}")
|
||||
vars+=("${ARCH}")
|
||||
for n in ${vars[@]};do
|
||||
name=${name:-}${name:+-}${n}
|
||||
done
|
||||
echo $name
|
||||
}
|
||||
|
||||
prepare_build(){
|
||||
timer_start=$(get_timer)
|
||||
|
||||
@@ -73,7 +88,9 @@ build(){
|
||||
lock_close 9
|
||||
|
||||
rm -rf --one-file-system "${work_dir}"
|
||||
clean_iso_root "${iso_root}"
|
||||
|
||||
msg "Deleting isoroot [%s] ..." "${iso_root##*/}"
|
||||
rm -rf --one-file-system "${iso_root}"
|
||||
fi
|
||||
|
||||
if ${iso_only}; then
|
||||
@@ -101,10 +118,9 @@ clean_first=true
|
||||
pretend=false
|
||||
images_only=false
|
||||
iso_only=false
|
||||
log=false
|
||||
persist=false
|
||||
|
||||
basestrap_args=()
|
||||
basestrap_args=(-GMc)
|
||||
cmd=${0##*/}
|
||||
|
||||
REPOSITORY=${cmd##*-}
|
||||
@@ -125,7 +141,6 @@ usage() {
|
||||
echo ' -x Build images only'
|
||||
echo ' -z Generate iso only'
|
||||
echo ' Requires pre built images (-x)'
|
||||
echo ' -l Log to file'
|
||||
echo ' -q Query settings and pretend build'
|
||||
echo ' -h This help'
|
||||
echo ''
|
||||
@@ -135,7 +150,7 @@ usage() {
|
||||
|
||||
orig_argv=("$0" "$@")
|
||||
|
||||
opts='p:r:t:i:g:czxmlqh'
|
||||
opts='p:r:t:i:g:czxmqh'
|
||||
|
||||
while getopts "${opts}" arg; do
|
||||
case "${arg}" in
|
||||
@@ -148,7 +163,6 @@ while getopts "${opts}" arg; do
|
||||
x) images_only=true ;;
|
||||
z) iso_only=true ;;
|
||||
m) persist=true ;;
|
||||
l) log=true ;;
|
||||
q) pretend=true ;;
|
||||
h|?) usage 0 ;;
|
||||
*) echo "invalid argument '${arg}'"; usage 1 ;;
|
||||
|
||||
@@ -159,15 +159,6 @@ load_config(){
|
||||
return 0
|
||||
}
|
||||
|
||||
user_own(){
|
||||
local flag=$2
|
||||
chown ${flag} "${OWNER}:$(id --group ${OWNER})" "$1"
|
||||
}
|
||||
|
||||
user_run(){
|
||||
su ${OWNER} -c "$@"
|
||||
}
|
||||
|
||||
load_user_info(){
|
||||
OWNER=${SUDO_USER:-$USER}
|
||||
|
||||
|
||||
@@ -29,11 +29,11 @@ prepare_initramfs(){
|
||||
fi
|
||||
|
||||
if [[ -n ${GPG_KEY} ]]; then
|
||||
user_run "gpg --export ${GPG_KEY} >${USERCONFDIR}/artools/gpgkey"
|
||||
exec 17<>${USERCONFDIR}/artools/GPG_KEY
|
||||
su ${OWNER} -c "gpg --export ${GPG_KEY} >/tmp/GPG_KEY"
|
||||
exec 17<>/tmp/GPG_KEY
|
||||
fi
|
||||
local _kernel=$(cat $mnt/usr/lib/modules/*/version)
|
||||
ARTIX_GNUPG_FD=${GPG_KEY:+17} chroot-run $mnt \
|
||||
ARTIX_GNUPG_FD=${GPG_KEY:+17} artools-chroot $mnt \
|
||||
/usr/bin/mkinitcpio -k ${_kernel} \
|
||||
-c /etc/mkinitcpio-artix.conf \
|
||||
-g /boot/initramfs.img
|
||||
@@ -41,8 +41,8 @@ prepare_initramfs(){
|
||||
if [[ -n ${GPG_KEY} ]]; then
|
||||
exec 17<&-
|
||||
fi
|
||||
if [[ -f ${USERCONFDIR}/artools/GPG_KEY ]]; then
|
||||
rm ${USERCONFDIR}/artools/GPG_KEY
|
||||
if [[ -f /tmp/GPG_KEY ]]; then
|
||||
rm /tmp/GPG_KEY
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -64,8 +64,9 @@ configure_grub(){
|
||||
}
|
||||
|
||||
prepare_grub(){
|
||||
local platform=i386-pc img='core.img' grub=$3/boot/grub efi=$3/efi/boot \
|
||||
lib=$1/usr/lib/grub prefix=/boot/grub theme=$2/usr/share/grub
|
||||
local platform=i386-pc img='core.img' prefix=/boot/grub
|
||||
local lib=$1/usr/lib/grub theme=$2/usr/share/grub
|
||||
local grub=$3/boot/grub efi=$3/efi/boot
|
||||
|
||||
prepare_dir ${grub}/${platform}
|
||||
|
||||
|
||||
@@ -12,33 +12,12 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
gen_iso_fn(){
|
||||
local vars=("artix") name
|
||||
vars+=("${PROFILE}")
|
||||
vars+=("${INITSYS}")
|
||||
case "${REPOSITORY}" in
|
||||
'gremlins'|'goblins') vars+=("${REPOSITORY}") ;;
|
||||
esac
|
||||
vars+=("${ISO_VERSION}")
|
||||
vars+=("${ARCH}")
|
||||
for n in ${vars[@]};do
|
||||
name=${name:-}${name:+-}${n}
|
||||
done
|
||||
echo $name
|
||||
}
|
||||
|
||||
clean_iso_root(){
|
||||
local dest="$1"
|
||||
msg "Deleting isoroot [%s] ..." "${dest##*/}"
|
||||
rm -rf --one-file-system "$dest"
|
||||
}
|
||||
|
||||
make_sig () {
|
||||
local idir="$1" file="$2"
|
||||
msg2 "Creating signature file..."
|
||||
cd "$idir"
|
||||
user_own "$idir"
|
||||
user_run "gpg --detach-sign --default-key ${GPG_KEY} $file.sfs"
|
||||
chown "${OWNER}:$(id --group ${OWNER})" "$idir"
|
||||
su ${OWNER} -c "gpg --detach-sign --default-key ${GPG_KEY} $file.sfs"
|
||||
chown -R root "$idir"
|
||||
cd ${OLDPWD}
|
||||
}
|
||||
|
||||
@@ -27,20 +27,6 @@ error_function() {
|
||||
exit 2
|
||||
}
|
||||
|
||||
# $1: function
|
||||
run_log(){
|
||||
local func="$1" log_dir='/var/log/artools'
|
||||
[[ ! -d $log_dir ]] && mkdir -p $log_dir
|
||||
local logfile=${log_dir}/$(gen_iso_fn).$func.log
|
||||
logpipe=$(mktemp -u "/tmp/$func.pipe.XXXXXXXX")
|
||||
mkfifo "$logpipe"
|
||||
tee "$logfile" < "$logpipe" &
|
||||
local teepid=$!
|
||||
$func &> "$logpipe"
|
||||
wait $teepid
|
||||
rm "$logpipe"
|
||||
}
|
||||
|
||||
run_safe() {
|
||||
local restoretrap func="$1"
|
||||
set -e
|
||||
@@ -48,11 +34,7 @@ run_safe() {
|
||||
restoretrap=$(trap -p ERR)
|
||||
trap 'error_function $func' ERR
|
||||
|
||||
if ${log};then
|
||||
run_log "$func"
|
||||
else
|
||||
"$func"
|
||||
fi
|
||||
"$func"
|
||||
|
||||
eval $restoretrap
|
||||
set +E
|
||||
@@ -132,11 +114,6 @@ clean_up_image(){
|
||||
if [[ -d $path ]];then
|
||||
find "$path" -mindepth 1 -delete &> /dev/null
|
||||
fi
|
||||
|
||||
# if [[ ${mnt##*/} == 'livefs' ]];then
|
||||
# rm -rf "$mnt/etc/pacman.d/gnupg"
|
||||
# fi
|
||||
|
||||
find "$mnt" -name *.pacnew -name *.pacsave -name *.pacorig -delete
|
||||
if [[ -f "$mnt/boot/grub/grub.cfg" ]]; then
|
||||
rm $mnt/boot/grub/grub.cfg
|
||||
@@ -153,8 +130,7 @@ make_rootfs() {
|
||||
|
||||
prepare_dir "${rootfs}"
|
||||
|
||||
basestrap -GMc "${basestrap_args[@]}" "${rootfs}" "${packages[@]}"
|
||||
echo "${CHROOTVERSION}" > "${rootfs}/.artools"
|
||||
basestrap "${basestrap_args[@]}" "${rootfs}" "${packages[@]}"
|
||||
|
||||
copy_overlay "${ROOT_OVERLAY}" "${rootfs}"
|
||||
|
||||
@@ -175,7 +151,7 @@ make_livefs() {
|
||||
|
||||
mount_overlay "${livefs}" "${work_dir}"
|
||||
|
||||
basestrap -GMc "${basestrap_args[@]}" "${livefs}" "${packages[@]}"
|
||||
basestrap "${basestrap_args[@]}" "${livefs}" "${packages[@]}"
|
||||
|
||||
copy_overlay "${LIVE_OVERLAY}" "${livefs}"
|
||||
|
||||
@@ -234,7 +210,7 @@ make_grub(){
|
||||
compress_images(){
|
||||
local timer=$(get_timer)
|
||||
run_safe "make_iso"
|
||||
user_own "${iso_dir}" "-R"
|
||||
chown -R "${OWNER}:$(id --group ${OWNER})" "${iso_dir}"
|
||||
show_elapsed_time "${FUNCNAME}" "${timer}"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user