Re: WSL-4.0 release candidate
Earnie Boyd <[email protected]> Mon, 18 Mar 2013 09:50:38 -0400
| Newsgroups | gmane.comp.gnu.mingw.devel |
|---|---|
| Message-ID | <CA+sc5mky1hGUcQ9j2ZbAVZRG+mtODk8QKtLt7dDEaq1H9eqqnA@mail.gmail.com> |
On Sat, Mar 16, 2013 at 2:03 PM, Keith Marshall wrote: > On 14/03/13 16:56, Keith Marshall wrote: >> >> I know you're itching to get a candidate out, but I'll need to get back >> to you; I'll aim to do that by end of play tomorrow. > > > Okay. A day late, curtailed by a disk crash, here it is. > > First, in a local testing branch, I modified mingw-dist, per the attached > diff; then, I ran 'make' on the modified tree. > > Second, I copied the *unpublished* modified mingw32-runtime.xml.lzma, > resulting from the 'make', to a locally created and otherwise empty > var/lib/mingw-get/data directory, whence I unlzma'd it and packaged it as > wsl_rc-4.0-1-mingw32-rc-1-meta.tar.lzma; this, we would publish to the FRS > file store; we SHOULD NOT otherwise publish this modified > mingw32-runtime.xml.lzma to the online catalogue. > You method is having far too many potentials of hazard, both for the developer and the user. Your "SHOULD NOT" is a fail point that we should not have. > Third, I set up a virgin Win7 sandbox directory, installed mingw-get, > updated to match the current online catalogue, and installed G++. > Ack. > Fourth, to simulate publication of my mingw-dist changes, I copied my > unpublished mingw32-wsl_rc.xml.lzma and mingw32-package-list.xml.lzma to the > var/lib/mingw-get/data directory in the sandbox, and unlzma'd it in place, > (as 'mingw-get update' would have done, had they been already published to > the online catalogue). > Ack. > Fifth, to simulate the effect of publication and subsequent download, I > copied my wsl_rc-4.0-1-mingw32-rc-1-meta.tar.lzma to the package cache > directory within the sandbox. > Ack. > Sixth, to simulate availability of actual release candidate packages, I > simply hard linked all existing mingwrt and w32api version-3.x packages > within the cache, to similarly named packages with appropriate version > adjustments. > That wasn't quite enough, I added a -lic and a -doc file, but ack. > Finally, to both test and demonstrate the capabilities of this delivery > technique, I ran the sequence of operations in the attached transcript. The transcript is handy but here is where a get queasy. The addition of wsl_rc-test and wsl_rc-revert is a bit over the top for what we need to do. You statements of # Having done this, we don't need to keep the subsidiary meta-package # installed; best to remove it straight away, (lest we should forget to # do so later)... and # Once again, it seems prudent to remove the meta-package immediately, # lest we should forget later... make me gag with horror that one should miss it. With my method of a new package names of rc_mingwrt and rc_w32api I don't have to do voodoo magic to get the release candidate installed. $ mingw-get show mingw32-mingwrt-dev mingw32-w32api-dev | grep Version Installed Version: mingwrt-3.20-2-mingw32-dev.tar.lzma Repository Version: mingwrt-3.20-2-mingw32-dev.tar.lzma Installed Version: w32api-3.17-2-mingw32-dev.tar.lzma Repository Version: w32api-3.17-2-mingw32-dev.tar.lzma $ mingw-get show mingw32-rc_mingwrt-dev mingw32-rc_w32api-dev | grep Version Installed Version: rc_mingwrt-4.0-1-mingw32-rc-1-dev.tar.lzma Repository Version: rc_mingwrt-4.0-1-mingw32-rc-1-dev.tar.lzma Installed Version: rc_w32api-4.0-1-mingw32-rc-1-dev.tar.lzma Repository Version: rc_w32api-4.0-1-mingw32-rc-1-dev.tar.lzma $ mingw-get remove mingw32-rc_mingwrt mingw32-rc_w32api remove: rc_mingwrt-4.0-1-mingw32-rc-1-dev.tar.lzma removing release rc_mingwrt-4.0-1-mingw32-rc-1-dev.tar.lzma remove: rc_mingwrt-4.0-1-mingw32-rc-1-dll.tar.lzma removing release rc_mingwrt-4.0-1-mingw32-rc-1-dll.tar.lzma remove: rc_mingwrt-4.0-1-mingw32-rc-1-doc.tar.lzma removing release rc_mingwrt-4.0-1-mingw32-rc-1-doc.tar.lzma remove: rc_mingwrt-4.0-1-mingw32-rc-1-lic.tar.lzma removing release rc_mingwrt-4.0-1-mingw32-rc-1-lic.tar.lzma remove: rc_w32api-4.0-1-mingw32-rc-1-dev.tar.lzma removing release rc_w32api-4.0-1-mingw32-rc-1-dev.tar.lzma remove: rc_w32api-4.0-1-mingw32-rc-1-doc.tar.lzma removing release rc_w32api-4.0-1-mingw32-rc-1-doc.tar.lzma remove: rc_w32api-4.0-1-mingw32-rc-1-lic.tar.lzma removing release rc_w32api-4.0-1-mingw32-rc-1-lic.tar.lzma $ mingw-get show mingw32-rc_mingwrt-dev mingw32-rc_w32api-dev | grep Version Installed Version: none Repository Version: rc_mingwrt-4.0-1-mingw32-rc-1-dev.tar.lzma Installed Version: none Repository Version: rc_w32api-4.0-1-mingw32-rc-1-dev.tar.lzma $ mingw-get show mingw32-mingwrt-dev mingw32-w32api-dev | grep Version Installed Version: mingwrt-3.20-2-mingw32-dev.tar.lzma Repository Version: mingwrt-3.20-2-mingw32-dev.tar.lzma Installed Version: w32api-3.17-2-mingw32-dev.tar.lzma Repository Version: w32api-3.17-2-mingw32-dev.tar.lzma $ mingw-get install --reinstall mingwrt w32api reinstall: mingwrt-3.20-2-mingw32-dll.tar.lzma installing mingwrt-3.20-2-mingw32-dll.tar.lzma reinstall: mingwrt-3.20-2-mingw32-dev.tar.lzma installing mingwrt-3.20-2-mingw32-dev.tar.lzma reinstall: w32api-3.17-2-mingw32-dev.tar.lzma removing release w32api-3.17-2-mingw32-dev.tar.lzma installing w32api-3.17-2-mingw32-dev.tar.lzma I prefer my method to your meta data jumping hoops magic; the end user has less to do to get back to normal. The fewer steps provides fewer opportunities to have garbage. Also with my new packages the mingw-dist is updated properly, the developer should not be afraid of messing up the repository. Your method provides opportunity for the developer to do just that. My method allows the mingw-dist repository to remain correct. That said, I will review your paragraph words to incorporate into my rc_mingwrt and rc_w32api packages. I do like some of what you said. I do not like the rc_wsl-test and rc_wsl-revert meta pretend to be a package that I must remember to remove bits. -- Earnie -- https://sites.google.com/site/earnieboyd ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar