From 1d3003ecd9a0306bd7880e6f9b84a0305d47664d Mon Sep 17 00:00:00 2001 From: udeved Date: Sun, 30 Apr 2017 09:13:19 +0200 Subject: [PATCH] buildpkg & buildiso: several fixes --- bin/buildiso.in | 3 ++- bin/buildpkg.in | 6 +++--- lib/util-chroot.sh | 2 ++ lib/util-iso-chroot.sh | 2 +- lib/util-iso-mount.sh | 4 ++++ lib/util-iso.sh | 18 +++++++----------- 6 files changed, 19 insertions(+), 16 deletions(-) diff --git a/bin/buildiso.in b/bin/buildiso.in index 0ed9216..6e96a5e 100755 --- a/bin/buildiso.in +++ b/bin/buildiso.in @@ -52,7 +52,8 @@ prepare_build(){ } show_profile(){ - prepare_profile "$1" + local prof="$1" + prepare_build "$prof" msg2 "iso_file: %s" "${iso_file}" if ${verbose};then msg2 "autologin: %s" "${autologin}" diff --git a/bin/buildpkg.in b/bin/buildpkg.in index cee8080..4018601 100644 --- a/bin/buildpkg.in +++ b/bin/buildpkg.in @@ -151,7 +151,7 @@ usage() { orig_argv=("$0" "$@") -opts='p:a:b:r:i:cdownsxdqh' +opts='p:a:b:r:i:odcuwnsxqh' while getopts "${opts}" arg; do case "${arg}" in @@ -164,10 +164,10 @@ while getopts "${opts}" arg; do d) delete_first=true ;; c) clean_first=true ; mkchrootpkg_args+=(-c) ;; u) update_first=true ; mkchrootpkg_args+=(-u) ;; - w) wipe_clean=true ;; + w) purge=true ;; n) namcap=true; mkchrootpkg_args+=(-n) ;; s) sign=true ;; - d) udev_root=true ;; + x) udev_root=true ;; q) pretend=true ;; h|?) usage 0 ;; *) echo "invalid argument '%s'" "${arg}"; usage 1 ;; diff --git a/lib/util-chroot.sh b/lib/util-chroot.sh index ebd6819..216a59b 100644 --- a/lib/util-chroot.sh +++ b/lib/util-chroot.sh @@ -46,6 +46,8 @@ subvolume_delete_recursive() { create_chroot(){ local timer=$(get_timer) + local dest="$1" + prepare_dir "$dest" setarch "${target_arch}" \ mkchroot "${mkchroot_args[@]}" "$@" || abort diff --git a/lib/util-iso-chroot.sh b/lib/util-iso-chroot.sh index 00478de..deef960 100644 --- a/lib/util-iso-chroot.sh +++ b/lib/util-iso-chroot.sh @@ -261,7 +261,7 @@ chroot_clean(){ local name=${root##*/} if [[ $name != "mhwdfs" ]];then lock 9 "$name.lock" "Locking chroot copy [%s]" "$name" - delete_chroot "$dest" "${root}" + delete_chroot "${root}" "$dest" fi done diff --git a/lib/util-iso-mount.sh b/lib/util-iso-mount.sh index 0cce750..fe1a950 100644 --- a/lib/util-iso-mount.sh +++ b/lib/util-iso-mount.sh @@ -38,24 +38,28 @@ track_fs() { mount_fs_root(){ FS_ACTIVE_MOUNTS=() mkdir -p "${mnt_dir}/work" + mkdir -p "$1" track_fs -t overlay overlay -olowerdir="${work_dir}/rootfs",upperdir="$1",workdir="${mnt_dir}/work" "$1" } mount_fs_desktop(){ FS_ACTIVE_MOUNTS=() mkdir -p "${mnt_dir}/work" + mkdir -p "$1" track_fs -t overlay overlay -olowerdir="${work_dir}/desktopfs":"${work_dir}/rootfs",upperdir="$1",workdir="${mnt_dir}/work" "$1" } mount_fs_live(){ FS_ACTIVE_MOUNTS=() mkdir -p "${mnt_dir}/work" + mkdir -p "$1" track_fs -t overlay overlay -olowerdir="${work_dir}/livefs":"${work_dir}/desktopfs":"${work_dir}/rootfs",upperdir="$1",workdir="${mnt_dir}/work" "$1" } mount_fs_net(){ FS_ACTIVE_MOUNTS=() mkdir -p "${mnt_dir}/work" + mkdir -p "$1" track_fs -t overlay overlay -olowerdir="${work_dir}/livefs":"${work_dir}/rootfs",upperdir="$1",workdir="${mnt_dir}/work" "$1" } diff --git a/lib/util-iso.sh b/lib/util-iso.sh index a9bd17d..333ed8a 100644 --- a/lib/util-iso.sh +++ b/lib/util-iso.sh @@ -280,9 +280,8 @@ make_image_root() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then msg "Prepare [Base installation] (rootfs)" local path="${work_dir}/rootfs" -# mkdir -p ${path} - create_chroot "-L" "${path}" "${packages[@]}" || die + create_chroot "${path}" "${packages[@]}" || die pacman -Qr "${path}" > "${path}/rootfs-pkgs.txt" copy_overlay "${profile_dir}/root-overlay" "${path}" @@ -301,11 +300,10 @@ make_image_desktop() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then msg "Prepare [Desktop installation] (desktopfs)" local path="${work_dir}/desktopfs" -# mkdir -p ${path} mount_fs_root "${path}" - create_chroot "${path}" "${packages[@]}" + create_chroot "${path}" "${packages[@]}" || die pacman -Qr "${path}" > "${path}/desktopfs-pkgs.txt" cp "${path}/desktopfs-pkgs.txt" ${iso_dir}/$(gen_iso_fn)-pkgs.txt @@ -322,7 +320,7 @@ make_image_desktop() { mount_fs_select(){ local fs="$1" - if [[ -f "${pkglist_desktop}" ]]; then + if [[ -f "${desktop_list}" ]]; then mount_fs_desktop "$fs" else mount_fs_root "$fs" @@ -333,11 +331,10 @@ make_image_live() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then msg "Prepare [Live installation] (livefs)" local path="${work_dir}/livefs" -# mkdir -p ${path} mount_fs_select "${path}" - create_chroot "${path}" "${packages[@]}" + create_chroot "${path}" "${packages[@]}" || die pacman -Qr "${path}" > "${path}/livefs-pkgs.txt" copy_overlay "${profile_dir}/live-overlay" "${path}" @@ -393,9 +390,8 @@ make_image_boot() { cp ${work_dir}/rootfs/boot/vmlinuz* ${boot}/vmlinuz-${target_arch} local path="${work_dir}/bootfs" - mkdir -p ${path} - if [[ -f "${pkglist_desktop}" ]]; then + if [[ -f "${desktop_list}" ]]; then mount_fs_live "${path}" else mount_fs_net "${path}" @@ -480,8 +476,8 @@ prepare_images(){ local timer=$(get_timer) load_pkgs "${profile_dir}/Packages-Root" run_safe "make_image_root" - if [[ -f "${pkglist_desktop}" ]] ; then - load_pkgs "${pkglist_desktop}" + if [[ -f "${desktop_list}" ]] ; then + load_pkgs "${desktop_list}" run_safe "make_image_desktop" fi if [[ -f ${profile_dir}/Packages-Live ]]; then