9 thoughts on “Let’s actually get some metadata!

  1. I completely agree. There needs to be per-package descriptions for USE flags. I’ve always thought it silly to list the USE flags per-package on gentoo-portage.com when the only descriptions are “global.”


  2. That does sound like a really good idea and would help people a lot.XML ain’t pretty but might be the right tool for that job.


  3. Nice idea. In my opinion this should be made mandatory for new packages and added to existing packages as they are touched (bumped etc). The syntax should however incorporate versioning, which will probably make it not very human readable anymore. Like this:

    <use flag="brokenlib" version="&lt;=cat-bar/foo-0.9">Do stuff using the old brokenlib libs (replaced by myass-libs in foo-1.0)</use>

    This will however cause problems as the package atoms may break XML syntax (see above example). It gets even more complicated if one really wants to avoid redundancy with IUSE in the ebuilds (we probably have to accept that redundancy).Your proposal should be discussed on gentoo-dev ML.


  4. I definitely agree.As a Gentoo user, I’ve often searched (way too often in vain) the forums for some particular package’s USE flag descriptions. Reading the ebuild file sometimes helps, but sometimes one just gets to know that “foo” USE flag enables the –with-foo configure option for the package, which is hardly helpful (you have to unpack the source and dig into the package’s README and so on – at that point, why not just compile it manually, anyway?). The descriptions in use.local.desc are too short and generic, plus it makes much more sense to ship package-specific info with the package, not in a centralized place. Just my 0.02.


  5. We just happened to discuss this again with leio and genstef on #gentoo-dev yesterday. I think most of us agree here, we do need better documentation of what _exactly_ a given USE flag does to a given package.However I don’t think that metadata is the right place to store this. Usage of USE flags may change from one ebuild (i.e. release) to the other, and although one can argue this won’t change often, it can (thus it will) change. This means we have to provide that information in the ebuild. Make it a set of variables whose names are the USE flag and a common prefix, or one variable containing the descirptions in XML, or whatever else. But it does need to be on a per-ebuild basis, like DESCRIPTION and HOMEPAGE, for example.


  6. For what concern the per-ebuild property of USE flags, yes, they change and not so rarely, but @metadata.xml@ already provides means to limit it to single versions.I think that if we want to make the documentation proper, we’d have to put it outside the ebuilds. I can think of a couple of examples where proper documentation of USE flags might end up being longer than the current ebuild.Also, you’d end up duplicating information needlessly every revbump, if you don’t change the data, wasting space.And finally, in ebuild variables you’re limited to what bash can handle, and you’d see yourself using escapes quite often. In XML you either use a CDATA or you use the escapes for the only three entities that needs to be escaped: < > &, I find that easier to write.


  7. Having just read the post from Doug Goldstein concerning this topic I must say: It is great to see that Gentoo is not just alive but living!


  8. That would be a fantastic feature to have. I can’t count the times I’ve sat and wondered what the hell a specific use flag did in a package.


  9. Good point about being able to restrict some content of metadata.xml to specific ebuild versions. Since this is such a good idea, how about we also move HOMEPAGE, DESCRIPTION and LICENSE to metadata.xml then ?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s