[arch-projects] [DEVTOOLS][PATCH 4/6] makechrootpkg: Use random copy directory with btrfs

Jan Steffens jan.steffens at gmail.com
Sat Mar 2 01:15:34 EST 2013


On Sat, Mar 2, 2013 at 5:21 AM, Sébastien Luttringer <seblu at seblu.net> wrote:
> btrfs COW allow almost gratuitous create/destroy chroot copy.
>
> To allow automatic parallel builds the default copy value is $RANDOM when the
> underlying filesytem is btrfs.
>
> Signed-off-by: Sébastien Luttringer <seblu at seblu.net>
> ---
>  makechrootpkg.in | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/makechrootpkg.in b/makechrootpkg.in
> index c8b5f87..7a780df 100644
> --- a/makechrootpkg.in
> +++ b/makechrootpkg.in
> @@ -55,7 +55,7 @@ usage() {
>         echo '-I <pkg>   Install a package into the working copy of the chroot'
>         echo '-l <copy>  The directory to use as the working copy of the chroot'
>         echo '           Useful for maintaining multiple copies.'
> -       echo "           Default: $default_copy"
> +       echo "           Default: $default_copy or random for btrfs"
>         echo '-n         Run namcap on the package'
>         exit 1
>  }
> @@ -80,12 +80,17 @@ chrootdir=$(readlink -e "$passeddir")
>  # Detect chrootdir filesystem type
>  chroottype=$(stat -f -c %T "$chrootdir")
>
> +# Define copy directory
>  if [[ ${copy:0:1} = / ]]; then
>         copydir=$copy
> -else
> -       [[ -z $copy ]] && copy=$default_copy
> +elif [[ -n $copy ]]; then
>         copydir="$chrootdir/$copy"
> +elif [[ "$chroottype" == btrfs ]]; then
> +       copydir="$chrootdir/$RANDOM"
> +else
> +       copydir="$chrootdir/$default_copy"
>  fi
> +copy=${copydir##*/}
>
>  # Pass all arguments after -- right to makepkg
>  makepkg_args="$makepkg_args ${*:$OPTIND}"
> --
> Sébastien "Seblu" Luttringer
>

NACK. See comment to patch 6/6.


More information about the arch-projects mailing list