mgorny / portage

Portage fork for pull requests (also used to carry portage-mgorny)
GNU General Public License v2.0
26 stars 0 forks source link

New, PMS-compliant binary package format #18

Open mgorny opened 6 years ago

mgorny commented 6 years ago

Inspired by Paludis' pbins. Instead of fancy tarball-with-tail, we create regular tarball + .ebuild file that unpacks and installs it. In the most basic form, easy to do and easy to use. Packages fully reusable in all package managers, and cleanly integrating between ebuild repositories (i.e. without magic matching to ebuilds and so on).

Problems:

  1. We currently detect changes in ebuild to determine whether binary package is up-to-date or needs to be rebuilt. This can't be done cleanly within PMS but extending the format to account for that (as optional extension) shouldn't be that much of a problem.
  2. We currently can use binpkg only if USE flags match, and otherwise force ebuild. I don't think we have a clear way of doing this without extensions, again. In particular, we need a way of stating 'this package can only be used with this set of flags, otherwise fallback to other repos'.
  3. We can't cleanly do multi-instance with the above logic. For that we'd either need sub-revisions (i.e. go outside PMS) or some other hack.
yoshi314 commented 6 years ago

I am partially interested in that, especially wrt format of the metadata. will there be a way to produce custom metadata for the package via user hooks?

i sometimes experiment building gentoo packages for embedded distros that might use something simpler like ipkg.

mgorny commented 6 years ago

The metadata would be in plain .ebuild file, so you could even edit it by hand.