summaryrefslogtreecommitdiff
diff options
-rw-r--r--units/audio/jobs.pxu (renamed from jobs/audio.txt.in)0
-rw-r--r--units/benchmarks/jobs.pxu (renamed from jobs/benchmarks.txt.in)0
-rw-r--r--units/bluetooth/jobs.pxu (renamed from jobs/bluetooth.txt.in)5
-rw-r--r--units/bluetooth/manifest.pxu4
-rw-r--r--units/camera/jobs.pxu (renamed from jobs/camera.txt.in)4
-rw-r--r--units/camera/packaging.pxu3
-rw-r--r--units/codecs/jobs.pxu (renamed from jobs/codecs.txt.in)0
-rw-r--r--units/cpu/jobs.pxu (renamed from jobs/cpu.txt.in)0
-rw-r--r--units/daemons/jobs.pxu (renamed from jobs/daemons.txt.in)0
-rw-r--r--units/disk/jobs.pxu (renamed from jobs/disk.txt.in)10
-rw-r--r--units/disk/packaging.pxu9
-rw-r--r--units/dock/category.pxu31
-rw-r--r--units/dock/jobs.pxu (renamed from units/dock.pxu)32
-rw-r--r--units/esata/jobs.pxu (renamed from jobs/esata.txt.in)0
-rw-r--r--units/ethernet/jobs.pxu (renamed from jobs/ethernet.txt.in)4
-rw-r--r--units/ethernet/packaging.pxu3
-rw-r--r--units/expresscard/jobs.pxu (renamed from jobs/expresscard.txt.in)0
-rw-r--r--units/fingerprint/jobs.pxu (renamed from jobs/fingerprint.txt.in)0
-rw-r--r--units/firewire/jobs.pxu (renamed from jobs/firewire.txt.in)0
-rw-r--r--units/firmware/jobs.pxu (renamed from jobs/firmware.txt.in)0
-rw-r--r--units/floppy/jobs.pxu (renamed from jobs/floppy.txt.in)0
-rw-r--r--units/graphics/jobs.pxu (renamed from jobs/graphics.txt.in)0
-rw-r--r--units/graphics/legacy.pxu (renamed from jobs/graphics-legacy.txt.in)0
-rw-r--r--units/hibernate/jobs.pxu (renamed from jobs/hibernate.txt.in)0
-rw-r--r--units/info/jobs.pxu (renamed from jobs/info.txt.in)15
-rw-r--r--units/info/packaging.pxu14
-rw-r--r--units/input/jobs.pxu (renamed from jobs/input.txt.in)0
-rw-r--r--units/install/jobs.pxu (renamed from jobs/install.txt.in)0
-rw-r--r--units/keys/jobs.pxu (renamed from jobs/keys.txt.in)0
-rw-r--r--units/keys/manifest.pxu4
-rw-r--r--units/led/jobs.pxu (renamed from jobs/led.txt.in)0
-rw-r--r--units/mediacard/jobs.pxu (renamed from jobs/mediacard.txt.in)5
-rw-r--r--units/mediacard/manifest.pxu4
-rw-r--r--units/memory/jobs.pxu (renamed from jobs/memory.txt.in)0
-rw-r--r--units/mir/jobs.pxu (renamed from jobs/mir.txt.in)0
-rw-r--r--units/miscellanea/jobs.pxu (renamed from jobs/miscellanea.txt.in)0
-rw-r--r--units/mobilebroadband/jobs.pxu (renamed from jobs/mobilebroadband.txt.in)0
-rw-r--r--units/monitor/jobs.pxu (renamed from jobs/monitor.txt.in)0
-rw-r--r--units/networking/jobs.pxu (renamed from jobs/networking.txt.in)4
-rw-r--r--units/networking/packaging.pxu3
-rw-r--r--units/optical/jobs.pxu (renamed from jobs/optical.txt.in)0
-rw-r--r--units/panel_clock_test/jobs.pxu (renamed from jobs/panel_clock_test.txt.in)0
-rw-r--r--units/panel_reboot/jobs.pxu (renamed from jobs/panel_reboot.txt.in)0
-rw-r--r--units/peripheral/jobs.pxu (renamed from jobs/peripheral.txt.in)0
-rw-r--r--units/power-management/jobs.pxu (renamed from jobs/power-management.txt.in)0
-rw-r--r--units/rendercheck/jobs.pxu (renamed from jobs/rendercheck.txt.in)0
-rw-r--r--units/server-services/jobs.pxu (renamed from jobs/server-services.txt.in)0
-rw-r--r--units/smoke/jobs.pxu (renamed from jobs/smoke.txt.in)0
-rw-r--r--units/smoke/test-plan.pxu (renamed from units/smoke.pxu)0
-rw-r--r--units/stress/jobs.pxu (renamed from jobs/stress.txt.in)5
-rw-r--r--units/stress/packaging.pxu4
-rw-r--r--units/submission/jobs.pxu (renamed from jobs/submission.txt.in)8
-rw-r--r--units/submission/packaging.pxu7
-rw-r--r--units/suspend/suspend-graphics.pxu (renamed from jobs/suspend-graphics.txt.in)0
-rw-r--r--units/suspend/suspend.pxu (renamed from jobs/suspend.txt.in)0
-rw-r--r--units/thunderbolt/jobs.pxu (renamed from jobs/thunderbolt.pxu)10
-rw-r--r--units/thunderbolt/manifest.pxu9
-rw-r--r--units/touchpad/jobs.pxu (renamed from jobs/touchpad.txt.in)0
-rw-r--r--units/touchscreen/jobs.pxu (renamed from jobs/touchscreen.txt.in)5
-rw-r--r--units/touchscreen/manifest.pxu4
-rw-r--r--units/usb/manifest.pxu4
-rw-r--r--units/usb/usb-c.pxu (renamed from jobs/usb-c.txt.in)0
-rw-r--r--units/usb/usb.pxu (renamed from jobs/usb.txt.in)5
-rw-r--r--units/virtualization/jobs.pxu (renamed from jobs/virtualization.txt.in)0
-rw-r--r--units/wireless/jobs.pxu (renamed from jobs/wireless.txt.in)0
65 files changed, 103 insertions, 112 deletions
diff --git a/jobs/audio.txt.in b/units/audio/jobs.pxu
index fa75447..fa75447 100644
--- a/jobs/audio.txt.in
+++ b/units/audio/jobs.pxu
diff --git a/jobs/benchmarks.txt.in b/units/benchmarks/jobs.pxu
index 504401b..504401b 100644
--- a/jobs/benchmarks.txt.in
+++ b/units/benchmarks/jobs.pxu
diff --git a/jobs/bluetooth.txt.in b/units/bluetooth/jobs.pxu
index 0f4f409..0a246df 100644
--- a/jobs/bluetooth.txt.in
+++ b/units/bluetooth/jobs.pxu
@@ -1,8 +1,3 @@
-unit: manifest entry
-id: has_bt_smart
-_name: Bluetooth Smart (4.0 or later) Support
-value-type: bool
-
plugin: shell
category_id: com.canonical.plainbox::bluetooth
id: bluetooth/detect-output
diff --git a/units/bluetooth/manifest.pxu b/units/bluetooth/manifest.pxu
new file mode 100644
index 0000000..ebf5874
--- /dev/null
+++ b/units/bluetooth/manifest.pxu
@@ -0,0 +1,4 @@
+unit: manifest entry
+id: has_bt_smart
+_name: Bluetooth Smart (4.0 or later) Support
+value-type: bool
diff --git a/jobs/camera.txt.in b/units/camera/jobs.pxu
index f21b003..4db5222 100644
--- a/jobs/camera.txt.in
+++ b/units/camera/jobs.pxu
@@ -1,7 +1,3 @@
-unit: packaging meta-data
-os-id: debian
-Depends: gir1.2-cheese-3.0
-
plugin: shell
category_id: com.canonical.plainbox::camera
id: camera/detect
diff --git a/units/camera/packaging.pxu b/units/camera/packaging.pxu
new file mode 100644
index 0000000..bb12d64
--- /dev/null
+++ b/units/camera/packaging.pxu
@@ -0,0 +1,3 @@
+unit: packaging meta-data
+os-id: debian
+Depends: gir1.2-cheese-3.0
diff --git a/jobs/codecs.txt.in b/units/codecs/jobs.pxu
index 7ad2d4b..7ad2d4b 100644
--- a/jobs/codecs.txt.in
+++ b/units/codecs/jobs.pxu
diff --git a/jobs/cpu.txt.in b/units/cpu/jobs.pxu
index bdea273..bdea273 100644
--- a/jobs/cpu.txt.in
+++ b/units/cpu/jobs.pxu
diff --git a/jobs/daemons.txt.in b/units/daemons/jobs.pxu
index d528bdf..d528bdf 100644
--- a/jobs/daemons.txt.in
+++ b/units/daemons/jobs.pxu
diff --git a/jobs/disk.txt.in b/units/disk/jobs.pxu
index b6b1553..072ac52 100644
--- a/jobs/disk.txt.in
+++ b/units/disk/jobs.pxu
@@ -1,8 +1,3 @@
-# This is for disk/apste_support_on_*
-unit: packaging meta-data
-os-id: debian
-Depends: nvme-cli
-
plugin: shell
category_id: com.canonical.plainbox::disk
id: disk/detect
@@ -81,11 +76,6 @@ _summary: Disk I/O stress test for {product}
_description: Take the path of the storage device and test is it a block device
command: storage_test {name}
-# The stress/disk_stress_ng_test job requires uuid-runtime package
-unit: packaging meta-data
-os-id: debian
-Depends: uuid-runtime
-
unit: template
template-resource: device
template-filter: device.category == 'DISK'
diff --git a/units/disk/packaging.pxu b/units/disk/packaging.pxu
new file mode 100644
index 0000000..515d8e1
--- /dev/null
+++ b/units/disk/packaging.pxu
@@ -0,0 +1,9 @@
+# This is for disk/apste_support_on_*
+unit: packaging meta-data
+os-id: debian
+Depends: nvme-cli
+
+# The stress/disk_stress_ng_test job requires uuid-runtime package
+unit: packaging meta-data
+os-id: debian
+Depends: uuid-runtime
diff --git a/units/dock/category.pxu b/units/dock/category.pxu
new file mode 100644
index 0000000..5483c39
--- /dev/null
+++ b/units/dock/category.pxu
@@ -0,0 +1,31 @@
+unit: category
+id: dock
+_name: Docking station tests
+
+unit: category
+id: dock-display
+_name: Docking station display tests
+
+unit: category
+id: dock-audio
+_name: Docking station audio tests
+
+unit: category
+id: dock-network
+_name: Docking station network tests
+
+unit: category
+id: dock-usb
+_name: Docking station usb tests
+
+unit: category
+id: dock-hotplug
+_name: Docking station hotplug tests
+
+unit: category
+id: suspend-undock-resume
+_name: Docking station functional tests after suspend, undocked, resume.
+
+unit: category
+id: suspend-dock-resume
+_name: Docking station functional tests after suspend, undocked, docked, resume.
diff --git a/units/dock.pxu b/units/dock/jobs.pxu
index 7e66a60..34decb6 100644
--- a/units/dock.pxu
+++ b/units/dock/jobs.pxu
@@ -1,35 +1,3 @@
-unit: category
-id: dock
-_name: Docking station tests
-
-unit: category
-id: dock-display
-_name: Docking station display tests
-
-unit: category
-id: dock-audio
-_name: Docking station audio tests
-
-unit: category
-id: dock-network
-_name: Docking station network tests
-
-unit: category
-id: dock-usb
-_name: Docking station usb tests
-
-unit: category
-id: dock-hotplug
-_name: Docking station hotplug tests
-
-unit: category
-id: suspend-undock-resume
-_name: Docking station functional tests after suspend, undocked, resume.
-
-unit: category
-id: suspend-dock-resume
-_name: Docking station functional tests after suspend, undocked, docked, resume.
-
id: dock/docking
category_id: dock
plugin: manual
diff --git a/jobs/esata.txt.in b/units/esata/jobs.pxu
index 65778eb..65778eb 100644
--- a/jobs/esata.txt.in
+++ b/units/esata/jobs.pxu
diff --git a/jobs/ethernet.txt.in b/units/ethernet/jobs.pxu
index 7e384ec..90e0edf 100644
--- a/jobs/ethernet.txt.in
+++ b/units/ethernet/jobs.pxu
@@ -1,7 +1,3 @@
-unit: packaging meta-data
-os-id: debian
-Depends: kmod
-
plugin: shell
category_id: com.canonical.plainbox::ethernet
id: ethernet/detect
diff --git a/units/ethernet/packaging.pxu b/units/ethernet/packaging.pxu
new file mode 100644
index 0000000..7d4a812
--- /dev/null
+++ b/units/ethernet/packaging.pxu
@@ -0,0 +1,3 @@
+unit: packaging meta-data
+os-id: debian
+Depends: kmod
diff --git a/jobs/expresscard.txt.in b/units/expresscard/jobs.pxu
index a1245b9..a1245b9 100644
--- a/jobs/expresscard.txt.in
+++ b/units/expresscard/jobs.pxu
diff --git a/jobs/fingerprint.txt.in b/units/fingerprint/jobs.pxu
index c7951b0..c7951b0 100644
--- a/jobs/fingerprint.txt.in
+++ b/units/fingerprint/jobs.pxu
diff --git a/jobs/firewire.txt.in b/units/firewire/jobs.pxu
index 9a0df3f..9a0df3f 100644
--- a/jobs/firewire.txt.in
+++ b/units/firewire/jobs.pxu
diff --git a/jobs/firmware.txt.in b/units/firmware/jobs.pxu
index 7c777a2..7c777a2 100644
--- a/jobs/firmware.txt.in
+++ b/units/firmware/jobs.pxu
diff --git a/jobs/floppy.txt.in b/units/floppy/jobs.pxu
index ff4018d..ff4018d 100644
--- a/jobs/floppy.txt.in
+++ b/units/floppy/jobs.pxu
diff --git a/jobs/graphics.txt.in b/units/graphics/jobs.pxu
index a7af65a..a7af65a 100644
--- a/jobs/graphics.txt.in
+++ b/units/graphics/jobs.pxu
diff --git a/jobs/graphics-legacy.txt.in b/units/graphics/legacy.pxu
index 91eb888..91eb888 100644
--- a/jobs/graphics-legacy.txt.in
+++ b/units/graphics/legacy.pxu
diff --git a/jobs/hibernate.txt.in b/units/hibernate/jobs.pxu
index 75f233f..75f233f 100644
--- a/jobs/hibernate.txt.in
+++ b/units/hibernate/jobs.pxu
diff --git a/jobs/info.txt.in b/units/info/jobs.pxu
index 900d4c7..0588e26 100644
--- a/jobs/info.txt.in
+++ b/units/info/jobs.pxu
@@ -1,18 +1,3 @@
-# The dkms_info script requires python3-debian package
-unit: packaging meta-data
-os-id: debian
-Depends: python3-debian
-
-# The dkms_info script requires python3-guacamole package
-unit: packaging meta-data
-os-id: debian
-Depends: python3-guacamole (>= 0.9)
-
-# This is for lsblk attachment and disk/detect
-unit: packaging meta-data
-os-id: debian
-Depends: util-linux
-
id: codecs_attachment
plugin: attachment
category_id: com.canonical.plainbox::info
diff --git a/units/info/packaging.pxu b/units/info/packaging.pxu
new file mode 100644
index 0000000..26d76cb
--- /dev/null
+++ b/units/info/packaging.pxu
@@ -0,0 +1,14 @@
+# The dkms_info script requires python3-debian package
+unit: packaging meta-data
+os-id: debian
+Depends: python3-debian
+
+# The dkms_info script requires python3-guacamole package
+unit: packaging meta-data
+os-id: debian
+Depends: python3-guacamole (>= 0.9)
+
+# This is for lsblk attachment and disk/detect
+unit: packaging meta-data
+os-id: debian
+Depends: util-linux
diff --git a/jobs/input.txt.in b/units/input/jobs.pxu
index 0bf880d..0bf880d 100644
--- a/jobs/input.txt.in
+++ b/units/input/jobs.pxu
diff --git a/jobs/install.txt.in b/units/install/jobs.pxu
index ae22103..ae22103 100644
--- a/jobs/install.txt.in
+++ b/units/install/jobs.pxu
diff --git a/jobs/keys.txt.in b/units/keys/jobs.pxu
index 900602a..900602a 100644
--- a/jobs/keys.txt.in
+++ b/units/keys/jobs.pxu
diff --git a/units/keys/manifest.pxu b/units/keys/manifest.pxu
new file mode 100644
index 0000000..3b5e2df
--- /dev/null
+++ b/units/keys/manifest.pxu
@@ -0,0 +1,4 @@
+unit: manifest entry
+id: has_special keys
+_name: Special keys Support
+value-type: bool
diff --git a/jobs/led.txt.in b/units/led/jobs.pxu
index 17ce655..17ce655 100644
--- a/jobs/led.txt.in
+++ b/units/led/jobs.pxu
diff --git a/jobs/mediacard.txt.in b/units/mediacard/jobs.pxu
index 16efaaa..ab00396 100644
--- a/jobs/mediacard.txt.in
+++ b/units/mediacard/jobs.pxu
@@ -1,8 +1,3 @@
-unit: manifest entry
-id: has_card_reader
-_name: Media Card Reader
-value-type: bool
-
plugin: user-interact
category_id: com.canonical.plainbox::mediacard
id: mediacard/mmc-insert
diff --git a/units/mediacard/manifest.pxu b/units/mediacard/manifest.pxu
new file mode 100644
index 0000000..a0199db
--- /dev/null
+++ b/units/mediacard/manifest.pxu
@@ -0,0 +1,4 @@
+unit: manifest entry
+id: has_card_reader
+_name: Media Card Reader
+value-type: bool
diff --git a/jobs/memory.txt.in b/units/memory/jobs.pxu
index 48d543c..48d543c 100644
--- a/jobs/memory.txt.in
+++ b/units/memory/jobs.pxu
diff --git a/jobs/mir.txt.in b/units/mir/jobs.pxu
index 113f713..113f713 100644
--- a/jobs/mir.txt.in
+++ b/units/mir/jobs.pxu
diff --git a/jobs/miscellanea.txt.in b/units/miscellanea/jobs.pxu
index a162dce..a162dce 100644
--- a/jobs/miscellanea.txt.in
+++ b/units/miscellanea/jobs.pxu
diff --git a/jobs/mobilebroadband.txt.in b/units/mobilebroadband/jobs.pxu
index 0c83428..0c83428 100644
--- a/jobs/mobilebroadband.txt.in
+++ b/units/mobilebroadband/jobs.pxu
diff --git a/jobs/monitor.txt.in b/units/monitor/jobs.pxu
index 36425db..36425db 100644
--- a/jobs/monitor.txt.in
+++ b/units/monitor/jobs.pxu
diff --git a/jobs/networking.txt.in b/units/networking/jobs.pxu
index 2b31db6..92eadd4 100644
--- a/jobs/networking.txt.in
+++ b/units/networking/jobs.pxu
@@ -1,7 +1,3 @@
-unit: packaging meta-data
-os-id: debian
-Depends: ntpdate, net-tools
-
plugin: shell
category_id: com.canonical.plainbox::networking
id: networking/gateway_ping
diff --git a/units/networking/packaging.pxu b/units/networking/packaging.pxu
new file mode 100644
index 0000000..b71caa7
--- /dev/null
+++ b/units/networking/packaging.pxu
@@ -0,0 +1,3 @@
+unit: packaging meta-data
+os-id: debian
+Depends: ntpdate, net-tools
diff --git a/jobs/optical.txt.in b/units/optical/jobs.pxu
index 707c02d..707c02d 100644
--- a/jobs/optical.txt.in
+++ b/units/optical/jobs.pxu
diff --git a/jobs/panel_clock_test.txt.in b/units/panel_clock_test/jobs.pxu
index 206c8b6..206c8b6 100644
--- a/jobs/panel_clock_test.txt.in
+++ b/units/panel_clock_test/jobs.pxu
diff --git a/jobs/panel_reboot.txt.in b/units/panel_reboot/jobs.pxu
index 7680874..7680874 100644
--- a/jobs/panel_reboot.txt.in
+++ b/units/panel_reboot/jobs.pxu
diff --git a/jobs/peripheral.txt.in b/units/peripheral/jobs.pxu
index 95992ed..95992ed 100644
--- a/jobs/peripheral.txt.in
+++ b/units/peripheral/jobs.pxu
diff --git a/jobs/power-management.txt.in b/units/power-management/jobs.pxu
index 2521f81..2521f81 100644
--- a/jobs/power-management.txt.in
+++ b/units/power-management/jobs.pxu
diff --git a/jobs/rendercheck.txt.in b/units/rendercheck/jobs.pxu
index ff386a4..ff386a4 100644
--- a/jobs/rendercheck.txt.in
+++ b/units/rendercheck/jobs.pxu
diff --git a/jobs/server-services.txt.in b/units/server-services/jobs.pxu
index de388be..de388be 100644
--- a/jobs/server-services.txt.in
+++ b/units/server-services/jobs.pxu
diff --git a/jobs/smoke.txt.in b/units/smoke/jobs.pxu
index 0e16299..0e16299 100644
--- a/jobs/smoke.txt.in
+++ b/units/smoke/jobs.pxu
diff --git a/units/smoke.pxu b/units/smoke/test-plan.pxu
index bcd69c6..bcd69c6 100644
--- a/units/smoke.pxu
+++ b/units/smoke/test-plan.pxu
diff --git a/jobs/stress.txt.in b/units/stress/jobs.pxu
index 9749a4e..d1a8146 100644
--- a/jobs/stress.txt.in
+++ b/units/stress/jobs.pxu
@@ -11,11 +11,6 @@ _description:
several hours. The test is considered passed if the system does not freeze or
abend.
-# The stress/cpu_stress_ng_test job requires stress-ng package
-unit: packaging meta-data
-os-id: debian
-Depends: stress-ng (>= 0.04)
-
plugin: shell
category_id: com.canonical.plainbox::stress
id: stress/cpu_stress_ng_test
diff --git a/units/stress/packaging.pxu b/units/stress/packaging.pxu
new file mode 100644
index 0000000..708944e
--- /dev/null
+++ b/units/stress/packaging.pxu
@@ -0,0 +1,4 @@
+# The stress/cpu_stress_ng_test job requires stress-ng package
+unit: packaging meta-data
+os-id: debian
+Depends: stress-ng (>= 0.04)
diff --git a/jobs/submission.txt.in b/units/submission/jobs.pxu
index 2005f04..4c929b0 100644
--- a/jobs/submission.txt.in
+++ b/units/submission/jobs.pxu
@@ -15,14 +15,6 @@ category_id: com.canonical.plainbox::info
command: udevadm info --export-db | plainbox dev parse udevadm
_description: Attaches json dumps of udev_resource
-unit: packaging meta-data
-os-id: debian
-Depends: jq
-
-unit: packaging meta-data
-os-id: debian
-Depends: plainbox
-
id: raw_devices_dmi_json
plugin: attachment
category_id: com.canonical.plainbox::info
diff --git a/units/submission/packaging.pxu b/units/submission/packaging.pxu
new file mode 100644
index 0000000..ce8cc1c
--- /dev/null
+++ b/units/submission/packaging.pxu
@@ -0,0 +1,7 @@
+unit: packaging meta-data
+os-id: debian
+Depends: jq
+
+unit: packaging meta-data
+os-id: debian
+Depends: plainbox
diff --git a/jobs/suspend-graphics.txt.in b/units/suspend/suspend-graphics.pxu
index c85d147..c85d147 100644
--- a/jobs/suspend-graphics.txt.in
+++ b/units/suspend/suspend-graphics.pxu
diff --git a/jobs/suspend.txt.in b/units/suspend/suspend.pxu
index 60c489d..60c489d 100644
--- a/jobs/suspend.txt.in
+++ b/units/suspend/suspend.pxu
diff --git a/jobs/thunderbolt.pxu b/units/thunderbolt/jobs.pxu
index 393d890..188b2f6 100644
--- a/jobs/thunderbolt.pxu
+++ b/units/thunderbolt/jobs.pxu
@@ -1,13 +1,3 @@
-unit: manifest entry
-id: has_thunderbolt
-_name: Thunderbolt Support
-value-type: bool
-
-unit: manifest entry
-id: has_thunderbolt3
-_name: Thunderbolt 3 Support
-value-type: bool
-
plugin: user-interact
category_id: com.canonical.plainbox::disk
id: thunderbolt/insert
diff --git a/units/thunderbolt/manifest.pxu b/units/thunderbolt/manifest.pxu
new file mode 100644
index 0000000..f8926f9
--- /dev/null
+++ b/units/thunderbolt/manifest.pxu
@@ -0,0 +1,9 @@
+unit: manifest entry
+id: has_thunderbolt
+_name: Thunderbolt Support
+value-type: bool
+
+unit: manifest entry
+id: has_thunderbolt3
+_name: Thunderbolt 3 Support
+value-type: bool
diff --git a/jobs/touchpad.txt.in b/units/touchpad/jobs.pxu
index ed23ad2..ed23ad2 100644
--- a/jobs/touchpad.txt.in
+++ b/units/touchpad/jobs.pxu
diff --git a/jobs/touchscreen.txt.in b/units/touchscreen/jobs.pxu
index 7884640..51b4a4e 100644
--- a/jobs/touchscreen.txt.in
+++ b/units/touchscreen/jobs.pxu
@@ -1,8 +1,3 @@
-unit: manifest entry
-id: has_touchscreen
-_name: Touchscreen
-value-type: bool
-
plugin: shell
category_id: com.canonical.plainbox::touchscreen
id: touchscreen/nontouch-automated
diff --git a/units/touchscreen/manifest.pxu b/units/touchscreen/manifest.pxu
new file mode 100644
index 0000000..733f01e
--- /dev/null
+++ b/units/touchscreen/manifest.pxu
@@ -0,0 +1,4 @@
+unit: manifest entry
+id: has_touchscreen
+_name: Touchscreen
+value-type: bool
diff --git a/units/usb/manifest.pxu b/units/usb/manifest.pxu
new file mode 100644
index 0000000..914e892
--- /dev/null
+++ b/units/usb/manifest.pxu
@@ -0,0 +1,4 @@
+unit: manifest entry
+id: has_usb_type_c
+_name: USB Type-C Support
+value-type: bool
diff --git a/jobs/usb-c.txt.in b/units/usb/usb-c.pxu
index 9a77664..9a77664 100644
--- a/jobs/usb-c.txt.in
+++ b/units/usb/usb-c.pxu
diff --git a/jobs/usb.txt.in b/units/usb/usb.pxu
index be80593..6615401 100644
--- a/jobs/usb.txt.in
+++ b/units/usb/usb.pxu
@@ -1,8 +1,3 @@
-unit: manifest entry
-id: has_usb_type_c
-_name: USB Type-C Support
-value-type: bool
-
plugin: shell
category_id: com.canonical.plainbox::usb
id: usb/detect
diff --git a/jobs/virtualization.txt.in b/units/virtualization/jobs.pxu
index 39f37e9..39f37e9 100644
--- a/jobs/virtualization.txt.in
+++ b/units/virtualization/jobs.pxu
diff --git a/jobs/wireless.txt.in b/units/wireless/jobs.pxu
index cf13a3c..cf13a3c 100644
--- a/jobs/wireless.txt.in
+++ b/units/wireless/jobs.pxu