-----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-----