-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 15/12/16 15:49, Robin H. Johnson wrote:
> I do really agree that how we offer branding should be covered in
> a GLEP, and be very easy for downstream offshoots of Gentoo to
> follow. This would prevent future concerns like the Ubuntu branding
> / modified VM spats.
>
> [snip awilfox's superb proposal; I agree with all of the reasons
> and outcomes, but think a little bit more structure & flexibility
> are needed].
I posted it to the list with the express intent that I welcomed
improvements. I'm glad that the community seems to agree this needs
to be done, and that we want to get it right the first time.
> 0. This proposal is centered around using os-release, as a
> cross-distribution model.
I am interested how this will work :)
> 1. ebuilds: Add eclass to export all variables from /etc/os-release
> with a prefix: OS_RELEASE_ID OS_RELEASE_NAME
> OS_RELEASE_PRETTY_NAME OS_RELEASE_BUG_REPORT_URL etc (I'm happy to
> bikeshed the name of the variable prefix).
OS_RELEASE_* seems fine to me.
> 1.1. Upstream packages that natively read from /etc/os-release
> will automatically be supported.
Yes, this thankfully includes most modern KDE 5 and XFCE packages.
Still, KDE 4 needs to be told in configure/CMake.
> 1.2. Could potentially be in base.eclass.
What does it do when /etc/os-release doesn't exist? Would Portage
still be usable? I am imagining such a thing as: "I accidentally
deleted /etc! I can recreate most of it using emerge -e world
though." Also, crossdev / embedded images.
> 2. Introduce a new virtual: virtual/os-branding.
This is an interesting idea.
> 3. The distro branding package (v1) (providers of
> virtual/os-branding): - MUST have NO build dependencies that
> require execution (this could be the very first package in a
> bootstrap).
Ah, I see now. That would make much sense. Since it would likely be
static files anyway, it would probably need no DEPEND= at all, I would
hope.
> - MUST install /etc/os-release - /etc/os-release MUST provide the
> following values - NAME, ID, PRETTY_NAME, HOME_URL,
Where does OS_RELEASE_BUG_REPORT_URL come from? Does it use HOME_URL
if BUG_REPORT_URL is not set? I suppose that would be acceptable.
> - /etc/os-release MAY provide other values. - MAY provide hardcoded
> values for /etc/os-release - MAY read values from profiles for
> /etc/os-release - MAY install any other branding files (logos,
> artwork, trademark, notices, etc)
It could RDEPEND on sys-boot/ logos and such. Not sure that large
desktop backgrounds and the like should be required on small embedded
images that have no displays though. Perhaps artwork could be in IUSE.
> 4. sys-apps/baselayout: 4.1. Move all branding pieces OUT of
> sys-apps/baselayout, into per-distro packages, that satisfy
> virtual/os-branding.
That is also interesting. So other distros could then use the Gentoo
baselayout package without having /etc/gentoo-release files and so on.
Good idea.
> 4.2. Depend on virtual/os-branding (maybe implicit via the eclass
> above?)
>
Hmm. If it goes in base.eclass, everything would depend on it.
Including virtual/os-branding itself? Not sure how Portage
could/would handle such a thing.
If there were to be a branding.eclass, it would certainly make things
much easier. It would also give more explicit knowledge of what
packages were using it, instead of grepping the tree for ${DISTRO} and
the like, you could simply see what packages inherit branding.
If work lightens up I will try to get something hammered out by
Friday. Otherwise, I will probably have something by the weekend.
Thanks!
Warm regards,
- --arw
- --
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJYUx3sAAoJEMspy1GSK50UFF0QAMOxiiqwX0uR5Ubx7ZHQj5qL
5iHK/KPQW9tR4vumtCRy/xppK2xvQ7uQbyZWsVekfUmqji/YH3+KoKyy0ffuFryA
DpEQ7Gar/J1dXLainriTxfpFxuDHMO2OEzcUxpYD7PJ5snj9I7ED1e5KtxZnW3XQ
lpccCBKbtcmiEum3bODGwFr3PI7awpiZZBRZZgDpP+Am8ibnMeYuST4ROcem58RO
7b8TQIcVMQmtJLpZSc64WFwOZ22SRRBz4TXkaWrUC+6+swhSXqWuMkMwSYYZVmBt
8HIMKBOrS25bi4BEIft/+p68DVeYJLGp3d2SAM3DBlkgDV2FsicHp9+m/DTZXPYA
4JUvv+n/sROudEeUj2MP9j5XMarSl2uZHoNeBKIM64AtxL05hdXKj+bXofCEIgXh
4/TPq275cMIMfWFHuNy1/zh/DYJ0emE5RekFx1oCj4i37+HU72moft6Ndtdkxz/p
FlwRonpouE4mBQ8H4wPkJ3wWPaVpL6k33adPRKnycjid1JhA+a9Qnsr1ZoILzfc6
6ieNEtSHiX6C5CbrEIlkaiAhzgGwUlq+dkjakIWBibPHUSJgg8tU2fyzaIO+o90A
Z2Y5uikUFW5GCRLTAPC5e7Tfx0yfGhyR5CSWkkyexAE86YDj/72BU967UfnQznEp
rQkL+Ax+1C1FJSj5JIa2
=7adt
-----END PGP SIGNATURE-----