diff --git a/.github/workflows/pkr-bld-hyperv-x64.yml b/.github/workflows/pkr-bld-hyperv-x64.yml index 833ce338c..7002d7f76 100644 --- a/.github/workflows/pkr-bld-hyperv-x64.yml +++ b/.github/workflows/pkr-bld-hyperv-x64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - hyperv-iso steps: diff --git a/.github/workflows/pkr-bld-parallels-arm64.yml b/.github/workflows/pkr-bld-parallels-arm64.yml index bff77b456..6934da07f 100644 --- a/.github/workflows/pkr-bld-parallels-arm64.yml +++ b/.github/workflows/pkr-bld-parallels-arm64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - parallels-iso steps: diff --git a/.github/workflows/pkr-bld-parallels-x64.yml b/.github/workflows/pkr-bld-parallels-x64.yml index 11edaa951..9af99ba4c 100644 --- a/.github/workflows/pkr-bld-parallels-x64.yml +++ b/.github/workflows/pkr-bld-parallels-x64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - parallels-iso steps: diff --git a/.github/workflows/pkr-bld-qemu-arm64.yml b/.github/workflows/pkr-bld-qemu-arm64.yml index 876ce673c..944f8c95f 100644 --- a/.github/workflows/pkr-bld-qemu-arm64.yml +++ b/.github/workflows/pkr-bld-qemu-arm64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - qemu steps: diff --git a/.github/workflows/pkr-bld-qemu-x64.yml b/.github/workflows/pkr-bld-qemu-x64.yml index 00bfb54bd..5bb0eee9b 100644 --- a/.github/workflows/pkr-bld-qemu-x64.yml +++ b/.github/workflows/pkr-bld-qemu-x64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - qemu steps: diff --git a/.github/workflows/pkr-bld-virtualbox-arm64.yml b/.github/workflows/pkr-bld-virtualbox-arm64.yml index 8ed632243..d649e759c 100644 --- a/.github/workflows/pkr-bld-virtualbox-arm64.yml +++ b/.github/workflows/pkr-bld-virtualbox-arm64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - virtualbox-iso steps: diff --git a/.github/workflows/pkr-bld-virtualbox-x64.yml b/.github/workflows/pkr-bld-virtualbox-x64.yml index 430553b7a..2aafba2ae 100644 --- a/.github/workflows/pkr-bld-virtualbox-x64.yml +++ b/.github/workflows/pkr-bld-virtualbox-x64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - virtualbox-iso steps: diff --git a/.github/workflows/pkr-bld-vmware-arm64.yml b/.github/workflows/pkr-bld-vmware-arm64.yml index 50eb01295..567e56ccd 100644 --- a/.github/workflows/pkr-bld-vmware-arm64.yml +++ b/.github/workflows/pkr-bld-vmware-arm64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - vmware-iso steps: diff --git a/.github/workflows/pkr-bld-vmware-x64.yml b/.github/workflows/pkr-bld-vmware-x64.yml index 81f0ac17d..71a95f361 100644 --- a/.github/workflows/pkr-bld-vmware-x64.yml +++ b/.github/workflows/pkr-bld-vmware-x64.yml @@ -32,7 +32,7 @@ jobs: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 provider: - vmware-iso steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 7614fe303..1a3583a05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,7 +35,7 @@ Markdown table generated at | solaris-11 | license
needed | license
needed | na | license
needed | na | license
needed | na | license
needed | na | | ubuntu-20.04 | | | x | | | x | | x | x | | ubuntu-22.04 | | x | | | | x | | | | -| ubuntu-24.04 | | | | | | | | | | +| ubuntu-24.04 | | x | x | | | x | | x | x | | windows-10 | | | na | | na | x | na | | na | | windows-11 | | x | x | | | x | | x | | | windows-2016 | | x | na | | na | x | na | x | na | @@ -54,9 +54,9 @@ Markdown table generated at - Create CD pipeline to upload vagrant boxes after PR is merged - Create CD pipeline to build and upload new versions of vagrant boxes once every 3 months with the latest patches -## [unreleased] (2024-04-24) +## [unreleased] (2024-04-26) -## [v4.1.1] (2024-04-24) +## [v4.1.1] (2024-04-26) - Require ruby >= 3.0.0 - Add parallels-ipsw source @@ -67,6 +67,7 @@ Markdown table generated at - Added build_files directory for all temp files to be stored in during packer building - Opensuse-leap-15.5 updated to 15.6 - Remove Fedora 38 and add 40 builds +- Remove Ubuntu 23.10 and add 24.04 builds ## [v4.1.0] (2024-04-11) diff --git a/builds.yml b/builds.yml index 886c370b6..373d0b86d 100644 --- a/builds.yml +++ b/builds.yml @@ -27,7 +27,7 @@ public: - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-23.10 + - ubuntu-24.04 # slug box name: text string from standard box name to match slugs: diff --git a/lib/bento/cli.rb b/lib/bento/cli.rb index 28601c0fb..696dd5c7d 100644 --- a/lib/bento/cli.rb +++ b/lib/bento/cli.rb @@ -85,7 +85,7 @@ def self.parse(args) options.metadata_only = opt end - opts.on('--on-error', '[cleanup|abort|ask|run-cleanup-provisioner] If the build fails do: clean up (default), abort, ask, or run-cleanup-provisioner.') do |opt| + opts.on('--on-error OPT', '[cleanup|abort|ask|run-cleanup-provisioner] If the build fails do: clean up (default), abort, ask, or run-cleanup-provisioner.') do |opt| options.on_error = opt end diff --git a/lib/bento/test.rb b/lib/bento/test.rb index 0d733aa15..5bdbc4952 100644 --- a/lib/bento/test.rb +++ b/lib/bento/test.rb @@ -27,7 +27,9 @@ def start end end banner("Testing finished in #{duration(time.real)}.") - unless errors.empty? + if errors.empty? + banner('All tests passed.') + else raise("Failed Tests:\n#{errors.join("\n")}\nexited #{$CHILD_STATUS}") end end diff --git a/os_pkrvars/macos/macos-14-x86_64.pkrvars.hcl b/os_pkrvars/macos/macos-14-x86_64.pkrvars.hcl deleted file mode 100644 index 3f90b4808..000000000 --- a/os_pkrvars/macos/macos-14-x86_64.pkrvars.hcl +++ /dev/null @@ -1,73 +0,0 @@ -os_name = "macos" -os_version = "14.4.1" -os_arch = "x86_64" -parallels_ipsw_url = "https://updates.cdn-apple.com/2024WinterFCS/fullrestores/052-77579/4569734E-120C-4F31-AD08-FC1FF825D059/UniversalMac_14.4.1_23E224_Restore.ipsw" -parallels_ipsw_checksum = "78b39816521a6eeaf29221a4e59e83dae98ef5f9e8e718b846f8faab540a48c1" -sources_enabled = ["source.parallels-ipsw.vm"] -boot_command = [ - # hello, hola, bonjour, etc. - "", - # Select Language English (US) - "", - # Select Your Country and Region - "", - # Written and Spoken Languages - "", - # Accessibility - "", - # Data & Privacy - "", - # Migration Assistant - "", - # Sign In with Your Apple ID - "", - # Are you sure you want to skip signing in with an Apple ID? - "", - # Terms and Conditions - "", - # I have read and agree to the macOS Software License Agreement - "", - # Create a Computer Account - "vagrantvagrantvagrant", - # Enable Location Services - "", - # Are you sure you don't want to use Location Services? - "", - # Select Your Time Zone - "UTC", - # Analytics - "", - # Screen Time - "", - # Siri - "", - # Choose Your Look - "", - # Enable keyboard navigation - "", - # Open System Settings - "SystemSettings", - # Enable Remote Management - "", - "", - # Enable Remote Login - "", - # Close System Preferences - "q", - # Disable keyboard navigation - "", - # Open Terminal - "terminal", - # Add vagrant user to sudoers - "echo 'vagrant' | sudo -S sh -c 'echo \"vagrant ALL=(ALL) NOPASSWD: ALL\" > /etc/sudoers.d/vagrant'", - # Set Auto login for vagrant - "sudo sysadminctl -autologin set -userName vagrant -password vagrant", - # Disable screen lock - "sudo sysadminctl -screenLock off -password vagrant", - # Install Parallels Tools - "sudo installer -pkg /Volumes/Parallels\\ Tools/Install.app/Contents/Resources/Install.mpkg -target /", - # Reboot - "sudo shutdown -r +15s", - "exit", - "q" -] diff --git a/os_pkrvars/ubuntu/ubuntu-23.10-aarch64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-24.04-aarch64.pkrvars.hcl similarity index 69% rename from os_pkrvars/ubuntu/ubuntu-23.10-aarch64.pkrvars.hcl rename to os_pkrvars/ubuntu/ubuntu-24.04-aarch64.pkrvars.hcl index 770a5671a..f3625a163 100644 --- a/os_pkrvars/ubuntu/ubuntu-23.10-aarch64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-24.04-aarch64.pkrvars.hcl @@ -1,8 +1,8 @@ os_name = "ubuntu" -os_version = "23.10" +os_version = "24.04" os_arch = "aarch64" -iso_url = "https://cdimage.ubuntu.com/releases/mantic/release/ubuntu-23.10-live-server-arm64.iso" -iso_checksum = "file:https://cdimage.ubuntu.com/releases/mantic/release/SHA256SUMS" +iso_url = "https://cdimage.ubuntu.com/releases/noble/release/ubuntu-24.04-live-server-arm64.iso" +iso_checksum = "file:https://cdimage.ubuntu.com/releases/noble/release/SHA256SUMS" parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "arm-ubuntu-64" diff --git a/os_pkrvars/ubuntu/ubuntu-23.10-x86_64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-24.04-x86_64.pkrvars.hcl similarity index 61% rename from os_pkrvars/ubuntu/ubuntu-23.10-x86_64.pkrvars.hcl rename to os_pkrvars/ubuntu/ubuntu-24.04-x86_64.pkrvars.hcl index 43a2a3941..ef40daf4f 100644 --- a/os_pkrvars/ubuntu/ubuntu-23.10-x86_64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-24.04-x86_64.pkrvars.hcl @@ -1,8 +1,8 @@ os_name = "ubuntu" -os_version = "23.10" +os_version = "24.04" os_arch = "x86_64" -iso_url = "https://releases.ubuntu.com/mantic/ubuntu-23.10-live-server-amd64.iso" -iso_checksum = "file:https://releases.ubuntu.com/mantic/SHA256SUMS" +iso_url = "https://releases.ubuntu.com/noble/ubuntu-24.04-live-server-amd64.iso" +iso_checksum = "file:https://releases.ubuntu.com/noble/SHA256SUMS" parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "ubuntu-64" diff --git a/packer_templates/http/ubuntu/user-data b/packer_templates/http/ubuntu/user-data index d9393c65d..5e619f9a5 100644 --- a/packer_templates/http/ubuntu/user-data +++ b/packer_templates/http/ubuntu/user-data @@ -13,8 +13,10 @@ autoinstall: install-server: yes allow-pw: yes late-commands: - # - sed -i 's/^#*\(send dhcp-client-identifier\).*$/\1 = hardware;/' /target/etc/dhcp/dhclient.conf - - 'sed -i "s/dhcp4: true/&\n dhcp-identifier: mac/" /target/etc/netplan/00-installer-config.yaml' + - | + if [ -f /target/etc/netplan/00-installer-config.yaml ]; then + 'sed -i "s/dhcp4: true/&\n dhcp-identifier: mac/" /target/etc/netplan/00-installer-config.yaml' + fi - echo 'vagrant ALL=(ALL) NOPASSWD:ALL' > /target/etc/sudoers.d/vagrant # Enable hyper-v daemons only if using hyper-v virtualization - if [ $(virt-what) == "hyperv" ]; then apt-get update && apt-get install -y hyperv-daemons linux-tools-$(uname -r) linux-cloud-tools-$(uname -r) linux-cloud-tools-common cifs-utils && systemctl enable hypervvssd && systemctl enable hypervkvpd && systemctl start hypervvssd && systemctl start hypervkvpd; fi diff --git a/packer_templates/pkr-sources.pkr.hcl b/packer_templates/pkr-sources.pkr.hcl index b6ac9babb..1b0e9367c 100644 --- a/packer_templates/pkr-sources.pkr.hcl +++ b/packer_templates/pkr-sources.pkr.hcl @@ -159,7 +159,6 @@ source "parallels-ipsw" "vm" { prlctl = local.parallels_prlctl prlctl_post = var.parallels_prlctl_post prlctl_version_file = var.parallels_prlctl_version_file - sound = false # Source block common options boot_command = var.boot_command boot_wait = var.parallels_boot_wait == null ? local.default_boot_wait : var.parallels_boot_wait diff --git a/packer_templates/scripts/macos/shrink.sh b/packer_templates/scripts/macos/shrink.sh index 683e8443d..40ab54ccd 100644 --- a/packer_templates/scripts/macos/shrink.sh +++ b/packer_templates/scripts/macos/shrink.sh @@ -21,13 +21,27 @@ echo 'Turn off hibernation and get rid of the sleepimage' pmset hibernatemode 0 rm -f /var/vm/sleepimage -echo 'Stop the pager process and drop swap files. These will be re-created on boot.' -# Starting with El Cap we can only stop the dynamic pager if SIP is disabled. -if csrutil status | grep -q disabled; then - launchctl unload /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist - sleep 5 -fi -rm -rf /private/var/vm/swap* +echo 'Remove Screensaver video files' +rm -rf /Library/Application Support/com.apple.idleassetsd/Customer/* || echo "rm screensaver videos exit code $? is suppressed" + +echo 'Remove user files' +rm -rf /Users/vagrant/* || echo "rm vagrant user files exit code $? is suppressed" +rm -rf /var/root/* || echo "rm root user files exit code $? is suppressed" + +echo 'Remove system caches' +rm -rf /Library/Caches/* || echo "rm library caches exit code $? is suppressed" +rm -rf /System/Library/Caches/* || echo "rm system library caches exit code $? is suppressed" + +echo 'Remove logs' +rm -rf /Library/Logs/* || echo "rm library logs exit code $? is suppressed" + +echo 'Remove swap file' +rm -rf /System/Volumes/VM/swapfile* || echo "rm swapfile exit code $? is suppressed" + +#echo 'Whiteout root' +#dd if=/dev/zero of=/tmp/whitespace bs=1M || echo "dd root exit code $? is suppressed" +#sync +#rm /tmp/whitespace || echo "rm tmp/whitespace exit code $? is suppressed" echo 'VMware Fusion specific items' if [ -e .vmfusion_version ] || [[ "$PACKER_BUILDER_TYPE" == vmware* ]]; then