On Mon, Jan 13, 2014, Alexander Berntsen wrote: > > Updating both in parallel isn't hard: once pkgcore is up to EAPI-5, > > EAPI-6 isn't that much work (mostly bash afair.) > If it is trivial: show us the code.
Ah that old canard. Tell you what: I hereby undertake to deliver everything currently listed at [1] for pkgcore, once radhermit has declared he's done on his round of work with pkgcore internals and it's up to EAPI-5, as tested against ebuilds, ferringb has approved it, and its portage formatter is good enough for update[2] to use it again, on EAPI-5 ebuilds. Sorry the latter is why I care, and I've always pushed for it, so whether that annoys anyone else is not my problem. I will be involved in testing that aspect, obviously, and may need to patch update for other interactions with pmerge, so that will come first. I will deliver that within a calendar month, or 30 days, of the above happening, for QA and acceptance-testing, unless ferringb, radhermit or dol-sen veto it, preferably in #pkgcore but see disclaimer at end. To avoid confusion, in case more is added, I'll list them, so you can hold me to my word later: bash 4.2 #431340 nonfatal die #451938 -- truly lame to do this via a new func, imo reads like working round the PMS, which /is/ insane. static libs in /usr is nothing on that, when you think about it. get_libdir #463586 Used in econf, but so far not available as separate PM function Doc install function (edocs) #459692 Allow DOCS="" #463736 Directory support for DOCS #481980 Query function for IUSE #449862 in addition, query IUSE_EFFECTIVE -- from [3] this is what should be queried? PATCHES support in default src_prepare #463692 Unpack .txz #458102 Case-fold extensions in unpack #476730 unpack() accept absolute paths #483244 epatch_user - a sane implementation as we discussed 2 years ago or so Source eclasses only once #422533 -- amended at [4] EJOBS #273101 - emake integration -- for other languages or build- systems, the eclasses would have to handle it. They are not part of the PM/ebuild.sh, so out of scope. (There is a qm as to whether this is still desired 4 years later.) non-bash, but i'll provide support script as and if req'd: HDEPEND #317337 -- CHOST dependencies req at build-time (yaf way of adding a borked LDEPEND if you ask me, but w/e.) I won't do failglob (#463822) as it will make everyone's life a lot harder in the long run, and turn off anyone who actually has real BASH experience. AFAIC we want them in the same way as we want expert pythonistas. I'll happily add Kent's idea though, at least for this setting; he's a guy you should all listen to a lot more, imnsho. I'd do it like this: failglob will apply to the function it appears in, and any callee functions, and must be paired with reglob (or w/e) to restore, which will also restore a nullglob invocation. (reglob must be called on all return paths before function return, if you're doing something complex. Most functions won't be though, ime.) If ferringb and radhermit are ok with it, I'll implement it. If not, it'll be trivial to import the crappy version from portage. > > At that point, put portage into feature-freeze, and only bugfix it. > > Call a hiatus on new EAPIs for 6 months and put all effort into > > making damn sure pkgcore is a drop-in replacement. > I don't see this happening as it stands right now. Let's revisit this > when pkgcore is more up to date. Yes, "at that point". Now you may think I'm talking before I can implement, what I accused someone else of; feel free to. Those are mostly trivial to a BASH scripter, and I write (and throw away) more complex things practically every day. See [2] if you need verification, though it's not a work-project any more, and was never meant to be when I started it as a training assignment. We do use it at work though, so I get to maintain it. And there is no way we could have done the ABI /etc/warning stuff, if we hadn't had pkgcore to test resolves with. portage was just too slow, when we were paired and needed to flow, to implement quite major stuff in hindsight; ferringb even mentioned a need for exactly that sort of mechanism in Gentoo, on the list last feb/mar i think it was, when I was on hiatus. I remember being annoyed I'd missed the discussion when I got back to FLOSS stuff. Porcelain and plumbing. Feel free to step up and pitch in too. The more the merrier, and the lighter the load. Note there are queries on some of the above, and no clear definition of what EAPI 6 is yet. So once you've made your minds up about that, then you can start asking for your users to implement it, I'd think. After all, devs are users too, and we've all got other things to do. TTFN, steveL. Disclaimer: I don't speak for pkgcore, or any of the people mentioned, nor have I discussed any of this with them, so it's their call, now or when they get to that stage. I'm just answering the "put your code where your mouth is" point. I did that several years ago with ebuild.sh but it only ended in being told that the rewrite I was asked to step up with, should be a series of patches, for "policy" reasons, so I gave up in disgust (the whole point of a rewrite is a clean codebase that does the same thing, which is what tests are for.) Life's way too short, for contributing to a project that's going to do that to my time. *shrug* you live and learn. [1] http://wiki.gentoo.org/wiki/Future_EAPI/EAPI_6_tentative_features [2] http://weaver.gentooexperimental.org/update.html yes i know it should be split into more files; a) I wanted to see when bash would blow up on my old 32-bit install, and b) I just want it to work ;) and have other things to do. [3] http://www.gossamer-threads.com/lists/gentoo/dev/260812#260812 [4] http://marc.info/?l=gentoo-dev&m=134493783816587&w=2 -- "Daddy, Mommy: what did you do in the Eco-Wars?"