Joshua Nichols napsal(a): > Miroslav Šulc wrote: > >> I would also appreciate more information on Java ebuilds development. I >> don't remember I've seen somewhere slotting "howto" for Java ebuilds, >> but I may miss something. >> >> > For Java specific information, check out the developer guide: > http://www.gentoo.org/proj/en/java/java-devel.xml > > For general ebuild information: > http://devmanual.gentoo.org/ > http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml > > Hope that gives you somewhere to start. > I've went through the Java resources several times. Here is what I found about slotting: Slotting "Libraries should be slotted according to the API they provide. If two version have the same API, or if a new version is fully compatible with the previous version, then they should be in the same SLOT." I think it is not easy to determine whether an API changed a way that would broke something. I think even knowing the package doesn't help the dev. And documentation may not cover these changes. And using slot name 3 when major version changes to 4 but there is still full compatibility with version 3.x might be confusing. "Java libraries have a tendency to sometimes break API and ABI between minor revisions, ie from 2.1.1 to 2.1.2. As a result, it is necessary to slot early, and slot often." I went through /usr/share to see current practice. I can see most of the Java libraries I have installed are not slotted at all (probably SLOT="0") and in a contrary jdom is slotted on ${PV} so it comes I have jdom-1.0_beta9 and jdom-1.0 installed. I code in Java for some time but I don't use most of the Java libraries I have installed directly so I just know they exist until something brokes and needs attention. For example, I can see batik is slotted as 1.5.1 and 1.6. I don't use this one but it's not obvious to me why it is slotted to 1.5.1 and not just 1.5. How can one say this slotting is correct. Maybe it would be good to have "slot reason" information in the ebuild too to be able to make time efficient corrections and updates of the ebuilds. "For applications, it is mostly sufficient to keep only the latest version. If the application comes in series, such as Eclipse, we want to keep the latest revision in each series. Very old series may eventually be dropped completely." This is clear :-) Could anyone please explain me how does the Java slotting work in practice? Are there any helper rules? Miroslav