Re: WSL-4.0 release candidate

Earnie Boyd <[email protected]>
Newsgroups gmane.comp.gnu.mingw.devel
Message-ID <CA+sc5mnx7PAH6wwBhH85Q-TwjVvEh_-rsu+puO61Tv_A6ihW-Q@mail.gmail.com>
On Tue, Mar 5, 2013 at 12:42 PM, Earnie Boyd wrote:
> On Tue, Mar 5, 2013 at 10:07 AM, Earnie Boyd wrote:
>> On Mon, Mar 4, 2013 at 12:13 PM, Keith Marshall wrote:
>>> What about the following (untested) alternative?
>>>
>>> * In its own XML catalogue, create a definition for a wsl-candidate
>>> package; this will be a dummy package, delivering only a replacement for
>>> var/lib/mingw-get/data/mingw32-runtime.xml itself, (as payload of
>>> wsl-candidate-4.0-1-mingw32-rc-1-xml.tar.xz, say).
>>>
>>> * Add a reference for this new catalogue to mingw32-package-list.xml
>>>
>>> * Publish the new catalogue, and the updated package list.
>>>
>>> * Make a private local copy of mingw32-runtime.xml, (perhaps within a
>>> private local git branch of mingw-dist).
>>>
>>> * Add your "release" specs for mingwrt-4.0 and w32api-4.0, as if you
>>> were making a formal release; DO NOT PUBLISH THIS!
>>>
>>> * In your working directory, (taking care not to destroy anything you
>>> really want to keep):
>>>
>>>     rm -rf var
>>>     mkdir -p var/lib/mingw-get/data
>>>     sed s/@YYYYMMDDNN@/ZZZZZZZZZZ/ mingw32-runtime.xml \
>>>       > var/lib/mingw-get/data/mingw32-runtime.xml
>>>     tar cf - var | xz -c > wsl-candidate-4.0-1-mingw32-rc-1-xml.tar.xz
>>>
>>> * Publish the resultant tarball.
>>>
>>> Now, users may opt in to testing your candidate, by running:
>>>
>>>     mingw-get update
>>>     mingw-get install mingw32-wsl-candidate
>>>     mingw-get upgrade mingw32-mingwrt mingw32-w32api
>>>
>>> and may opt out again, by:
>>>
>>>     mingw-get remove mingw32-wsl-candidate
>>>     mingw-get upgrade --reinstall mingw32-mingwrt mingw32-w32api
>>
>> I'm not seeing how this scenario is going to work correctly.  The
>> modified mingw32-runtime.xml will still be existent and the upgrade
>> --reinstall will install the RC.
>>
>>
>> On Mon, Mar 4, 2013 at 3:25 PM, Keith Marshall wrote:
>>> On 04/03/13 19:44, Earnie Boyd wrote:
>>>> On Mon, Mar 4, 2013 at 12:13 PM, Keith Marshall wrote:
>>>>> On 02/03/13 16:41, Earnie Boyd wrote:
>>>>>> How about:
>>>>>>
>>>>>> rc_mingwrt-4.0-1-mingw32-rc-1-dev.tar.lzma
>>>>>>
>>>>>> or
>>>>>>
>>>>>> mingwrt-4.0-1-rc_mingw32-rc-1-dev.tar.lzma
>>>>>>
>>>>>> Would either of these produce the result I'm looking for?
>>>>>
>>>>> Either may, but the former is unacceptable.
>>>>
>>>> Why is it unacceptable.  I tested it and it actually works well.
>>>
>>> It may *appear* to work, but you now have two disparate and conflicting
>>> packages, each claiming to own (at least a subset of) the same payload
>>> of installed files.  Install one, or the other, and things will surely
>>> appear to work out okay.  Even install both together, and it may still
>>> seem to work.  Now, with both installed, remove just one, and you'll
>>> break the other.
>>>
>>> You are creating a scenario in which mingw-get must lose track of what
>>> files have been installed by which package; IOW, a recipe for confusion
>>> and potential problems down the line.
>>>
>>
>> I don't see mingw-get losing track and I don't see how the alternate
>> scenario you've given is that much different.  There are two separate
>> packages (mingwrt and rc_mingwrt), that have similar file sets.  Yes,
>> if you remove one of those packages then you must reinstall one or the
>> other and that is a caveat for the user using the release and is
>> easily corrected by the user; but this is the case with your alternate
>> scenario as well.
>>
>> With my design the user would
>>
>> mingw-get update
>> mingw-get install mingw32-rc_mingwrt mingw32-rc_w32api
>>
>> to use the RC and then to fall back to the previous version would simply do
>>
>> mingw-get remove mingw32-rc_mingwrt mingw32-rc_w32api
>> mingw-get install --reinstall mingwrt w32api
>>
>> I think the msys-core and msys-coreutils scenario is even more
>> confusing than what I'm proposing.
>
> However, I understand that I should put the package meta data in its
> own file.  Otherwise, it would have to remain in mingw32-runtime.xml.
> I could name that mingw32-wsl-candidate.xml.

Ping.

For this I have:

~~~~~~
diff --git a/mingw32/issue.log b/mingw32/issue.log
index 840a10a..545b4bf 100755
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -50,11 +50,12 @@
   cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
   d31c39c6584fde6d4b9ddafbca913509b32a1dfc 2012073100 mingw32-mpc.xml
   99995a8e17659b6514f71ae2b17bbbcd8eb4c0a9 2012073100 mingw32-mpfr.xml
-  250646540a24a6b329cebb13d4b71aa195fda8b2 2012040500 mingw32-package-list.xml
+  983af8ad24a6f97da867784dfeeecc6661d54d88 2013030500 mingw32-package-list.xml
   40c94ac07003ac8f36558a8c33581a748ec03e3a 2012073100 mingw32-pexports.xml
   cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
   9399cb6c2efd8fd907c42a278a6f41bbde9e440c 2011091400 mingw32-pthreads-w32.xml
   428964289b3509293a13c9394199b5e2d4887c3e 2012063001 mingw32-runtime.xml
+  497ad4f2d3414802b7751ef8c77b87122d95e5c2 2013030500 mingw32-wsl-candidate.xml
   247a02890f109a5fe4996fde4af9d576dca3cd1e 2012073100 mingw32-xz.xml
   4a2e1515655331483b8ddc898b2405fb89401d73 2012073100 mingw32-zlib.xml
 #
diff --git a/mingw32/mingw32-package-list.xml b/mingw32/mingw32-package-list.xml
index b176ad2..c997384 100644
--- a/mingw32/mingw32-package-list.xml
+++ b/mingw32/mingw32-package-list.xml
@@ -47,6 +47,7 @@
   <package-list catalogue="mingw32-popt" />
   <package-list catalogue="mingw32-pthreads-w32" />
   <package-list catalogue="mingw32-runtime" />
+  <package-list catalogue="mingw32-wsl-candidate" />
   <package-list catalogue="mingw32-xz" />
   <package-list catalogue="mingw32-zlib" />

diff --git a/mingw32/mingw32-wsl-candidate.xml
b/mingw32/mingw32-wsl-candidate.xml
new file mode 100644
index 0000000..4ad934e
--- /dev/null
+++ b/mingw32/mingw32-wsl-candidate.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<software-distribution project="MinGW" home="http://www.mingw.org"
issue="@YYYYMMDDNN@">
+
+  <!-- File: mingw32-runtime.xml ~~ mingw-get package description for
MinGW API -->
+
+  <package-collection subsystem="mingw32">
+    <download-host
uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
+
+    <!-- Provides the package descriptions for each of the two primary    -->
+    <!-- packages, which comprise the standard MinGW Runtime Library API, -->
+    <!-- namely mingwrt and w32api.                                       -->
+
+    <package name="mingw32-rc_mingwrt" alias="rc_mingwrt">
+      <affiliate group="MinGW Compiler Suite" />
+      <affiliate group="MinGW Standard Libraries" />
+      <description lang="en" title="The MinGW Runtime Library API">
+	<paragraph>
+	  CAUTION: This is a release candidate.  This release candidate has an
+	  ABI change that may cause you to need to recompile and link your
+	  libraries.  When you remove this package you will need to reinstall
+	  the previous mingwrt version.
+	</paragraph>
+        <paragraph>
+          This package provides the header files, system object modules,
+          dynamic link libraries, import libraries and static libraries
+          which constitute the standard MinGW Runtime API.
+        </paragraph>
+        <paragraph>
+          This is a required component of the MinGW Compiler Suite.
+        </paragraph>
+      </description>
+
+      <source tarname="rc_mingwrt-4.0-1-mingw32-rc-1-src.tar.lzma" />
+      <license tarname="rc_mingwrt-4.0-1-mingw32-rc-1-lic.tar.lzma" />
+
+      <component class="dev">
+	<release tarname="rc_mingwrt-4.0-1-mingw32-rc-1-dev.tar.lzma" />
+      </component>
+
+      <component class="dll">
+	<release tarname="rc_mingwrt-4.0-1-mingw32-rc-1-dll.tar.lzma" />
+      </component>
+
+      <component class="doc">
+	<release tarname="rc_mingwrt-4.0-1-mingw32-rc-1-doc.tar.lzma" />
+      </component>
+
+      <component class="lic">
+	<release tarname="rc_mingwrt-4.0-1-mingw32-rc-1-lic.tar.lzma" />
+      </component>
+    </package>
+
+    <package name="mingw32-rc_w32api">
+      <affiliate group="MinGW Compiler Suite" />
+      <affiliate group="MinGW Standard Libraries" />
+      <description lang="en" title="The MinGW API for 32-Bit MS-Windows">
+	<paragraph>
+	  CAUTION: This is a release candidate.  This release candidate has an
+	  ABI change that may cause you to need to recompile and link your
+	  libraries.  When you remove this package you will need to reinstall
+	  the previous w32api version.
+	</paragraph>
+        <paragraph>
+          This package provides the header files, and import libraries
+          constituting a standard API for the development of applications
+          which utilise the capabilities of the 32-bit MS-Windows system
+          dynamic link libraries.
+        </paragraph>
+        <paragraph>
+          This is a required component of the MinGW Compiler Suite.
+        </paragraph>
+      </description>
+
+      <source tarname="rc_w32api-4.0-1-mingw32-rc-1-src.tar.lzma" />
+      <licence tarname="rc_w32api-4.0-1-mingw32-rc-1-lic.tar.lzma" />
+
+      <component class="dev">
+	<release tarname="rc_w32api-4.0-1-mingw32-rc-1-dev.tar.lzma" />
+      </component>
+
+      <component class="doc">
+	<release tarname="rc_w32api-4.0-1-mingw32-rc-1-doc.tar.lzma" />
+      </component>
+
+      <component class="lic">
+	<release tarname="rc_w32api-4.0-1-mingw32-rc-1-lic.tar.lzma" />
+      </component>
+    </package>
+
+  </package-collection>
+</software-distribution>
+<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80
tabstop=2 shiftwidth=2: -->
~~~~~~

-- 
Earnie
-- https://sites.google.com/site/earnieboyd

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.