Commit Graph
17 Commits
Author SHA1 Message Date
vhaudiquet d044f757e9 new: scaffold new Debian source packages (non-interactive core) 2026-09-16 12:14:09 +02:00
vhaudiquet f72b35acfa Handle malformed remote and edge-case data instead of panicking
- distro_info: malformed CSV rows are skipped with a warning, dates
  that fail to parse become None, and all plain HTTP requests go
  through a shared reqwest client with connect/total timeouts
- package_info: the Sources stanza iterator is iterative (a crafted
  index with many blank stanzas overflowed the stack), stanzas missing
  a Version are skipped, and failed series/pocket probes are summarized
  in the final 'not found' error instead of being silently dropped
- pull: no double unwrap on the remote-derived artifact filename, an
  empty series list is an error, and streaming downloads get a
  per-request timeout
- deb/cross: dpkg-architecture output parsing skips unexpected lines
  and its exit status is checked, as is dpkg --add-architecture
- changelog: version increments parse as u64 with checked arithmetic
  (1.0-20250123123456 used to panic on the u32 parse)
2026-09-16 02:44:45 +02:00
vhaudiquet c2e1288bc5 build,debian: extract reusable Debian format primitives from build/
Move the generic components out of src/build/ into a new src/debian/
module so they can be reused independently of the build pipeline:
deb822 control parsing (plus the debian/control model), file checksum
registry, debian/files registry, Debian version handling and changelog
entry parsing.

Merge OpenPGP clearsigning into utils/gpg.rs next to the existing key
discovery helper, making signing available outside of builds.

Delegate changelog.rs header/footer parsing to the new
debian::changelog parser, removing the duplicate regex implementation.

src/build/ keeps only build-specific logic: the pipeline driver,
build types, environment setup and the .buildinfo/.changes writers.
2026-08-23 01:43:41 +02:00
vhaudiquet d3a07bc80d chlog: add series selector
CI / build (push) Successful in 15m3s
CI / snap (push) Successful in 2m6s
2026-08-11 14:42:23 +02:00
vhaudiquet 768e1c4f78 fmt
CI / build (push) Failing after 1m56s
CI / snap (push) Has been skipped
2026-07-22 14:36:28 +02:00
vhaudiquet c4b59a4376 context: copy symlinks as symlinks and improve error messages 2026-07-17 10:12:46 +02:00
vhaudiquet 1b659ce6f4 build, changelog: fix signing when building source package
CI / build (push) Failing after 7m8s
2026-01-09 17:21:07 +01:00
vhaudiquet 1c9f6cccd2 build: only sign if a gpg key able to sign is present
CI / build (push) Failing after 1m50s
2026-01-06 18:07:34 +01:00
vhaudiquet b3365afe5b docs: added documentation, enforced documentation
CI / build (push) Successful in 7m21s
2026-01-01 18:37:40 +01:00
vhaudiquet 4e8c307fd5 deb: first implementation 2025-12-10 18:40:32 +01:00
vhaudiquet 49f0ff004e changelog: allow writing changelog in a non-git package
CI / build (push) Successful in 3m0s
2025-12-01 14:24:12 +01:00
vhaudiquet 5c7b20f847 linter: run linter and format
CI / build (push) Successful in 1m40s
2025-12-01 00:05:39 +01:00
vhaudiquet 2cfbb69fe7 format: run cargo fmt
CI / build (push) Successful in 1m44s
2025-11-30 12:51:52 +01:00
vhaudiquet 0c3c5404f9 changelog: fix test, provide maintainer info
CI / build (push) Successful in 1m12s
2025-11-28 17:18:52 +01:00
vhaudiquet bd93afd9e8 changelog: fix tests for rust2024
CI / build (push) Failing after 1m8s
2025-11-28 15:39:25 +01:00
vhaudiquet 9c15490774 changelog: obtain maintainer infomation 2025-11-27 23:43:33 +01:00
vhaudiquet a4d2441b0a changelog: added changelog 2025-11-26 21:30:34 +01:00