#!/bin/bash -eux # vi: ts=4 expandtab # # Generate the compressed root directory for WSL case ${SUBPROJECT:-} in minimized) echo "Skipping minimized $0 build as WSL systems are designed to be interactive" exit 0 ;; *) ;; esac case $ARCH in amd64|arm64) ;; *) echo "WSL root tarballs are not generated for $ARCH." exit 0;; esac if [ -n "${SUBARCH:-}" ]; then echo "Skipping rootfs build for subarch flavor build" exit 0 fi . config/functions rootfs_dir=wslroot.dir # This is the directory created by create-root-dir.binary cp -a rootfs.dir $rootfs_dir setup_mountpoint $rootfs_dir env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get -y -qq install ubuntu-wsl env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get autoremove --purge --assume-yes create_manifest $rootfs_dir livecd.ubuntu-cpc.wsl.rootfs.manifest teardown_mountpoint $rootfs_dir # remove attributes not supported by WSL's tar if [ -d $rootfs_dir/var/log/journal ]; then setfattr -x system.posix_acl_access $rootfs_dir/var/log/journal setfattr -x system.posix_acl_default $rootfs_dir/var/log/journal fi # The reason not using just tar .. -C $rootfs_dir . is that using '.' was found # not working once and checking if using the simpler command is safe needs # verification of the app installation on all Windows 10 builds we support # with WSL. cd $rootfs_dir tar --xattrs --sort=name -czf ../livecd.ubuntu-cpc.wsl.rootfs.tar.gz * cd .. rm -rf $rootfs_dir