As pointed out by Jeroen Roovers, the devmanual currently documents EAPI5-style subslots and slot operators in the EAPI description section, but doesn't mention them at all e.g. in the slotting and dependency syntax section, where a new developer would probably expect to look for them. IMHO, the slotting and dependency sections should have some reasonable explanation of what subslots are and why you might want to use them.
Created attachment 331962 [details, diff] proposed patch
(In reply to comment #1) > Created attachment 331962 [details, diff] [details, diff] > proposed patch Thanks for the patch Would be possible to also add some examples to the section in: http://devmanual.gentoo.org/ebuild-writing/eapi/index.html I use that page a lot for remember how to properly use new eapis functions and I think and example about subslotting would be really nice
Created attachment 332030 [details, diff] proposed patch, v2 (In reply to comment #2) > Would be possible to also add some examples to the section in: > http://devmanual.gentoo.org/ebuild-writing/eapi/index.html Sure. I also changed some phrasings in the current "dependency atom slot operators" section a bit to be more clear and less PMS-like, and rewrote my proposed addition to the "dependency" chapter to use terminology more consistently.
(In reply to comment #3) The last hunk contains this sentence: "Currently portage will accept an arbitrary string for the value of <c>SLOT</c>." It is actually wrong. Portage accepts SLOT, which matches the following regular expression: - In EAPI <5: r'^([\w+][\w+.-]*)$' - In EAPI >=5: r'^([\w+][\w+.-]*)(/([\w+][\w+.-]*))?$'
Can we have an updated patch please?
Created attachment 333548 [details, diff] proposed patch, v3 (In reply to comment #5) > Can we have an updated patch please? Sure.
:SLOT/SUBSLOT also should be described. This can be useful in prebuilt packages (e.g. app-office/libreoffice-bin).
(In reply to comment #7) > :SLOT/SUBSLOT also should be described. This can be useful in prebuilt > packages (e.g. app-office/libreoffice-bin). Should it be :SLOT/SUBSLOT or :SLOT/SUBSLOT= (and is there a difference between them)?
When ebuild of dev-libs/A-0 sets RDEPEND="dev-libs/B:*", then after installation /var/db/pkg/dev-libs/A-0/RDEPEND will contain "dev-libs/B:*". When ebuild of dev-libs/A-0 sets RDEPEND="dev-libs/B:C/D", then after installation /var/db/pkg/dev-libs/A-0/RDEPEND will contain "dev-libs/B:C/D". When ebuild of dev-libs/A-0 sets RDEPEND="dev-libs/B:=", then after installation /var/db/pkg/dev-libs/A-0/RDEPEND will contain "dev-libs/B:SLOT/SUBSLOT=". When ebuild of dev-libs/A-0 sets RDEPEND="dev-libs/B:C=", then after installation /var/db/pkg/dev-libs/A-0/RDEPEND will contain "dev-libs/B:C/SUBSLOT=". Ebuilds cannot use ":SLOT/SUBSLOT=" in dependencies. (`ebuild ${ebuild} manifest` prints 'Improper context for slot-operator "built" atom syntax' error.)
Created attachment 333646 [details, diff] proposed patch, v4 (In reply to comment #9) Thanks for the explanation! I've updated the patch to document the :SLOT/SUBSLOT syntax.
(In reply to comment #10) > Created attachment 333646 [details, diff] [details, diff] > proposed patch, v4 > > (In reply to comment #9) > > Thanks for the explanation! I've updated the patch to document the > :SLOT/SUBSLOT syntax. I am not that familiar with SUBSLOTS etc, but the patch looks good to me. We can always add more stuff in the future
(In reply to comment #10) > Created attachment 333646 [details, diff] [details, diff] > proposed patch, v4 > > (In reply to comment #9) > > Thanks for the explanation! I've updated the patch to document the > :SLOT/SUBSLOT syntax. http://git.overlays.gentoo.org/gitweb/?p=proj/devmanual.git;a=commit;h=9c3bba54f96fc96c0f3e4929b3bc84a3d84d0aa9 I also fixed the commit message as it was too long. Please try to keep it below <=72 characters in the future Thank you!