if [ "$FSTYPE" = "btrfs" ]
then
# each container modifies its own version
- cp --archive $BASE_CONTAINER_PATH/rootfs/* $CONTAINER_BUILDROOT
+ cp --archive --reflink=always \
+ $BASE_CONTAINER_PATH/rootfs/* $CONTAINER_BUILDROOT
else
for FQ_DIRECTORY in $BASE_CONTAINER_PATH/rootfs/*
do
--releasever=$DNF_RELEASEVER \
install $SPEC_PACKAGES
fi
+ dnf --installroot=$CONTAINER_BUILDROOT \
+ list --installed >$CONTAINER_BUILDROOT/c3d/rpm.list
dnf --assumeyes \
--config=$DNF_CONFIG \
--disablerepo=* \
{
echo "Creating and populating the container creation and configuration directory."
- if [ -d $CONTAINER_SOURCE_PATH/c3d ]
+ if [ ! -d $CONTAINER_SOURCE_PATH/c3d ]
then
- cp --archive $CONTAINER_SOURCE_PATH/c3d $CONTAINER_BUILDROOT
- find $CONTAINER_BUILDROOT/c3d -type d -print0 \
- | xargs --null chmod 755
- find $CONTAINER_BUILDROOT/c3d -type f -print0 \
- | xargs --null chmod 644
- chown --recursive root:root $CONTAINER_BUILDROOT/c3d
+ echo "No container creation and configuration directory, exiting." >&2
fi
+ cp --archive $CONTAINER_SOURCE_PATH/c3d $CONTAINER_BUILDROOT
+ find $CONTAINER_BUILDROOT/c3d -type d -print0 \
+ | xargs --null chmod 755
+ find $CONTAINER_BUILDROOT/c3d -type f -print0 \
+ | xargs --null chmod 644
+ chown --recursive root:root $CONTAINER_BUILDROOT/c3d
+
+ TMP_FILE=$(mktemp)
+ find $CONTAINER_BUILDROOT/c3d -type f -name "*.$SHORT_HOSTNAME" >$TMP_FILE
+ cat $TMP_FILE | while read HOST_SPECIFIC_FQ_FILENAME
+ do
+ FQ_PATH=$(dirname $HOST_SPECIFIC_FQ_FILENAME)
+ GENERAL_FILENAME=$(basename $HOST_SPECIFIC_FQ_FILENAME .$SHORT_HOSTNAME)
+ mv $HOST_SPECIFIC_FQ_FILENAME $FQ_PATH/$GENERAL_FILENAME
+ rm --force $FQ_PATH/${GENERAL_FILENAME}.*
+ done
+ rm --force $TMP_FILE
+
MODE_LIST=$CONTAINER_BUILDROOT/c3d/mode.txt
if [ -f $MODE_LIST ]
then
RC=$?
if [ $RC -ne 0 ]
then
- echo "File checksums differ, exiting" >&2
+ echo "File checksums differ, exiting." >&2
umount $CONTAINER_BUILDROOT/dev
umount $CONTAINER_BUILDROOT/proc
umount $CONTAINER_BUILDROOT/sys
create_and_populate_build_path
populate_c3d
+RC=$?
+if [ $RC -ne 0 ]
+then
+ exit $RC
+fi
preinstall