message: Add FreeBSD-12.1 definitions

diff:
+{
+ "builders": [
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} && bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "memory": "{{ user `memory` }}",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_additions_mode": "disable",
+ "guest_os_type": "FreeBSD_64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{template_dir}}/http",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_checksum_type": "{{user `iso_checksum_type`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_username": "vagrant",
+ "ssh_wait_timeout": "10000s",
+ "type": "virtualbox-iso",
+ "virtualbox_version_file": ".vbox_version",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "<wait5>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} && bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "memory": "{{ user `memory` }}",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd-64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{template_dir}}/http",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_checksum_type": "{{user `iso_checksum_type`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_username": "vagrant",
+ "ssh_wait_timeout": "10000s",
+ "type": "vmware-iso",
+ "vm_name": "{{ user `template` }}",
+ "vmx_data": {
+ "cpuid.coresPerSocket": "1"
+ },
+ "vmx_remove_ethernet_interfaces": true
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} && bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "8s",
+ "memory": "{{ user `memory` }}",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "http_directory": "{{template_dir}}/http",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_checksum_type": "{{user `iso_checksum_type`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
+ "parallels_tools_mode": "disable",
+ "prlctl": [
+ [
+ "set",
+ "{{.Name}}",
+ "--device-set",
+ "cdrom0",
+ "--iface",
+ "ide"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "fdd0"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "parallel0"
+ ]
+ ],
+ "prlctl_version_file": ".prlctl_version",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_username": "vagrant",
+ "ssh_wait_timeout": "10000s",
+ "type": "parallels-iso",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} && bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "7s",
+ "memory": "{{ user `memory` }}",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{template_dir}}/http",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_checksum_type": "{{user `iso_checksum_type`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_username": "vagrant",
+ "ssh_wait_timeout": "10000s",
+ "type": "qemu",
+ "vm_name": "{{ user `template` }}"
+ }
+ ],
+ "post-processors": [
+ {
+ "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
+ "type": "vagrant",
+ "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
+ }
+ ],
+ "provisioners": [
+ {
+ "environment_vars": [
+ "HOME_DIR=/home/vagrant",
+ "http_proxy={{user `http_proxy`}}",
+ "https_proxy={{user `https_proxy`}}",
+ "no_proxy={{user `no_proxy`}}",
+ "pkg_branch={{user `pkg_branch`}}"
+ ],
+ "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/update.sh",
+ "{{template_dir}}/scripts/postinstall.sh",
+ "{{template_dir}}/scripts/sudoers.sh",
+ "{{template_dir}}/../_common/vagrant.sh",
+ "{{template_dir}}/scripts/vmtools.sh",
+ "{{template_dir}}/scripts/cleanup.sh",
+ "{{template_dir}}/scripts/minimize.sh"
+ ],
+ "type": "shell"
+ }
+ ],
+ "variables": {
+ "box_basename": "freebsd-12.1",
+ "build_directory": "../../builds",
+ "build_timestamp": "{{isotime \"20060102150405\"}}",
+ "cpus": "1",
+ "disk_size": "65536",
+ "git_revision": "__unknown_git_revision__",
+ "headless": "",
+ "http_proxy": "{{env `http_proxy`}}",
+ "https_proxy": "{{env `https_proxy`}}",
+ "install_path": "freebsd-11/installerconfig",
+ "iso_checksum": "aa9d34b458826486999ed3e872436b6712ae38cede5ea41de4ab923e3419d461",
+ "iso_checksum_type": "sha256",
+ "iso_name": "FreeBSD-12.1-RELEASE-amd64-disc1.iso",
+ "memory": "1024",
+ "mirror": "https://download.freebsd.org/ftp",
+ "mirror_directory": "releases/amd64/amd64/ISO-IMAGES/12.1",
+ "name": "freebsd-12.1",
+ "no_proxy": "{{env `no_proxy`}}",
+ "pkg_branch": "quarterly",
+ "template": "freebsd-12.1-amd64",
+ "version": "TIMESTAMP"
+ }
+}

diff:
+{
+ "builders": [
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} && bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "memory": "{{ user `memory` }}",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_additions_mode": "disable",
+ "guest_os_type": "FreeBSD",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{template_dir}}/http",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_checksum_type": "{{user `iso_checksum_type`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_username": "vagrant",
+ "ssh_wait_timeout": "10000s",
+ "type": "virtualbox-iso",
+ "virtualbox_version_file": ".vbox_version",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "<wait5>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} && bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "memory": "{{ user `memory` }}",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{template_dir}}/http",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_checksum_type": "{{user `iso_checksum_type`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_username": "vagrant",
+ "ssh_wait_timeout": "10000s",
+ "type": "vmware-iso",
+ "vm_name": "{{ user `template` }}",
+ "vmx_data": {
+ "cpuid.coresPerSocket": "1"
+ },
+ "vmx_remove_ethernet_interfaces": true
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} && bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "8s",
+ "memory": "{{ user `memory` }}",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "http_directory": "{{template_dir}}/http",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_checksum_type": "{{user `iso_checksum_type`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
+ "parallels_tools_mode": "disable",
+ "prlctl": [
+ [
+ "set",
+ "{{.Name}}",
+ "--device-set",
+ "cdrom0",
+ "--iface",
+ "ide"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "fdd0"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "parallel0"
+ ]
+ ],
+ "prlctl_version_file": ".prlctl_version",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_username": "vagrant",
+ "ssh_wait_timeout": "10000s",
+ "type": "parallels-iso",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} && bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "7s",
+ "memory": "{{ user `memory` }}",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{template_dir}}/http",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_checksum_type": "{{user `iso_checksum_type`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_username": "vagrant",
+ "ssh_wait_timeout": "10000s",
+ "type": "qemu",
+ "vm_name": "{{ user `template` }}"
+ }
+ ],
+ "post-processors": [
+ {
+ "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
+ "type": "vagrant",
+ "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
+ }
+ ],
+ "provisioners": [
+ {
+ "environment_vars": [
+ "HOME_DIR=/home/vagrant",
+ "http_proxy={{user `http_proxy`}}",
+ "https_proxy={{user `https_proxy`}}",
+ "no_proxy={{user `no_proxy`}}",
+ "pkg_branch={{user `pkg_branch`}}"
+ ],
+ "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/update.sh",
+ "{{template_dir}}/scripts/postinstall.sh",
+ "{{template_dir}}/scripts/sudoers.sh",
+ "{{template_dir}}/../_common/vagrant.sh",
+ "{{template_dir}}/scripts/vmtools.sh",
+ "{{template_dir}}/scripts/cleanup.sh",
+ "{{template_dir}}/scripts/minimize.sh"
+ ],
+ "type": "shell"
+ }
+ ],
+ "variables": {
+ "box_basename": "freebsd-12.1-i386",
+ "build_directory": "../../builds",
+ "build_timestamp": "{{isotime \"20060102150405\"}}",
+ "cpus": "1",
+ "disk_size": "40960",
+ "git_revision": "__unknown_git_revision__",
+ "headless": "",
+ "http_proxy": "{{env `http_proxy`}}",
+ "https_proxy": "{{env `https_proxy`}}",
+ "install_path": "freebsd-11/installerconfig",
+ "iso_checksum": "07b10e098e7c9b5e920679d3a9b3d12628f0b918c6e3962620b7f570a82cf41d",
+ "iso_checksum_type": "sha256",
+ "iso_name": "FreeBSD-12.1-RELEASE-i386-disc1.iso",
+ "memory": "1024",
+ "mirror": "https://download.freebsd.org/ftp",
+ "mirror_directory": "releases/i386/i386/ISO-IMAGES/12.1",
+ "name": "freebsd-12.1-i386",
+ "no_proxy": "{{env `no_proxy`}}",
+ "pkg_branch": "quarterly",
+ "template": "freebsd-12.1-i386",
+ "version": "TIMESTAMP"
+ }
+}

original_message:
Add FreeBSD-12.1 definitions

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


change_type: MODIFY

diff:
@@ -15,7 +15,6 @@ ln -sf /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem;
cat >>/etc/loader.conf << LOADER_CONF
autoboot_delay="-1"
beastie_disable="YES"
-kern.hz=50
LOADER_CONF
# disable crash dumps

license: Apache License 2.0

repo: chef/bento

original_message:
kern.hz will be automatically set to 100 in a VM environment

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


message: Add FreeBSD 11.4-RELEASE

change_type: ADD

diff:
+{
+ "builders": [
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_additions_mode": "disable",
+ "guest_os_type": "FreeBSD_64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum_type`}}:{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "virtualbox-iso",
+ "virtualbox_version_file": ".vbox_version",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "<wait5>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd-64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum_type`}}:{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "vmware-iso",
+ "vm_name": "{{ user `template` }}",
+ "vmx_data": {
+ "cpuid.coresPerSocket": "1"
+ },
+ "vmx_remove_ethernet_interfaces": true
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "8s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum_type`}}:{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
+ "parallels_tools_mode": "disable",
+ "prlctl": [
+ [
+ "set",
+ "{{.Name}}",
+ "--device-set",
+ "cdrom0",
+ "--iface",
+ "ide"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "fdd0"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "parallel0"
+ ]
+ ],
+ "prlctl_version_file": ".prlctl_version",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "parallels-iso",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.vtnet0.pid -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "7s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum_type`}}:{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "qemu",
+ "vm_name": "{{ user `template` }}"
+ }
+ ],
+ "post-processors": [
+ {
+ "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
+ "type": "vagrant",
+ "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
+ }
+ ],
+ "provisioners": [
+ {
+ "environment_vars": [
+ "HOME_DIR=/home/vagrant",
+ "http_proxy={{user `http_proxy`}}",
+ "https_proxy={{user `https_proxy`}}",
+ "no_proxy={{user `no_proxy`}}",
+ "pkg_branch={{user `pkg_branch`}}"
+ ],
+ "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/update.sh",
+ "{{template_dir}}/scripts/postinstall.sh",
+ "{{template_dir}}/scripts/sudoers.sh",
+ "{{template_dir}}/../_common/vagrant.sh",
+ "{{template_dir}}/scripts/vmtools.sh",
+ "{{template_dir}}/scripts/cleanup.sh",
+ "{{template_dir}}/scripts/minimize.sh"
+ ],
+ "type": "shell"
+ }
+ ],
+ "variables": {
+ "box_basename": "freebsd-11.4",
+ "build_directory": "../../builds",
+ "build_timestamp": "{{isotime \"20060102150405\"}}",
+ "cpus": "1",
+ "disk_size": "65536",
+ "git_revision": "__unknown_git_revision__",
+ "headless": "",
+ "http_directory": "{{template_dir}}/http",
+ "http_proxy": "{{env `http_proxy`}}",
+ "https_proxy": "{{env `https_proxy`}}",
+ "install_path": "freebsd-11/installerconfig",
+ "iso_checksum": "d76c1ded99b2c1005b1ff94cc0c811fbcd8a2d04196432009ab5f203c2146914",
+ "iso_checksum_type": "sha256",
+ "iso_name": "FreeBSD-11.4-RELEASE-amd64-disc1.iso",
+ "memory": "1024",
+ "mirror": "https://download.freebsd.org/ftp",
+ "mirror_directory": "releases/amd64/amd64/ISO-IMAGES/11.4",
+ "name": "freebsd-11.4",
+ "no_proxy": "{{env `no_proxy`}}",
+ "pkg_branch": "quarterly",
+ "template": "freebsd-11.4-amd64",
+ "version": "TIMESTAMP"
+ }
+}
+

diff:
+{
+ "builders": [
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_additions_mode": "disable",
+ "guest_os_type": "FreeBSD",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum_type`}}:{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "virtualbox-iso",
+ "virtualbox_version_file": ".vbox_version",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "<wait5>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum_type`}}:{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "vmware-iso",
+ "vm_name": "{{ user `template` }}",
+ "vmx_data": {
+ "cpuid.coresPerSocket": "1"
+ },
+ "vmx_remove_ethernet_interfaces": true
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "8s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum_type`}}:{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
+ "parallels_tools_mode": "disable",
+ "prlctl": [
+ [
+ "set",
+ "{{.Name}}",
+ "--device-set",
+ "cdrom0",
+ "--iface",
+ "ide"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "fdd0"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "parallel0"
+ ]
+ ],
+ "prlctl_version_file": ".prlctl_version",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "parallels-iso",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.vtnet0.pid -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "7s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum_type`}}:{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "qemu",
+ "vm_name": "{{ user `template` }}"
+ }
+ ],
+ "post-processors": [
+ {
+ "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
+ "type": "vagrant",
+ "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
+ }
+ ],
+ "provisioners": [
+ {
+ "environment_vars": [
+ "HOME_DIR=/home/vagrant",
+ "http_proxy={{user `http_proxy`}}",
+ "https_proxy={{user `https_proxy`}}",
+ "no_proxy={{user `no_proxy`}}",
+ "pkg_branch={{user `pkg_branch`}}"
+ ],
+ "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/update.sh",
+ "{{template_dir}}/scripts/postinstall.sh",
+ "{{template_dir}}/scripts/sudoers.sh",
+ "{{template_dir}}/../_common/vagrant.sh",
+ "{{template_dir}}/scripts/vmtools.sh",
+ "{{template_dir}}/scripts/cleanup.sh",
+ "{{template_dir}}/scripts/minimize.sh"
+ ],
+ "type": "shell"
+ }
+ ],
+ "variables": {
+ "box_basename": "freebsd-11.4-i386",
+ "build_directory": "../../builds",
+ "build_timestamp": "{{isotime \"20060102150405\"}}",
+ "cpus": "1",
+ "disk_size": "40960",
+ "git_revision": "__unknown_git_revision__",
+ "headless": "",
+ "http_directory": "{{template_dir}}/http",
+ "http_proxy": "{{env `http_proxy`}}",
+ "https_proxy": "{{env `https_proxy`}}",
+ "install_path": "freebsd-11/installerconfig",
+ "iso_checksum": "cab3c03fc45b84bffcf818d11147af491eb0226be4bf8e4092b1ecafdc096d33",
+ "iso_checksum_type": "sha256",
+ "iso_name": "FreeBSD-11.4-RELEASE-i386-disc1.iso",
+ "memory": "1024",
+ "mirror": "https://download.freebsd.org/ftp",
+ "mirror_directory": "releases/i386/i386/ISO-IMAGES/11.4",
+ "name": "freebsd-11.4-i386",
+ "no_proxy": "{{env `no_proxy`}}",
+ "pkg_branch": "quarterly",
+ "template": "freebsd-11.4-i386",
+ "version": "TIMESTAMP"
+ }
+}
+

original_message:
Add FreeBSD 11.4-RELEASE

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


message: Fix dhclient paramater

diff:
"/bin/sh<enter><wait>",
"mdmfs -s 100m md1 /tmp<enter><wait>",
"mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
"fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
],
"boot_wait": "10s",

original_message:
Fix dhclient paramater

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


message: More loader config to speed up boot

diff:
@@ -15,6 +15,8 @@ ln -sf /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem;
cat >>/etc/loader.conf << LOADER_CONF
autoboot_delay="-1"
beastie_disable="YES"
+loader_logo="none"
+hw.memtest.tests="0"
LOADER_CONF
# disable crash dumps

original_message:
More loader config to speed up boot

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


diff:
@@ -20,9 +20,6 @@ virtualbox-iso|virtualbox-ovf)
echo 'virtio_balloon_load="YES"' >>/boot/loader.conf;
echo 'if_vtnet_load="YES"' >>/boot/loader.conf;
- # Don't waste 10 seconds waiting for boot
- echo 'autoboot_delay="-1"' >>/boot/loader.conf;
-
echo 'ifconfig_vtnet0_name="em0"' >>/etc/rc.conf;
echo 'ifconfig_vtnet1_name="em1"' >>/etc/rc.conf;
echo 'ifconfig_vtnet2_name="em2"' >>/etc/rc.conf;
@@ -38,9 +35,6 @@ vmware-iso|vmware-vmx)
# for shared folder
echo 'fuse_load="YES"' >>/boot/loader.conf;
- # Don't waste 10 seconds waiting for boot
- echo 'autoboot_delay="-1"' >>/boot/loader.conf;
-
echo 'ifconfig_vmx0="dhcp"' >>/etc/rc.conf;
;;

original_message:
This setting is already done in postinstall.sh

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


diff:
@@ -8,17 +8,8 @@ ZROOT="zroot/ROOT/default"
COMPRESSION=$(zfs get -H compression $ZROOT | cut -f3);
zfs set compression=off $ZROOT;
-dd if=/dev/zero of=/EMPTY bs=1m &
-PID=$!;
-
-avail=$(zfs get -pH avail $ZROOT | cut -f3);
-while [ "$avail" -ne 0 ]; do
- sleep 15;
- avail=$(zfs get -pH avail $ZROOT | cut -f3);
-done
-
-kill $PID || echo "dd already exited";
-
+dd if=/dev/zero of=/EMPTY bs=1m || echo "dd(1) exits after taking over all the space"
+sync
rm -f /EMPTY;
# Block until the empty file has been removed, otherwise, Packer
# will try to kill the box while the disk is still full and that's bad

original_message:
FreeBSD minimize: let dd(1) automatically exit on disk full

Don't need to periodically check the space left, dd(1) will
automatically exit after it cannot write to the disk anymore.
This mitigate the issue that fs may reserve some space so the
available space size will never get to 0.

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


message: Add FreeBSD 12.2-RELEASE

diff:
+{
+ "builders": [
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_additions_mode": "disable",
+ "guest_os_type": "FreeBSD_64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "virtualbox-iso",
+ "virtualbox_version_file": ".vbox_version",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "<wait5>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd-64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "vmware-iso",
+ "vm_name": "{{ user `template` }}",
+ "vmx_data": {
+ "cpuid.coresPerSocket": "1"
+ },
+ "vmx_remove_ethernet_interfaces": true
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "8s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
+ "parallels_tools_mode": "disable",
+ "prlctl": [
+ [
+ "set",
+ "{{.Name}}",
+ "--device-set",
+ "cdrom0",
+ "--iface",
+ "ide"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "fdd0"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "parallel0"
+ ]
+ ],
+ "prlctl_version_file": ".prlctl_version",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "parallels-iso",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.vtnet0.pid -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "7s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "qemu",
+ "vm_name": "{{ user `template` }}"
+ }
+ ],
+ "post-processors": [
+ {
+ "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
+ "type": "vagrant",
+ "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
+ }
+ ],
+ "provisioners": [
+ {
+ "environment_vars": [
+ "HOME_DIR=/home/vagrant",
+ "http_proxy={{user `http_proxy`}}",
+ "https_proxy={{user `https_proxy`}}",
+ "no_proxy={{user `no_proxy`}}",
+ "pkg_branch={{user `pkg_branch`}}"
+ ],
+ "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/update.sh",
+ "{{template_dir}}/scripts/postinstall.sh",
+ "{{template_dir}}/scripts/sudoers.sh",
+ "{{template_dir}}/../_common/vagrant.sh",
+ "{{template_dir}}/scripts/vmtools.sh",
+ "{{template_dir}}/scripts/cleanup.sh",
+ "{{template_dir}}/scripts/minimize.sh"
+ ],
+ "type": "shell"
+ }
+ ],
+ "variables": {
+ "box_basename": "freebsd-12.2",
+ "build_directory": "../../builds",
+ "build_timestamp": "{{isotime \"20060102150405\"}}",
+ "cpus": "1",
+ "disk_size": "65536",
+ "git_revision": "__unknown_git_revision__",
+ "headless": "",
+ "http_directory": "{{template_dir}}/http",
+ "http_proxy": "{{env `http_proxy`}}",
+ "https_proxy": "{{env `https_proxy`}}",
+ "install_path": "freebsd-11/installerconfig",
+ "iso_checksum": "289522e2f4e1260859505adab6d7b54ab83d19aeb147388ff7e28019984da5dc",
+ "iso_name": "FreeBSD-12.2-RELEASE-amd64-disc1.iso",
+ "memory": "1024",
+ "mirror": "https://download.freebsd.org/ftp",
+ "mirror_directory": "releases/amd64/amd64/ISO-IMAGES/12.2",
+ "name": "freebsd-12.2",
+ "no_proxy": "{{env `no_proxy`}}",
+ "pkg_branch": "quarterly",
+ "template": "freebsd-12.2-amd64",
+ "version": "TIMESTAMP"
+ }
+}
+

diff:
+{
+ "builders": [
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_additions_mode": "disable",
+ "guest_os_type": "FreeBSD",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "virtualbox-iso",
+ "virtualbox_version_file": ".vbox_version",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "<wait5>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "10s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "vmware-iso",
+ "vm_name": "{{ user `template` }}",
+ "vmx_data": {
+ "cpuid.coresPerSocket": "1"
+ },
+ "vmx_remove_ethernet_interfaces": true
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "8s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
+ "parallels_tools_mode": "disable",
+ "prlctl": [
+ [
+ "set",
+ "{{.Name}}",
+ "--device-set",
+ "cdrom0",
+ "--iface",
+ "ide"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "fdd0"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "parallel0"
+ ]
+ ],
+ "prlctl_version_file": ".prlctl_version",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "parallels-iso",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.vtnet0.pid -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "7s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "qemu",
+ "vm_name": "{{ user `template` }}"
+ }
+ ],
+ "post-processors": [
+ {
+ "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
+ "type": "vagrant",
+ "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
+ }
+ ],
+ "provisioners": [
+ {
+ "environment_vars": [
+ "HOME_DIR=/home/vagrant",
+ "http_proxy={{user `http_proxy`}}",
+ "https_proxy={{user `https_proxy`}}",
+ "no_proxy={{user `no_proxy`}}",
+ "pkg_branch={{user `pkg_branch`}}"
+ ],
+ "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/update.sh",
+ "{{template_dir}}/scripts/postinstall.sh",
+ "{{template_dir}}/scripts/sudoers.sh",
+ "{{template_dir}}/../_common/vagrant.sh",
+ "{{template_dir}}/scripts/vmtools.sh",
+ "{{template_dir}}/scripts/cleanup.sh",
+ "{{template_dir}}/scripts/minimize.sh"
+ ],
+ "type": "shell"
+ }
+ ],
+ "variables": {
+ "box_basename": "freebsd-12.2-i386",
+ "build_directory": "../../builds",
+ "build_timestamp": "{{isotime \"20060102150405\"}}",
+ "cpus": "1",
+ "disk_size": "40960",
+ "git_revision": "__unknown_git_revision__",
+ "headless": "",
+ "http_directory": "{{template_dir}}/http",
+ "http_proxy": "{{env `http_proxy`}}",
+ "https_proxy": "{{env `https_proxy`}}",
+ "install_path": "freebsd-11/installerconfig",
+ "iso_checksum": "b422b5f390f9bd05f5c71783099b2b9a925e7256d7907b9be613ece4a1fb4124",
+ "iso_name": "FreeBSD-12.2-RELEASE-i386-disc1.iso",
+ "memory": "1024",
+ "mirror": "https://download.freebsd.org/ftp",
+ "mirror_directory": "releases/i386/i386/ISO-IMAGES/12.2",
+ "name": "freebsd-12.2-i386",
+ "no_proxy": "{{env `no_proxy`}}",
+ "pkg_branch": "quarterly",
+ "template": "freebsd-12.2-i386",
+ "version": "TIMESTAMP"
+ }
+}
+

original_message:
Add FreeBSD 12.2-RELEASE

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


change_type: DELETE

diff:
-{
- "builders": [
- {
- "boot_command": [
- "<esc><wait>",
- "boot -s<wait>",
- "<enter><wait>",
- "<wait10><wait10>",
- "/bin/sh<enter><wait>",
- "mdmfs -s 100m md1 /tmp<enter><wait>",
- "mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
- "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
- ],
- "boot_wait": "5s",
- "cpus": "{{ user `cpus` }}",
- "disk_size": "{{user `disk_size`}}",
- "guest_additions_mode": "disable",
- "guest_os_type": "FreeBSD_64",
- "headless": "{{ user `headless` }}",
- "http_directory": "{{user `http_directory`}}",
- "iso_checksum": "{{user `iso_checksum`}}",
- "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
- "memory": "{{ user `memory` }}",
- "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
- "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
- "ssh_password": "vagrant",
- "ssh_port": 22,
- "ssh_timeout": "10000s",
- "ssh_username": "vagrant",
- "type": "virtualbox-iso",
- "virtualbox_version_file": ".vbox_version",
- "vm_name": "{{ user `template` }}"
- },
- {
- "boot_command": [
- "<esc><wait>",
- "boot -s<wait>",
- "<enter><wait>",
- "<wait10><wait10>",
- "/bin/sh<enter><wait>",
- "mdmfs -s 100m md1 /tmp<enter><wait>",
- "mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
- "<wait5>",
- "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
- ],
- "boot_wait": "5s",
- "cpus": "{{ user `cpus` }}",
- "disk_size": "{{user `disk_size`}}",
- "guest_os_type": "freebsd-64",
- "headless": "{{ user `headless` }}",
- "http_directory": "{{user `http_directory`}}",
- "iso_checksum": "{{user `iso_checksum`}}",
- "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
- "memory": "{{ user `memory` }}",
- "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
- "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
- "ssh_password": "vagrant",
- "ssh_port": 22,
- "ssh_timeout": "10000s",
- "ssh_username": "vagrant",
- "type": "vmware-iso",
- "vm_name": "{{ user `template` }}",
- "vmx_data": {
- "cpuid.coresPerSocket": "1"
- },
- "vmx_remove_ethernet_interfaces": true
- },
- {
- "boot_command": [
- "<esc><wait>",
- "boot -s<wait>",
- "<enter><wait>",
- "<wait10><wait10>",
- "/bin/sh<enter><wait>",
- "mdmfs -s 100m md1 /tmp<enter><wait>",
- "mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
- "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
- ],
- "boot_wait": "8s",
- "cpus": "{{ user `cpus` }}",
- "disk_size": "{{user `disk_size`}}",
- "guest_os_type": "freebsd",
- "http_directory": "{{user `http_directory`}}",
- "iso_checksum": "{{user `iso_checksum`}}",
- "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
- "memory": "{{ user `memory` }}",
- "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
- "parallels_tools_mode": "disable",
- "prlctl": [
- [
- "set",
- "{{.Name}}",
- "--device-set",
- "cdrom0",
- "--iface",
- "ide"
- ],
- [
- "set",
- "{{.Name}}",
- "--device-del",
- "fdd0"
- ],
- [
- "set",
- "{{.Name}}",
- "--device-del",
- "parallel0"
- ]
- ],
- "prlctl_version_file": ".prlctl_version",
- "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
- "ssh_password": "vagrant",
- "ssh_port": 22,
- "ssh_timeout": "10000s",
- "ssh_username": "vagrant",
- "type": "parallels-iso",
- "vm_name": "{{ user `template` }}"
- },
- {
- "boot_command": [
- "<esc><wait>",
- "boot -s<wait>",
- "<enter><wait>",
- "<wait10><wait10>",
- "/bin/sh<enter><wait>",
- "mdmfs -s 100m md1 /tmp<enter><wait>",
- "mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient -p /tmp/dhclient.vtnet0.pid -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
- "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
- ],
- "boot_wait": "7s",
- "cpus": "{{ user `cpus` }}",
- "disk_size": "{{user `disk_size`}}",
- "headless": "{{ user `headless` }}",
- "http_directory": "{{user `http_directory`}}",
- "iso_checksum": "{{user `iso_checksum`}}",
- "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
- "memory": "{{ user `memory` }}",
- "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
- "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
- "ssh_password": "vagrant",
- "ssh_port": 22,
- "ssh_timeout": "10000s",
- "ssh_username": "vagrant",
- "type": "qemu",
- "vm_name": "{{ user `template` }}"
- }
- ],
- "post-processors": [
- {
- "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
- "type": "vagrant",
- "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
- }
- ],
- "provisioners": [
- {
- "environment_vars": [
- "HOME_DIR=/home/vagrant",
- "http_proxy={{user `http_proxy`}}",
- "https_proxy={{user `https_proxy`}}",
- "no_proxy={{user `no_proxy`}}",
- "pkg_branch={{user `pkg_branch`}}"
- ],
- "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
- "expect_disconnect": true,
- "scripts": [
- "{{template_dir}}/scripts/update.sh",
- "{{template_dir}}/scripts/postinstall.sh",
- "{{template_dir}}/scripts/sudoers.sh",
- "{{template_dir}}/../_common/vagrant.sh",
- "{{template_dir}}/scripts/vmtools.sh",
- "{{template_dir}}/scripts/cleanup.sh",
- "{{template_dir}}/scripts/minimize.sh"
- ],
- "type": "shell"
- }
- ],
- "variables": {
- "box_basename": "freebsd-12.1",
- "build_directory": "../../builds",
- "build_timestamp": "{{isotime \"20060102150405\"}}",
- "cpus": "2",
- "disk_size": "65536",
- "git_revision": "__unknown_git_revision__",
- "headless": "",
- "http_directory": "{{template_dir}}/http",
- "http_proxy": "{{env `http_proxy`}}",
- "https_proxy": "{{env `https_proxy`}}",
- "install_path": "freebsd-11/installerconfig",
- "iso_checksum": "aa9d34b458826486999ed3e872436b6712ae38cede5ea41de4ab923e3419d461",
- "iso_name": "FreeBSD-12.1-RELEASE-amd64-disc1.iso",
- "memory": "1024",
- "mirror": "https://download.freebsd.org/ftp",
- "mirror_directory": "releases/amd64/amd64/ISO-IMAGES/12.1",
- "name": "freebsd-12.1",
- "no_proxy": "{{env `no_proxy`}}",
- "pkg_branch": "quarterly",
- "template": "freebsd-12.1-amd64",
- "version": "TIMESTAMP"
- }
-}

diff:
-{
- "builders": [
- {
- "boot_command": [
- "<esc><wait>",
- "boot -s<wait>",
- "<enter><wait>",
- "<wait10><wait10>",
- "/bin/sh<enter><wait>",
- "mdmfs -s 100m md1 /tmp<enter><wait>",
- "mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
- "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
- ],
- "boot_wait": "5s",
- "cpus": "{{ user `cpus` }}",
- "disk_size": "{{user `disk_size`}}",
- "guest_additions_mode": "disable",
- "guest_os_type": "FreeBSD",
- "headless": "{{ user `headless` }}",
- "http_directory": "{{user `http_directory`}}",
- "iso_checksum": "{{user `iso_checksum`}}",
- "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
- "memory": "{{ user `memory` }}",
- "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
- "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
- "ssh_password": "vagrant",
- "ssh_port": 22,
- "ssh_timeout": "10000s",
- "ssh_username": "vagrant",
- "type": "virtualbox-iso",
- "virtualbox_version_file": ".vbox_version",
- "vm_name": "{{ user `template` }}"
- },
- {
- "boot_command": [
- "<esc><wait>",
- "boot -s<wait>",
- "<enter><wait>",
- "<wait10><wait10>",
- "/bin/sh<enter><wait>",
- "mdmfs -s 100m md1 /tmp<enter><wait>",
- "mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
- "<wait5>",
- "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
- ],
- "boot_wait": "5s",
- "cpus": "{{ user `cpus` }}",
- "disk_size": "{{user `disk_size`}}",
- "guest_os_type": "freebsd",
- "headless": "{{ user `headless` }}",
- "http_directory": "{{user `http_directory`}}",
- "iso_checksum": "{{user `iso_checksum`}}",
- "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
- "memory": "{{ user `memory` }}",
- "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
- "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
- "ssh_password": "vagrant",
- "ssh_port": 22,
- "ssh_timeout": "10000s",
- "ssh_username": "vagrant",
- "type": "vmware-iso",
- "vm_name": "{{ user `template` }}",
- "vmx_data": {
- "cpuid.coresPerSocket": "1"
- },
- "vmx_remove_ethernet_interfaces": true
- },
- {
- "boot_command": [
- "<esc><wait>",
- "boot -s<wait>",
- "<enter><wait>",
- "<wait10><wait10>",
- "/bin/sh<enter><wait>",
- "mdmfs -s 100m md1 /tmp<enter><wait>",
- "mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
- "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
- ],
- "boot_wait": "8s",
- "cpus": "{{ user `cpus` }}",
- "disk_size": "{{user `disk_size`}}",
- "guest_os_type": "freebsd",
- "http_directory": "{{user `http_directory`}}",
- "iso_checksum": "{{user `iso_checksum`}}",
- "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
- "memory": "{{ user `memory` }}",
- "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
- "parallels_tools_mode": "disable",
- "prlctl": [
- [
- "set",
- "{{.Name}}",
- "--device-set",
- "cdrom0",
- "--iface",
- "ide"
- ],
- [
- "set",
- "{{.Name}}",
- "--device-del",
- "fdd0"
- ],
- [
- "set",
- "{{.Name}}",
- "--device-del",
- "parallel0"
- ]
- ],
- "prlctl_version_file": ".prlctl_version",
- "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
- "ssh_password": "vagrant",
- "ssh_port": 22,
- "ssh_timeout": "10000s",
- "ssh_username": "vagrant",
- "type": "parallels-iso",
- "vm_name": "{{ user `template` }}"
- },
- {
- "boot_command": [
- "<esc><wait>",
- "boot -s<wait>",
- "<enter><wait>",
- "<wait10><wait10>",
- "/bin/sh<enter><wait>",
- "mdmfs -s 100m md1 /tmp<enter><wait>",
- "mdmfs -s 100m md2 /mnt<enter><wait>",
- "dhclient -p /tmp/dhclient.vtnet0.pid -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
- "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
- ],
- "boot_wait": "7s",
- "cpus": "{{ user `cpus` }}",
- "disk_size": "{{user `disk_size`}}",
- "headless": "{{ user `headless` }}",
- "http_directory": "{{user `http_directory`}}",
- "iso_checksum": "{{user `iso_checksum`}}",
- "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
- "memory": "{{ user `memory` }}",
- "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
- "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
- "ssh_password": "vagrant",
- "ssh_port": 22,
- "ssh_timeout": "10000s",
- "ssh_username": "vagrant",
- "type": "qemu",
- "vm_name": "{{ user `template` }}"
- }
- ],
- "post-processors": [
- {
- "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
- "type": "vagrant",
- "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
- }
- ],
- "provisioners": [
- {
- "environment_vars": [
- "HOME_DIR=/home/vagrant",
- "http_proxy={{user `http_proxy`}}",
- "https_proxy={{user `https_proxy`}}",
- "no_proxy={{user `no_proxy`}}",
- "pkg_branch={{user `pkg_branch`}}"
- ],
- "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
- "expect_disconnect": true,
- "scripts": [
- "{{template_dir}}/scripts/update.sh",
- "{{template_dir}}/scripts/postinstall.sh",
- "{{template_dir}}/scripts/sudoers.sh",
- "{{template_dir}}/../_common/vagrant.sh",
- "{{template_dir}}/scripts/vmtools.sh",
- "{{template_dir}}/scripts/cleanup.sh",
- "{{template_dir}}/scripts/minimize.sh"
- ],
- "type": "shell"
- }
- ],
- "variables": {
- "box_basename": "freebsd-12.1-i386",
- "build_directory": "../../builds",
- "build_timestamp": "{{isotime \"20060102150405\"}}",
- "cpus": "2",
- "disk_size": "40960",
- "git_revision": "__unknown_git_revision__",
- "headless": "",
- "http_directory": "{{template_dir}}/http",
- "http_proxy": "{{env `http_proxy`}}",
- "https_proxy": "{{env `https_proxy`}}",
- "install_path": "freebsd-11/installerconfig",
- "iso_checksum": "07b10e098e7c9b5e920679d3a9b3d12628f0b918c6e3962620b7f570a82cf41d",
- "iso_name": "FreeBSD-12.1-RELEASE-i386-disc1.iso",
- "memory": "1024",
- "mirror": "https://download.freebsd.org/ftp",
- "mirror_directory": "releases/i386/i386/ISO-IMAGES/12.1",
- "name": "freebsd-12.1-i386",
- "no_proxy": "{{env `no_proxy`}}",
- "pkg_branch": "quarterly",
- "template": "freebsd-12.1-i386",
- "version": "TIMESTAMP"
- }
-}

original_message:
FreeBSD 12.1 is EoL'd on January 31, 2021

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


message: Add FreeBSD 13.0-RELEASE

diff:
+{
+ "builders": [
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "5s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_additions_mode": "disable",
+ "guest_os_type": "FreeBSD_64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "virtualbox-iso",
+ "virtualbox_version_file": ".vbox_version",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "<wait5>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "5s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd-64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "vmware-iso",
+ "vm_name": "{{ user `template` }}",
+ "vmx_data": {
+ "cpuid.coresPerSocket": "1"
+ },
+ "vmx_remove_ethernet_interfaces": true
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "8s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
+ "parallels_tools_mode": "disable",
+ "prlctl": [
+ [
+ "set",
+ "{{.Name}}",
+ "--device-set",
+ "cdrom0",
+ "--iface",
+ "ide"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "fdd0"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "parallel0"
+ ]
+ ],
+ "prlctl_version_file": ".prlctl_version",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "parallels-iso",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.vtnet0.pid -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "7s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "qemu",
+ "vm_name": "{{ user `template` }}"
+ }
+ ],
+ "post-processors": [
+ {
+ "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
+ "type": "vagrant",
+ "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
+ }
+ ],
+ "provisioners": [
+ {
+ "environment_vars": [
+ "HOME_DIR=/home/vagrant",
+ "http_proxy={{user `http_proxy`}}",
+ "https_proxy={{user `https_proxy`}}",
+ "no_proxy={{user `no_proxy`}}",
+ "pkg_branch={{user `pkg_branch`}}"
+ ],
+ "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/update.sh",
+ "{{template_dir}}/scripts/postinstall.sh",
+ "{{template_dir}}/scripts/sudoers.sh",
+ "{{template_dir}}/../_common/vagrant.sh",
+ "{{template_dir}}/scripts/vmtools.sh",
+ "{{template_dir}}/scripts/cleanup.sh",
+ "{{template_dir}}/scripts/minimize.sh"
+ ],
+ "type": "shell"
+ }
+ ],
+ "variables": {
+ "box_basename": "freebsd-13.0",
+ "build_directory": "../../builds",
+ "build_timestamp": "{{isotime \"20060102150405\"}}",
+ "cpus": "2",
+ "disk_size": "65536",
+ "git_revision": "__unknown_git_revision__",
+ "headless": "",
+ "http_directory": "{{template_dir}}/http",
+ "http_proxy": "{{env `http_proxy`}}",
+ "https_proxy": "{{env `https_proxy`}}",
+ "install_path": "freebsd-11/installerconfig",
+ "iso_checksum": "f78d4e5f53605592863852b39fa31a12f15893dc48cacecd875f2da72fa67ae5",
+ "iso_name": "FreeBSD-13.0-RELEASE-amd64-disc1.iso",
+ "memory": "1024",
+ "mirror": "https://download.freebsd.org/ftp",
+ "mirror_directory": "releases/amd64/amd64/ISO-IMAGES/13.0",
+ "name": "freebsd-13.0",
+ "no_proxy": "{{env `no_proxy`}}",
+ "pkg_branch": "quarterly",
+ "template": "freebsd-13.0-amd64",
+ "version": "TIMESTAMP"
+ }
+}

original_message:
Add FreeBSD 13.0-RELEASE

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


message: Add freebsd-13 to build config

diff:
@@ -17,6 +17,7 @@ public:
- 'freebsd-11.4'
- 'freebsd-12.2-i386'
- 'freebsd-12.2'
+- 'freebsd-13.0'
- 'opensuse-leap-15.2'
- 'oracle-6.10-i386'
- 'oracle-6.10'
@@ -43,5 +44,6 @@ slugs:
'scientific-7': 'scientific-7'
'freebsd-11': 'freebsd-11'
'freebsd-12': 'freebsd-12'
+ 'freebsd-13': 'freebsd-13'
'opensuse-leap-15': 'opensuse-leap-15'
'fedora-latest': 'fedora-33'

original_message:
Add freebsd-13 to build config

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


message: Add FreeBSD 13.1-RELEASE

diff:
+{
+ "builders": [
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "5s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_additions_mode": "disable",
+ "guest_os_type": "FreeBSD_64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "virtualbox-iso",
+ "virtualbox_version_file": ".vbox_version",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "<wait5>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "5s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd-64",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "vmware-iso",
+ "vm_name": "{{ user `template` }}",
+ "vmx_data": {
+ "cpuid.coresPerSocket": "1"
+ },
+ "vmx_remove_ethernet_interfaces": true
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "8s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "guest_os_type": "freebsd",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
+ "parallels_tools_mode": "disable",
+ "prlctl": [
+ [
+ "set",
+ "{{.Name}}",
+ "--device-set",
+ "cdrom0",
+ "--iface",
+ "ide"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "fdd0"
+ ],
+ [
+ "set",
+ "{{.Name}}",
+ "--device-del",
+ "parallel0"
+ ]
+ ],
+ "prlctl_version_file": ".prlctl_version",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "parallels-iso",
+ "vm_name": "{{ user `template` }}"
+ },
+ {
+ "boot_command": [
+ "<esc><wait>",
+ "boot -s<wait>",
+ "<enter><wait>",
+ "<wait10><wait10>",
+ "/bin/sh<enter><wait>",
+ "mdmfs -s 100m md1 /tmp<enter><wait>",
+ "mdmfs -s 100m md2 /mnt<enter><wait>",
+ "dhclient -p /tmp/dhclient.vtnet0.pid -l /tmp/dhclient.lease.vtnet0 vtnet0<enter><wait>",
+ "fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `install_path`}} \u0026\u0026 bsdinstall script /tmp/installerconfig<enter><wait>"
+ ],
+ "boot_wait": "7s",
+ "cpus": "{{ user `cpus` }}",
+ "disk_size": "{{user `disk_size`}}",
+ "headless": "{{ user `headless` }}",
+ "http_directory": "{{user `http_directory`}}",
+ "iso_checksum": "{{user `iso_checksum`}}",
+ "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
+ "memory": "{{ user `memory` }}",
+ "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
+ "shutdown_command": "echo 'vagrant' | su -m root -c 'shutdown -p now'",
+ "ssh_password": "vagrant",
+ "ssh_port": 22,
+ "ssh_timeout": "10000s",
+ "ssh_username": "vagrant",
+ "type": "qemu",
+ "vm_name": "{{ user `template` }}",
+ "qemuargs": [
+ [ "-m", "{{ user `memory` }}" ],
+ [ "-display", "{{ user `qemu_display` }}" ]
+ ]
+ }
+ ],
+ "post-processors": [
+ {
+ "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
+ "type": "vagrant",
+ "vagrantfile_template": "{{template_dir}}/vagrantfile_templates/freebsd.rb"
+ }
+ ],
+ "provisioners": [
+ {
+ "environment_vars": [
+ "HOME_DIR=/home/vagrant",
+ "http_proxy={{user `http_proxy`}}",
+ "https_proxy={{user `https_proxy`}}",
+ "no_proxy={{user `no_proxy`}}",
+ "pkg_branch={{user `pkg_branch`}}"
+ ],
+ "execute_command": "echo 'vagrant' | {{.Vars}} su -m root -c 'sh -eux {{.Path}}'",
+ "expect_disconnect": true,
+ "scripts": [
+ "{{template_dir}}/scripts/update.sh",
+ "{{template_dir}}/scripts/postinstall.sh",
+ "{{template_dir}}/scripts/sudoers.sh",
+ "{{template_dir}}/../_common/vagrant.sh",
+ "{{template_dir}}/scripts/vmtools.sh",
+ "{{template_dir}}/scripts/cleanup.sh",
+ "{{template_dir}}/scripts/minimize.sh"
+ ],
+ "type": "shell"
+ }
+ ],
+ "variables": {
+ "box_basename": "freebsd-13.1",
+ "build_directory": "../../builds",
+ "build_timestamp": "{{isotime \"20060102150405\"}}",
+ "cpus": "2",
+ "disk_size": "65536",
+ "git_revision": "__unknown_git_revision__",
+ "headless": "",
+ "http_directory": "{{template_dir}}/http",
+ "http_proxy": "{{env `http_proxy`}}",
+ "https_proxy": "{{env `https_proxy`}}",
+ "install_path": "freebsd-11/installerconfig",
+ "iso_checksum": "697d81653fa246b921ddfcf1d15562c55249cc727b11fa3e47f470e2cf2b6a40",
+ "iso_name": "FreeBSD-13.1-RELEASE-amd64-disc1.iso",
+ "memory": "1024",
+ "mirror": "https://download.freebsd.org",
+ "mirror_directory": "releases/amd64/amd64/ISO-IMAGES/13.1",
+ "name": "freebsd-13.1",
+ "no_proxy": "{{env `no_proxy`}}",
+ "pkg_branch": "quarterly",
+ "qemu_display": "none",
+ "template": "freebsd-13.1-amd64",
+ "version": "TIMESTAMP"
+ }
+}

original_message:
Add FreeBSD 13.1-RELEASE (#1407)

Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org>


diff:
"http_directory": "{{template_dir}}/http",
"http_proxy": "{{env `http_proxy`}}",
"https_proxy": "{{env `https_proxy`}}",
- "install_path": "freebsd-11/installerconfig",
+ "install_path": "installerconfig",
"iso_checksum": "5f0c10ff9af582c7fca90f65868702aa02e80f344c186f0bc75639a687d65641",
"iso_name": "FreeBSD-12.3-RELEASE-amd64-disc1.iso",
"memory": "1024",
- "mirror": "https://download.freebsd.org/ftp",
+ "mirror": "https://download.freebsd.org",
"mirror_directory": "releases/amd64/amd64/ISO-IMAGES/12.3",
"name": "freebsd-12.3",
"no_proxy": "{{env `no_proxy`}}",

diff:
"http_directory": "{{template_dir}}/http",
"http_proxy": "{{env `http_proxy`}}",
"https_proxy": "{{env `https_proxy`}}",
- "install_path": "freebsd-11/installerconfig",
+ "install_path": "installerconfig",
"iso_checksum": "cc90ab819d3fc4782227fc4269ea7de0747c007cfca9df905f9e50c8617fd820",
"iso_name": "FreeBSD-12.3-RELEASE-i386-disc1.iso",
"memory": "1024",
- "mirror": "https://download.freebsd.org/ftp",
+ "mirror": "https://download.freebsd.org",
"mirror_directory": "releases/i386/i386/ISO-IMAGES/12.3",
"name": "freebsd-12.3-i386",
"no_proxy": "{{env `no_proxy`}}",

diff:
"http_directory": "{{template_dir}}/http",
"http_proxy": "{{env `http_proxy`}}",
"https_proxy": "{{env `https_proxy`}}",
- "install_path": "freebsd-11/installerconfig",
+ "install_path": "installerconfig",
"iso_checksum": "606435637b76991f96df68f561badf03266f3d5452e9f72ed9b130d96b188800",
"iso_name": "FreeBSD-12.4-RELEASE-amd64-disc1.iso",
"memory": "1024",
- "mirror": "https://download.freebsd.org/ftp",
+ "mirror": "https://download.freebsd.org",
"mirror_directory": "releases/amd64/amd64/ISO-IMAGES/12.4",
"name": "freebsd-12.4",
"no_proxy": "{{env `no_proxy`}}",

diff:
"http_directory": "{{template_dir}}/http",
"http_proxy": "{{env `http_proxy`}}",
"https_proxy": "{{env `https_proxy`}}",
- "install_path": "freebsd-11/installerconfig",
+ "install_path": "installerconfig",
"iso_checksum": "73f4e4875ae4ab9e8695d1ec2cd42f1e4ab4c66b12d99194809eb623a18a7b0d",
"iso_name": "FreeBSD-12.4-RELEASE-i386-disc1.iso",
"memory": "1024",
- "mirror": "https://download.freebsd.org/ftp",
+ "mirror": "https://download.freebsd.org",
"mirror_directory": "releases/i386/i386/ISO-IMAGES/12.4",
"name": "freebsd-12.4-i386",
"no_proxy": "{{env `no_proxy`}}",

diff:
"http_directory": "{{template_dir}}/http",
"http_proxy": "{{env `http_proxy`}}",
"https_proxy": "{{env `https_proxy`}}",
- "install_path": "freebsd-11/installerconfig",
+ "install_path": "installerconfig",
"iso_checksum": "697d81653fa246b921ddfcf1d15562c55249cc727b11fa3e47f470e2cf2b6a40",
"iso_name": "FreeBSD-13.1-RELEASE-amd64-disc1.iso",
"memory": "1024",

change_type: RENAME

original_message: FreebSD: cleanup scripts and download URL (#1457)


message: Add new notifications categories

old_path: .gitignore

new_path: .gitignore

diff:
@@ -63,6 +63,7 @@ captures/
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/runConfigurations.xml
+.idea/discord.xml
# Keystore files
*.jks

diff:
@@ -9,6 +9,12 @@ import dagger.Module
import dagger.Provides
import dagger.android.ContributesAndroidInjector
import dagger.multibindings.IntoSet
+import io.github.wulkanowy.services.sync.channels.Channel
+import io.github.wulkanowy.services.sync.channels.DebugChannel
+import io.github.wulkanowy.services.sync.channels.LuckyNumberChannel
+import io.github.wulkanowy.services.sync.channels.NewGradesChannel
+import io.github.wulkanowy.services.sync.channels.NewMessagesChannel
+import io.github.wulkanowy.services.sync.channels.NewNotesChannel
import io.github.wulkanowy.services.sync.works.AttendanceSummaryWork
import io.github.wulkanowy.services.sync.works.AttendanceWork
import io.github.wulkanowy.services.sync.works.CompletedLessonWork
@@ -100,4 +106,24 @@ abstract class ServicesModule {
@Binds
@IntoSet
abstract fun provideGradeStatistics(work: GradeStatisticsWork): Work
+
+ @Binds
+ @IntoSet
+ abstract fun provideDebugChannel(channel: DebugChannel): Channel
+
+ @Binds
+ @IntoSet
+ abstract fun provideLuckyNumberChannel(channel: LuckyNumberChannel): Channel
+
+ @Binds
+ @IntoSet
+ abstract fun provideNewGradesChannel(channel: NewGradesChannel): Channel
+
+ @Binds
+ @IntoSet
+ abstract fun provideNewMessageChannel(channel: NewMessagesChannel): Channel
+
+ @Binds
+ @IntoSet
+ abstract fun provideNewNotesChannel(channel: NewNotesChannel): Channel
}

diff:
@@ -2,6 +2,7 @@ package io.github.wulkanowy.services.sync
import android.os.Build.VERSION.SDK_INT
import android.os.Build.VERSION_CODES.O
+import androidx.core.app.NotificationManagerCompat
import androidx.work.BackoffPolicy.EXPONENTIAL
import androidx.work.Constraints
import androidx.work.ExistingPeriodicWorkPolicy.KEEP
@@ -13,8 +14,7 @@ import androidx.work.WorkManager
import io.github.wulkanowy.data.db.SharedPrefProvider
import io.github.wulkanowy.data.db.SharedPrefProvider.Companion.APP_VERSION_CODE_KEY
import io.github.wulkanowy.data.repositories.preferences.PreferencesRepository
-import io.github.wulkanowy.services.sync.channels.DebugChannel
-import io.github.wulkanowy.services.sync.channels.NewEntriesChannel
+import io.github.wulkanowy.services.sync.channels.Channel
import io.github.wulkanowy.utils.AppInfo
import io.github.wulkanowy.utils.isHolidays
import org.threeten.bp.LocalDate.now
@@ -27,9 +27,9 @@ import javax.inject.Singleton
class SyncManager @Inject constructor(
private val workManager: WorkManager,
private val preferencesRepository: PreferencesRepository,
+ channels: Set<@JvmSuppressWildcards Channel>,
+ notificationManager: NotificationManagerCompat,
sharedPrefProvider: SharedPrefProvider,
- newEntriesChannel: NewEntriesChannel,
- debugChannel: DebugChannel,
appInfo: AppInfo
) {
@@ -37,8 +37,8 @@ class SyncManager @Inject constructor(
if (now().isHolidays) stopSyncWorker()
if (SDK_INT > O) {
- newEntriesChannel.create()
- if (appInfo.isDebug) debugChannel.create()
+ channels.forEach { it.create() }
+ notificationManager.deleteNotificationChannel("new_entries_channel")
}
if (sharedPrefProvider.getLong(APP_VERSION_CODE_KEY, -1L) != appInfo.versionCode.toLong()) {

diff:
+package io.github.wulkanowy.services.sync.channels
+
+interface Channel {
+
+ fun create()
+}

diff:
@@ -7,19 +7,22 @@ import android.app.NotificationManager.IMPORTANCE_DEFAULT
import android.content.Context
import androidx.core.app.NotificationManagerCompat
import io.github.wulkanowy.R
+import io.github.wulkanowy.utils.AppInfo
import javax.inject.Inject
@TargetApi(26)
class DebugChannel @Inject constructor(
private val notificationManager: NotificationManagerCompat,
- private val context: Context
-) {
+ private val context: Context,
+ private val appInfo: AppInfo
+) : Channel {
companion object {
const val CHANNEL_ID = "debug_channel"
}
- fun create() {
+ override fun create() {
+ if (appInfo.isDebug) return
notificationManager.createNotificationChannel(
NotificationChannel(CHANNEL_ID, context.getString(R.string.channel_debug), IMPORTANCE_DEFAULT)
.apply {

diff:
+package io.github.wulkanowy.services.sync.channels
+
+import android.annotation.TargetApi
+import android.app.Notification
+import android.app.NotificationChannel
+import android.app.NotificationManager
+import android.content.Context
+import androidx.core.app.NotificationManagerCompat
+import io.github.wulkanowy.R
+import javax.inject.Inject
+
+@TargetApi(26)
+class LuckyNumberChannel @Inject constructor(
+ private val notificationManager: NotificationManagerCompat,
+ private val context: Context
+) : Channel {
+
+ companion object {
+ const val CHANNEL_ID = "lucky_number_channel"
+ }
+
+ override fun create() {
+ notificationManager.createNotificationChannel(
+ NotificationChannel(CHANNEL_ID, context.getString(R.string.channel_lucky_number), NotificationManager.IMPORTANCE_HIGH)
+ .apply {
+ enableLights(true)
+ enableVibration(true)
+ lockscreenVisibility = Notification.VISIBILITY_PUBLIC
+ })
+ }
+}

diff:
+package io.github.wulkanowy.services.sync.channels
+
+import android.annotation.TargetApi
+import android.app.Notification
+import android.app.NotificationChannel
+import android.app.NotificationManager
+import android.content.Context
+import androidx.core.app.NotificationManagerCompat
+import io.github.wulkanowy.R
+import javax.inject.Inject
+
+@TargetApi(26)
+class NewGradesChannel @Inject constructor(
+ private val notificationManager: NotificationManagerCompat,
+ private val context: Context
+) : Channel {
+
+ companion object {
+ const val CHANNEL_ID = "new_grade_channel"
+ }
+
+ override fun create() {
+ notificationManager.createNotificationChannel(
+ NotificationChannel(CHANNEL_ID, context.getString(R.string.channel_new_grades), NotificationManager.IMPORTANCE_HIGH)
+ .apply {
+ enableLights(true)
+ enableVibration(true)
+ lockscreenVisibility = Notification.VISIBILITY_PUBLIC
+ })
+ }
+}

diff:
+package io.github.wulkanowy.services.sync.channels
+
+import android.annotation.TargetApi
+import android.app.Notification
+import android.app.NotificationChannel
+import android.app.NotificationManager
+import android.content.Context
+import androidx.core.app.NotificationManagerCompat
+import io.github.wulkanowy.R
+import javax.inject.Inject
+
+@TargetApi(26)
+class NewMessagesChannel @Inject constructor(
+ private val notificationManager: NotificationManagerCompat,
+ private val context: Context
+) : Channel {
+
+ companion object {
+ const val CHANNEL_ID = "new_message_channel"
+ }
+
+ override fun create() {
+ notificationManager.createNotificationChannel(
+ NotificationChannel(CHANNEL_ID, context.getString(R.string.channel_new_message), NotificationManager.IMPORTANCE_HIGH)
+ .apply {
+ enableLights(true)
+ enableVibration(true)
+ lockscreenVisibility = Notification.VISIBILITY_PUBLIC
+ })
+ }
+}

diff:
package io.github.wulkanowy.services.sync.channels
import android.annotation.TargetApi
-import android.app.Notification.VISIBILITY_PUBLIC
+import android.app.Notification
import android.app.NotificationChannel
-import android.app.NotificationManager.IMPORTANCE_HIGH
+import android.app.NotificationManager
import android.content.Context
import androidx.core.app.NotificationManagerCompat
import io.github.wulkanowy.R
import javax.inject.Inject
@TargetApi(26)
-class NewEntriesChannel @Inject constructor(
+class NewNotesChannel @Inject constructor(
private val notificationManager: NotificationManagerCompat,
private val context: Context
-) {
+) : Channel {
companion object {
- const val CHANNEL_ID = "new_entries_channel"
+ const val CHANNEL_ID = "new_notes_channel"
}
- fun create() {
+ override fun create() {
notificationManager.createNotificationChannel(
- NotificationChannel(CHANNEL_ID, context.getString(R.string.channel_new_entries), IMPORTANCE_HIGH)
+ NotificationChannel(CHANNEL_ID, context.getString(R.string.channel_new_notes), NotificationManager.IMPORTANCE_HIGH)
.apply {
enableLights(true)
enableVibration(true)
- lockscreenVisibility = VISIBILITY_PUBLIC
+ lockscreenVisibility = Notification.VISIBILITY_PUBLIC
})
}
}

diff:
@@ -13,7 +13,7 @@ import io.github.wulkanowy.data.db.entities.Semester
import io.github.wulkanowy.data.db.entities.Student
import io.github.wulkanowy.data.repositories.grade.GradeRepository
import io.github.wulkanowy.data.repositories.preferences.PreferencesRepository
-import io.github.wulkanowy.services.sync.channels.NewEntriesChannel
+import io.github.wulkanowy.services.sync.channels.NewGradesChannel
import io.github.wulkanowy.ui.modules.main.MainActivity
import io.github.wulkanowy.ui.modules.main.MainView
import io.github.wulkanowy.utils.getCompatColor
@@ -38,7 +38,7 @@ class GradeWork @Inject constructor(
}
private fun notify(grades: List<Grade>) {
- notificationManager.notify(Random.nextInt(Int.MAX_VALUE), NotificationCompat.Builder(context, NewEntriesChannel.CHANNEL_ID)
+ notificationManager.notify(Random.nextInt(Int.MAX_VALUE), NotificationCompat.Builder(context, NewGradesChannel.CHANNEL_ID)
.setContentTitle(context.resources.getQuantityString(R.plurals.grade_new_items, grades.size, grades.size))
.setContentText(context.resources.getQuantityString(R.plurals.grade_notify_new_items, grades.size, grades.size))
.setSmallIcon(R.drawable.ic_stat_grade)

diff:
@@ -13,7 +13,7 @@ import io.github.wulkanowy.data.db.entities.Semester
import io.github.wulkanowy.data.db.entities.Student
import io.github.wulkanowy.data.repositories.luckynumber.LuckyNumberRepository
import io.github.wulkanowy.data.repositories.preferences.PreferencesRepository
-import io.github.wulkanowy.services.sync.channels.NewEntriesChannel
+import io.github.wulkanowy.services.sync.channels.LuckyNumberChannel
import io.github.wulkanowy.ui.modules.main.MainActivity
import io.github.wulkanowy.ui.modules.main.MainView
import io.github.wulkanowy.utils.getCompatColor
@@ -38,7 +38,7 @@ class LuckyNumberWork @Inject constructor(
}
private fun notify(luckyNumber: LuckyNumber) {
- notificationManager.notify(Random.nextInt(Int.MAX_VALUE), NotificationCompat.Builder(context, NewEntriesChannel.CHANNEL_ID)
+ notificationManager.notify(Random.nextInt(Int.MAX_VALUE), NotificationCompat.Builder(context, LuckyNumberChannel.CHANNEL_ID)
.setContentTitle(context.getString(R.string.lucky_number_notify_new_item_title))
.setContentText(context.getString(R.string.lucky_number_notify_new_item, luckyNumber.luckyNumber))
.setSmallIcon(R.drawable.ic_stat_luckynumber)

diff:
@@ -14,7 +14,7 @@ import io.github.wulkanowy.data.db.entities.Student
import io.github.wulkanowy.data.repositories.message.MessageFolder.RECEIVED
import io.github.wulkanowy.data.repositories.message.MessageRepository
import io.github.wulkanowy.data.repositories.preferences.PreferencesRepository
-import io.github.wulkanowy.services.sync.channels.NewEntriesChannel
+import io.github.wulkanowy.services.sync.channels.NewMessagesChannel
import io.github.wulkanowy.ui.modules.main.MainActivity
import io.github.wulkanowy.ui.modules.main.MainView
import io.github.wulkanowy.utils.getCompatColor
@@ -39,7 +39,7 @@ class MessageWork @Inject constructor(
}
private fun notify(messages: List<Message>) {
- notificationManager.notify(Random.nextInt(Int.MAX_VALUE), NotificationCompat.Builder(context, NewEntriesChannel.CHANNEL_ID)
+ notificationManager.notify(Random.nextInt(Int.MAX_VALUE), NotificationCompat.Builder(context, NewMessagesChannel.CHANNEL_ID)
.setContentTitle(context.resources.getQuantityString(R.plurals.message_new_items, messages.size, messages.size))
.setContentText(context.resources.getQuantityString(R.plurals.message_notify_new_items, messages.size, messages.size))
.setSmallIcon(R.drawable.ic_stat_message)

diff:
@@ -13,7 +13,7 @@ import io.github.wulkanowy.data.db.entities.Semester
import io.github.wulkanowy.data.db.entities.Student
import io.github.wulkanowy.data.repositories.note.NoteRepository
import io.github.wulkanowy.data.repositories.preferences.PreferencesRepository
-import io.github.wulkanowy.services.sync.channels.NewEntriesChannel
+import io.github.wulkanowy.services.sync.channels.NewNotesChannel
import io.github.wulkanowy.ui.modules.main.MainActivity
import io.github.wulkanowy.ui.modules.main.MainView
import io.github.wulkanowy.utils.getCompatColor
@@ -38,7 +38,7 @@ class NoteWork @Inject constructor(
}
private fun notify(notes: List<Note>) {
- notificationManager.notify(Random.nextInt(Int.MAX_VALUE), NotificationCompat.Builder(context, NewEntriesChannel.CHANNEL_ID)
+ notificationManager.notify(Random.nextInt(Int.MAX_VALUE), NotificationCompat.Builder(context, NewNotesChannel.CHANNEL_ID)
.setContentTitle(context.resources.getQuantityString(R.plurals.note_new_items, notes.size, notes.size))
.setContentText(context.resources.getQuantityString(R.plurals.note_notify_new_items, notes.size, notes.size))
.setSmallIcon(R.drawable.ic_stat_note)

diff:
<!--Notification Channels-->
<string name="channel_new_entries">New entries in register</string>
+ <string name="channel_new_grades">New grades</string>
+ <string name="channel_lucky_number">Lucky number</string>
+ <string name="channel_new_message">New messages</string>
+ <string name="channel_new_notes">New notes</string>
<string name="channel_debug">Debug</string>

repo: wulkanowy/wulkanowy

original_message: Add new notifications categories (#685)


message: Add German language

diff:
{
"displayName": "Dinolek",
"githubUsername": "Dinolek"
+ },
+ {
+ "displayName": "Mateusz Idziejczak",
+ "githubUsername": "PanTajemnic"
}
]

diff:
@@ -46,7 +46,7 @@ class AboutFragment : BaseFragment(), AboutView, MainView.TitledView {
override val creatorsRes: Triple<String, String, Drawable?>?
get() = context?.run {
- Triple(getString(R.string.about_creator), getString(R.string.about_creator_summary), getCompatDrawable(R.drawable.ic_about_creator))
+ Triple(getString(R.string.about_contributor), getString(R.string.about_contributor_summary), getCompatDrawable(R.drawable.ic_about_creator))
}
override val feedbackRes: Triple<String, String, Drawable?>?

diff:
@@ -10,12 +10,12 @@ import eu.davidea.viewholders.FlexibleViewHolder
import io.github.wulkanowy.R
import io.github.wulkanowy.data.pojos.AppCreator
import kotlinx.android.extensions.LayoutContainer
-import kotlinx.android.synthetic.main.item_creator.*
+import kotlinx.android.synthetic.main.item_contributor.*
class ContributorItem(val creator: AppCreator) :
AbstractFlexibleItem<ContributorItem.ViewHolder>() {
- override fun getLayoutRes() = R.layout.item_creator
+ override fun getLayoutRes() = R.layout.item_contributor
override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<*>>) = ViewHolder(view, adapter)

diff:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- xmlns:app="http://schemas.android.com/apk/res-auto">
+ android:layout_height="match_parent">
<me.zhanghai.android.materialprogressbar.MaterialProgressBar
android:id="@+id/creatorProgress"
android:layout_marginBottom="8dp"
android:layout_marginLeft="32dp"
android:layout_marginRight="32dp"
- android:text="@string/creator_see_more" />
+ android:text="@string/contributor_see_more" />
</LinearLayout>
</FrameLayout>

diff:
android:id="@+id/creatorItemAvatar"
android:layout_width="40dp"
android:layout_height="40dp"
- android:contentDescription="@string/creator_avatar_description"
+ android:contentDescription="@string/contributor_avatar_description"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"

diff:
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools">
+ <string-array name="app_theme_entries" tools:ignore="InconsistentArrays">
+ <item>System Thema</item>
+ <item>Licht</item>
+ <item>Dunkel</item>
+ <item>Schwarz (AMOLED)</item>
+ </string-array>
+</resources>

diff:
<!--About-->
<string name="about_version">App version</string>
- <string name="about_creator">Contributors</string>
- <string name="about_creator_summary">List of Wulkanowy developers</string>
+ <string name="about_contributor">Contributors</string>
+ <string name="about_contributor_summary">List of Wulkanowy developers</string>
<string name="about_feedback">Report a bug</string>
<string name="about_feedback_summary">Send a bug report via e-mail</string>
<string name="about_faq">FAQ</string>
<string name="license_dialog_title">License</string>
- <!--Creators-->
- <string name="creator_avatar_description">Avatar</string>
- <string name="creator_see_more">See more on GitHub</string>
+ <!--Contributor-->
+ <string name="contributor_avatar_description">Avatar</string>
+ <string name="contributor_see_more">See more on GitHub</string>
<!--Log viewer-->

original_message: Add German language (#712)


message: Add "System theme" option to widgets

diff:
@@ -4,6 +4,9 @@ import android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE
import android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID
import android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_IDS
import android.content.Intent
+import android.content.res.Configuration
+import android.content.res.Configuration.UI_MODE_NIGHT_YES
+import android.os.Build
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
@@ -13,6 +16,7 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
import io.github.wulkanowy.R
import io.github.wulkanowy.ui.base.BaseActivity
import io.github.wulkanowy.ui.modules.login.LoginActivity
+import io.github.wulkanowy.utils.AppInfo
import io.github.wulkanowy.utils.setOnItemClickListener
import kotlinx.android.synthetic.main.activity_widget_configure.*
import javax.inject.Inject
@@ -26,6 +30,9 @@ class LuckyNumberWidgetConfigureActivity : BaseActivity<LuckyNumberWidgetConfigu
@Inject
override lateinit var presenter: LuckyNumberWidgetConfigurePresenter
+ @Inject
+ lateinit var appInfo: AppInfo
+
private var dialog: AlertDialog? = null
override fun onCreate(savedInstanceState: Bundle?) {
@@ -48,16 +55,18 @@ class LuckyNumberWidgetConfigureActivity : BaseActivity<LuckyNumberWidgetConfigu
}
override fun showThemeDialog() {
- val items = arrayOf(
+ var items = arrayOf(
getString(R.string.widget_timetable_theme_light),
getString(R.string.widget_timetable_theme_dark)
)
+ if (appInfo.versionCode >= Build.VERSION_CODES.Q) items+=(getString(R.string.widget_timetable_theme_system))
dialog = AlertDialog.Builder(this, R.style.WulkanowyTheme_WidgetAccountSwitcher)
.setTitle(R.string.widget_timetable_theme_title)
.setOnDismissListener { presenter.onDismissThemeView() }
.setSingleChoiceItems(items, -1) { _, which ->
- presenter.onThemeSelect(which)
+ val isDarkMode = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == UI_MODE_NIGHT_YES
+ presenter.onThemeSelect(if (isDarkMode && which == 2 || which == 1) 1 else 0)
}
.show()
}

diff:
@@ -4,6 +4,9 @@ import android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE
import android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID
import android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_IDS
import android.content.Intent
+import android.content.res.Configuration
+import android.content.res.Configuration.UI_MODE_NIGHT_YES
+import android.os.Build
import android.os.Bundle
import android.widget.Toast
import android.widget.Toast.LENGTH_LONG
@@ -15,6 +18,7 @@ import io.github.wulkanowy.R
import io.github.wulkanowy.ui.base.BaseActivity
import io.github.wulkanowy.ui.modules.login.LoginActivity
import io.github.wulkanowy.ui.modules.timetablewidget.TimetableWidgetProvider.Companion.EXTRA_FROM_PROVIDER
+import io.github.wulkanowy.utils.AppInfo
import io.github.wulkanowy.utils.setOnItemClickListener
import kotlinx.android.synthetic.main.activity_widget_configure.*
import javax.inject.Inject
@@ -28,6 +32,9 @@ class TimetableWidgetConfigureActivity : BaseActivity<TimetableWidgetConfigurePr
@Inject
override lateinit var presenter: TimetableWidgetConfigurePresenter
+ @Inject
+ lateinit var appInfo: AppInfo
+
private var dialog: AlertDialog? = null
override fun onCreate(savedInstanceState: Bundle?) {
@@ -50,16 +57,18 @@ class TimetableWidgetConfigureActivity : BaseActivity<TimetableWidgetConfigurePr
}
override fun showThemeDialog() {
- val items = arrayOf(
+ var items = arrayOf(
getString(R.string.widget_timetable_theme_light),
getString(R.string.widget_timetable_theme_dark)
)
+ if (appInfo.versionCode >= Build.VERSION_CODES.Q) items += getString(R.string.widget_timetable_theme_system)
dialog = AlertDialog.Builder(this, R.style.WulkanowyTheme_WidgetAccountSwitcher)
.setTitle(R.string.widget_timetable_theme_title)
.setOnDismissListener { presenter.onDismissThemeView() }
.setSingleChoiceItems(items, -1) { _, which ->
- presenter.onThemeSelect(which)
+ val isDarkMode = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == UI_MODE_NIGHT_YES
+ presenter.onThemeSelect(if (isDarkMode && which == 2 || which == 1) 1 else 0)
}
.show()
}

diff:
<string name="widget_timetable_theme_title">Wybierz motyw</string>
<string name="widget_timetable_theme_light">Jasny</string>
<string name="widget_timetable_theme_dark">Ciemny</string>
+ <string name="widget_timetable_theme_system">Motyw systemu</string>
<!--Preferences-->

diff:
<string name="widget_timetable_theme_title">Choose theme</string>
<string name="widget_timetable_theme_light">Light</string>
<string name="widget_timetable_theme_dark">Dark</string>
+ <string name="widget_timetable_theme_system">System Theme</string>
<!--Preferences-->

original_message: Add "System theme" option to widgets (#739)


message: Disable notification sound

diff:
@@ -26,6 +26,7 @@ class UpcomingLessonsChannel @Inject constructor(
lockscreenVisibility = VISIBILITY_PUBLIC
setShowBadge(false)
enableVibration(false)
+ setSound(null, null)
}
)
}

original_message: Disable notification sound (#936)


diff:
@@ -44,6 +44,7 @@ class SyncManager @Inject constructor(
if (SDK_INT >= O) {
channels.forEach { it.create() }
+ notificationManager.deleteNotificationChannel("lesson_channel")
notificationManager.deleteNotificationChannel("new_entries_channel")
}

diff:
@@ -17,7 +17,7 @@ class UpcomingLessonsChannel @Inject constructor(
) : Channel {
companion object {
- const val CHANNEL_ID = "lesson_channel"
+ const val CHANNEL_ID = "upcoming_lesson_channel"
}
override fun create() {

original_message: Disable sound of upcoming lessons notification (fix) (#950)


message: Fix bug in grade statistics

diff:
@@ -164,8 +164,8 @@ class GradeStatisticsPresenter @Inject constructor(
Status.SUCCESS -> {
Timber.i("Loading grade stats result: Success")
view?.run {
- showEmpty(it.data!!.isEmpty())
- showContent(it.data.isNotEmpty())
+ showEmpty(it.data!!.isEmpty() || it.data.first().partial.isEmpty())
+ showContent(it.data.isNotEmpty() && it.data.first().partial.isNotEmpty())
showErrorView(false)
updateData(it.data, preferencesRepository.gradeColorTheme, preferencesRepository.showAllSubjectsOnStatisticsList)
showSubjects(!preferencesRepository.showAllSubjectsOnStatisticsList)

original_message: Fix bug in grade statistics (#951)