You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently all configuration in pkg.toml applies to all formats. This is problematic for dependencies (requires, provides, conflicts, replaces), because some dependencies are named differently on different distros. For example, applications written in Rust depend on a library which is packaged as libgcc1 on Debian, as libgcc on Fedora, and as gcc-libs on Arch Linux. Thus, if one wants to package an application that requires such a library, one needs to either use a macro system (such as m4), write a shell script using cat to concatenate different files into a single pkg.toml, or write a completely different pkg.toml for each distro (with a lot of duplicated parts which need to be updated in the future, laying ground for a slip-up). None of those seem particularly appealing to me.
Additionally, I'm planning on implementing a way to change the value for repo section for Debian packages. Currently it's hardcoded to misc. It applies only to Debian packages, so it would make sense to place it in a Debian-only section.
I think that some format-specific configuration could be useful. I'm thinking of something like this:
Currently all configuration in
pkg.toml
applies to all formats. This is problematic for dependencies (requires
,provides
,conflicts
,replaces
), because some dependencies are named differently on different distros. For example, applications written in Rust depend on a library which is packaged aslibgcc1
on Debian, aslibgcc
on Fedora, and asgcc-libs
on Arch Linux. Thus, if one wants to package an application that requires such a library, one needs to either use a macro system (such asm4
), write a shell script usingcat
to concatenate different files into a singlepkg.toml
, or write a completely differentpkg.toml
for each distro (with a lot of duplicated parts which need to be updated in the future, laying ground for a slip-up). None of those seem particularly appealing to me.Additionally, I'm planning on implementing a way to change the value for repo section for Debian packages. Currently it's hardcoded to
misc
. It applies only to Debian packages, so it would make sense to place it in a Debian-only section.I think that some format-specific configuration could be useful. I'm thinking of something like this:
This way
holo-build
could produce packages with the following dependencies, depending on the output format:[ "common-requires >= 2.0", "additional-debian-requires >= 2.0" ]
[ "common-requires >= 2.0", "additional-rpm-requires >= 2.0" ]
[ "common-requires >= 2.0", "additional-pacman-requires >= 2.0" ]
[ "common-provides = 1.2", "additional-debian-provides = 1.2" ]
[ "common-provides = 1.2", "additional-rpm-provides = 1.2" ]
[ "common-provides = 1.2", "additional-pacman-provides = 1.2" ]
[ "common-conflicts", "additional-debian-conflicts" ]
[ "common-conflicts", "additional-debian-conflicts" ]
[ "common-conflicts", "additional-debian-conflicts" ]
[ "common-replaces", "additional-debian-replaces" ]
[ "common-replaces", "additional-rpm-replaces" ]
[ "common-replaces", "additional-pacman-replaces" ]
And the
section
key is placed in Debian's section, as it's a Debian-specific option.Is that acceptable?
The text was updated successfully, but these errors were encountered: