summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--profiles/alt-controller.toml102
-rw-r--r--tests/model_validation.rs21
-rw-r--r--tests/package_installer.rs4
3 files changed, 122 insertions, 5 deletions
diff --git a/profiles/alt-controller.toml b/profiles/alt-controller.toml
index fa903fb..60c9226 100644
--- a/profiles/alt-controller.toml
+++ b/profiles/alt-controller.toml
@@ -10,11 +10,105 @@ flavour = "rt"
initrd_features = ["add-modules", "compress", "cleanup", "rdshell", "rootfs", "qemu", "usb"]
initrd_modules = ["ext4", "ahci.ko", "ahci_platform.ko", "sd_mod.ko", "virtio_blk.ko", "virtio_net.ko", "virtio_pci.ko"]
+# Explicit, typed replacement for the retired profile's vendored package lists.
+# Conditional legacy selectors are resolved for the x86_64 Controller target.
[packages]
base = [
- "basesystem", "fakeroot", "interactivesystem", "shadow-utils", "e2fsprogs",
- "apt", "apt-https", "bootloader-utils", "make-initrd", "chrony",
- "systemd-networkd", "iputils", "control", "openssh-server", "systemd-sysvinit",
- "libiec61850"
+ "anacron",
+ "apt",
+ "apt-https",
+ "apt-repo",
+ "apt-rsync",
+ "apt-scripts",
+ "attr",
+ "audit",
+ "basesystem",
+ "bash-completion-util-linux",
+ "bootloader-utils",
+ "ca-certificates-digital.gov.ru",
+ "cgroup",
+ "chkconfig",
+ "chrony",
+ "control",
+ "cpio",
+ "cpupower",
+ "curl",
+ "dhcpcd",
+ "e2fsprogs",
+ "etcnet",
+ "fakeroot",
+ "fdisk",
+ "firmware-intel-ucode",
+ "fwupd",
+ "fwupd-efi",
+ "gcrypt-gost-utils",
+ "glibc-timezones",
+ "gnutls-utils",
+ "gostsum",
+ "gzip-utils",
+ "hdparm",
+ "hostinfo",
+ "hwclock",
+ "iftop",
+ "installer-feature-online-repo",
+ "interactivesystem",
+ "inxi",
+ "ipmitool",
+ "iptables",
+ "iputils",
+ "irqbalance",
+ "iucode_tool",
+ "kbd",
+ "keyutils",
+ "lft",
+ "libgcrypt-gost20",
+ "libiec61850",
+ "linuxptp",
+ "lm_sensors3",
+ "local-policy",
+ "lsof",
+ "make-initrd",
+ "make-initrd-multipath",
+ "make-initrd-ucode",
+ "mtr",
+ "multipath-tools",
+ "netlist",
+ "ntpdate",
+ "openresolv",
+ "openssh",
+ "openssh-askpass-common",
+ "openssh-blacklist",
+ "openssh-clients",
+ "openssh-common",
+ "openssh-server",
+ "openssh-server-control",
+ "openssl",
+ "openssl-gost-engine",
+ "pciids",
+ "pciutils",
+ "rsync",
+ "rsyslog",
+ "setarch",
+ "sfdisk",
+ "shadow-suite",
+ "shadow-utils",
+ "smartmontools",
+ "su",
+ "sysstat",
+ "systemd",
+ "systemd-analyze",
+ "systemd-networkd",
+ "systemd-sysvinit",
+ "tar",
+ "tcpdump",
+ "terminfo-extra",
+ "traceroute",
+ "udev",
+ "unzip",
+ "update-kernel",
+ "usbutils",
+ "whois",
+ "xz",
+ "zip",
]
selectors = ["^kernel-(image|modules-())-(rt)$"]
diff --git a/tests/model_validation.rs b/tests/model_validation.rs
index 5134a6f..f94a656 100644
--- a/tests/model_validation.rs
+++ b/tests/model_validation.rs
@@ -42,6 +42,27 @@ fn parses_a_typed_image_spec() {
}
#[test]
+fn controller_spec_preserves_the_vendored_controller_package_set() {
+ let spec = ImageSpec::load(std::path::Path::new("profiles/alt-controller.toml"))
+ .expect("controller spec parses");
+
+ assert_eq!(spec.packages.base.len(), 96);
+ for package in [
+ "make-initrd-multipath",
+ "firmware-intel-ucode",
+ "openssh-server-control",
+ "systemd-analyze",
+ "libiec61850",
+ "rsyslog",
+ ] {
+ assert!(
+ spec.packages.base.iter().any(|candidate| candidate == package),
+ "controller package set must contain {package}"
+ );
+ }
+}
+
+#[test]
fn compiles_a_validated_spec_into_an_immutable_build_plan() {
let spec = load(VALID_SPEC).expect("valid spec");
let plan = BuildPlan::compile(spec).expect("plan compiles");
diff --git a/tests/package_installer.rs b/tests/package_installer.rs
index b322aa9..e527f14 100644
--- a/tests/package_installer.rs
+++ b/tests/package_installer.rs
@@ -84,7 +84,9 @@ fn build_plan_compiles_its_typed_package_request() {
assert_eq!(request.workdir(), std::path::Path::new("work/alt-controller"));
assert_eq!(request.apt_config().as_path(), std::path::Path::new("profiles/apt.conf"));
- assert_eq!(request.packages()[0], "apt");
+ assert_eq!(request.packages()[0], "anacron");
+ assert!(request.packages().contains(&"apt".to_owned()));
assert!(request.packages().contains(&"libiec61850".to_owned()));
+ assert!(request.packages().contains(&"make-initrd-multipath".to_owned()));
assert_eq!(request.selectors(), ["^kernel-(image|modules-())-(rt)$"]);
}