[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

How to injecting user-defined fields in binary package control files



It's possible to add user-defined fields in the debian/control file using the `XBS-` method, as defined in the Policy Manual[1].

Something like this before calling dpkg-buildpackage will work to inject a new field into both the Source and Binary packages. But some packages don't contain debian/control as they generate it (kernel etc) so this is not always reliable.
```
sed -i "0,/^\s*$/s//XBS-Git-Branch: ${CI_COMMIT_BRANCH}\n/" debian/control
dpkg-buildpackage
```

It's possible to inject the user-defined field into the generated source package using options passed to dpkg-source[2]:
```
dpkg-buildpackage --source-option=-DGit-Branch=${CI_COMMIT_BRANCH}
```

However, that will only inject the field into the generated source package, not the generated binary packages. Is there a method to reliably inject fields into the binary packages?

Thanks,
Nick

  [1]: https://www.debian.org/doc/debian-policy/ch-controlfields.html#user-defined-fields
  [2]: https://manpages.debian.org/buster/dpkg-dev/dpkg-buildpackage.1.en.html

Reply to: