# pkh end-to-end test catalog # # One entry per source package, exercised by run.py as: # pkh pull -> pkh chlog --rebuild -> pkh build -> pkh deb # # The catalog deliberately alternates between debian and ubuntu within # every category, so a default run exercises both archives, series # namings and chroots. # # The file is plain YAML but is also parsed by a small built-in parser when # PyYAML is unavailable: keep to the subset it supports — full-line comments, # 'key: value' scalars, inline [a, b] lists, no nested mappings, no block # scalars, no colons inside values. # # Fields (all optional except 'name'): # category free grouping label (smoke, server, desktop, ...) [defaults.tier] # tier smoke | standard | long — 'long' is only run when asked for # dist debian | ubuntu [defaults.dist] # series pin a series (default: the dist development series) # arch pass '-a ARCH' to 'pkh deb' # cross true -> also pass '--cross' (needs 'arch') [false] # pocket pass '-p POCKET' to pull/deb # ppa inline list of PPAs passed to 'pkh deb --ppa' # timeout per-stage budget in minutes [tier default] # xfail known-broken marker: the reason it is expected to fail # notes free text, shown by --list and in reports defaults: dist: debian tier: standard packages: # --- smoke: small, fast, reliable; the first line of defense ------------- - name: hello category: smoke tier: smoke tags: [gnu, autotools, tiny] notes: the canonical packaging smoke test - name: micro category: smoke tier: smoke tags: [go, editor, tiny] notes: Go build, golang build-dependencies resolved offline - name: jq category: smoke tier: smoke tags: [c, autotools, tiny] - name: htop category: smoke dist: ubuntu tier: smoke tags: [c, autotools, tiny] - name: tmux category: smoke tier: smoke tags: [c, autotools, tiny] - name: tree category: smoke dist: ubuntu tier: smoke tags: [c, make, tiny] - name: figlet category: smoke dist: ubuntu tier: smoke tags: [c, make, tiny] - name: dash category: smoke tier: smoke tags: [c, autotools, shell] - name: file category: smoke tier: smoke tags: [c, autotools] - name: zlib category: smoke dist: ubuntu tier: smoke tags: [c, autotools, lib] - name: xz-utils category: smoke tier: smoke tags: [c, autotools] xfail: sid carries the 5.8.1-1+deb13u1 trixie upload whose packaging fails at dh_installdocs (doxygen api docs missing) - package-side, under triage - name: busybox category: smoke dist: ubuntu tier: smoke tags: [c, kconfig, static] - name: dnsmasq category: smoke tier: smoke tags: [c, make, network] - name: memcached category: smoke dist: ubuntu tier: smoke tags: [c, autotools, server] - name: kbuild category: smoke tier: smoke tags: [c, kbuild, weird] notes: the virtualbox build system; exercises the kbuild log classifier # --- core ----------------------------------------------------------------- - name: bash category: core tags: [c, autotools, shell] - name: coreutils category: core dist: ubuntu tags: [c, autotools] - name: util-linux category: core tags: [c, autotools] - name: openssl category: core dist: ubuntu tags: [c, perl-build, lib] - name: vim category: core tags: [c, autotools, editor] - name: neovim category: core dist: ubuntu tags: [c, cmake, lua, editor] - name: git category: core tags: [c, make, vcs] - name: rust-ripgrep category: core dist: ubuntu tags: [rust, cargo] notes: debcargo-style vendored Rust build (binary name is ripgrep) - name: make-dfsg category: core tier: smoke tags: [c, autotools, tiny] notes: the GNU make source package (binary name is make) - name: systemd category: core dist: ubuntu tags: [c, meson, init] xfail: FTBFS against python3-lxml 6.1 - it no longer consults custom resolvers for parameter entities, so make-directive-index fails with 'Entity entities not defined' on the man pages - distro toolchain change, package-side # --- server --------------------------------------------------------------- - name: nginx category: server tags: [c, autoconf, server] - name: apache2 category: server dist: ubuntu tags: [c, autotools, server] - name: openssh category: server tags: [c, autotools, server] - name: postfix category: server dist: ubuntu tags: [c, make, mail, server] - name: dovecot category: server tags: [c, autotools, mail, server] - name: samba category: server dist: ubuntu tags: [c, python-waf, server] - name: bind9 category: server tags: [c, autotools, dns, server] - name: haproxy category: server dist: ubuntu tags: [c, make, network, server] - name: exim4 category: server tags: [c, make, mail, server] # --- databases -------------------------------------------------------------- - name: redis category: database tags: [c, make, server] - name: sqlite3 category: database dist: ubuntu tags: [c, autotools] - name: postgresql-17 category: database tags: [c, autotools, server] notes: long-ish but reliable; a good mid-weight benchmark - name: leveldb category: database dist: ubuntu tier: smoke tags: [cpp, cmake] - name: mysql-8.0 category: database tier: long dist: ubuntu timeout: 240 tags: [cpp, cmake, server] notes: Ubuntu-only source name; huge C++ build # --- desktop ---------------------------------------------------------------- - name: gtk4 category: desktop tags: [c, meson, gui] - name: vlc category: desktop dist: ubuntu tags: [cpp, autotools, gui] - name: gimp category: desktop tags: [c, meson, gui] - name: inkscape category: desktop dist: ubuntu tags: [cpp, cmake, gui] - name: mutter category: desktop tags: [c, meson, gui] - name: pipewire category: desktop dist: ubuntu tags: [c, meson, audio] - name: plasma-desktop category: desktop tags: [cpp, cmake, kde, gui] - name: gnome-control-center category: desktop dist: ubuntu tags: [c, meson, gui] - name: ffmpeg category: desktop tags: [c, autotools, media] # --- toolchains --------------------------------------------------------------- - name: binutils category: toolchain tags: [c, autotools] xfail: FTBFS against glibc 2.42+ - string.h turned strstr into a macro with C2x redirect annotations and gprofng's libcollector does not survive it ('expected identifier before _Generic') - upstream fixed it after 2.45, distro toolchain change - name: gdb category: toolchain dist: ubuntu tags: [c, autotools] - name: cmake category: toolchain tier: smoke tags: [cpp, cmake, bootstrap] # --- boot / firmware / weird ------------------------------------------------ - name: dracut category: boot-firmware tier: smoke tags: [shell, make, initramfs, weird] notes: unusual make logic; initramfs generator - name: opensbi category: boot-firmware tier: smoke tags: [c, make, firmware, weird] notes: RISC-V firmware, cross-built inside a native build - name: grub2 category: boot-firmware tags: [c, autotools, bootloader, weird] notes: multi-platform grub; heavy but dependable - name: u-boot category: boot-firmware dist: ubuntu arch: arm64 cross: true tags: [c, kconfig, firmware, weird, cross] notes: cross build for arm64; many board configs # --- long: hours each; opt-in via --tier long or --tier all ----------------- - name: gcc-14 category: toolchain dist: ubuntu tier: long timeout: 360 tags: [c, autotools, compiler] - name: glibc category: core tier: long timeout: 360 tags: [c, autotools, libc] - name: rustc category: toolchain tier: long timeout: 360 tags: [rust, compiler] notes: bootstraps the Rust compiler; the longest single build here - name: libreoffice category: desktop dist: ubuntu tier: long timeout: 480 tags: [cpp, make, office, gui] - name: firefox category: desktop tier: long timeout: 480 tags: [cpp, rust, browser, gui] - name: qt6-base category: desktop dist: ubuntu tier: long timeout: 360 tags: [cpp, cmake, gui] - name: linux category: kernel tier: long dist: ubuntu timeout: 480 tags: [c, kbuild, kernel, weird] notes: the Ubuntu kernel; multi-hour, many flavours, kbuild quirks apply - name: openjdk-21 category: toolchain tier: long dist: ubuntu timeout: 360 tags: [java, make, compiler]