From 5a53540f74fe299803280b10f99cb698aa53aa5f Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Sat, 16 Oct 2010 23:42:31 -0500 Subject: [PATCH] script/makepkg: load saved configuration when preparing chroot; saving must be done manually --- script/makepkg | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/script/makepkg b/script/makepkg index a4bad4c..e34163e 100755 --- a/script/makepkg +++ b/script/makepkg @@ -53,6 +53,10 @@ chprepare() { mkdir -p "${pkg_dir}" || wtf "mkdir ${chroot_pkg_dir} failed" mkdir -p "${bdeps_dir}" || wtf "mkdir ${chroot_bdeps_dir} failed" + # Copy in cached configuration, if necessary + [ -f "${conf_dir}/make.conf" ] && cp -p "${conf_dir}/make.conf" "${chroot_dir}/etc/make.conf" + [ -f "${conf_dir}/port_options.cpio" ] && ( cd ${chroot_dir}/var/db/ports; cpio -iv ) < "${conf_dir}/port_options.cpio" + trap "" exit hup int term kill meh "Chroot tree set up in ${chroot_dir}" @@ -255,14 +259,16 @@ port_rmconfig_all() { # Restore port build options from cpio port_load_config() { + [ -f "${conf_dir}/port_options.cpio" ] || return 0 meh "port load-config" - cheval "cd /var/db/ports; cpio -iv" + cheval "cd /var/db/ports; cpio -iv" < "${conf_dir}/port_options.cpio" } # Dump port build options to cpio port_save_config() { meh "port save-config" - cheval "cd /var/db/ports; find . -type d -o -type f -name options | cpio -ovHnewc" + cheval "cd /var/db/ports; find . -type d -o -type f -name options | cpio -ovHnewc" > "${conf_dir}/port_options.cpio.tmp" || wtf "port save-config failed" + mv -f "${conf_dir}/port_options.cpio.tmp" "${conf_dir}/port_options.cpio" || wtf "port save-config atomic commit failed" } ######## @@ -384,6 +390,9 @@ ROOT="$(realpath "$(dirname "${0}")/../worlds")" # Base directory for everything base_dir="${ROOT}/${TARGET}/${CONFIG}" +# Directory holding configuration +conf_dir="${base_dir}/config" + # Root tree for chroot seeding seed_dir="${base_dir}/root" -- 2.42.0