[Python-Dev] devguide: Generate patches without code checkout (Was: devguide: Write a guide to committing a patch.)

2011-02-02 Thread anatoly techtonik
On Tue, Jan 18, 2011 at 2:35 PM, Antoine Pitrou solip...@pitrou.net wrote:
 On Tue, 18 Jan 2011 07:14:51 +0100
 Ezio Melotti ezio.melo...@gmail.com wrote:
  +
  +Committing Patches
  +==
 [...]
  +
  +    svnmerge.py merge -r 42
  +
  +This will try to apply the patch to the current patch and generate a
  commit

 Do we want to spend so much time explaining how to use SVN for core
 developers while we're supposed to switch to Mercurial Real Soon Now?
 (current core devs already know how to use it, and we don't get many
 new ones every month)

How about patches sent by users who track and fix bugs directly in
codebase of their Python installation?

Making and testing a patch from Python checkout requires compiling
Python, which is not possible for Windows users. We should add less
hardcore instructions how to use bundled diff.py for creating simple
patches like docstring, comment fixes or generating new testcases.
This will greatly reduce the barrier for starting with development.
-- 
anatoly t.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] MSI: Remove dependency from win32com.client module (issue4080047)

2011-02-02 Thread Martin v. Löwis

 It is a surprise to find builtin msilib. Why isn't it used?

Originally, because Python needs to be packaged with an older
release (in particular one that isn't itself maintained anymore).
Today, the problem is that the msilib package doesn't support
merge modules (and if such support was added, we would have to
wait until the version containing it isn't maintained anymore).

I don't consider the dependency on win32com a serious issue at
all; it's just a mild annoyance (much less than reliance on ctypes
would be, or hard-coding of symbolic constants).

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] devguide: Generate patches without code checkout (Was: devguide: Write a guide to committing a patch.)

2011-02-02 Thread Nick Coghlan
On Wed, Feb 2, 2011 at 6:33 PM, anatoly techtonik techto...@gmail.com wrote:
 Making and testing a patch from Python checkout requires compiling
 Python, which is not possible for Windows users.

That latter comment hasn't been true since Microsoft started releasing
the Visual Studio Express editions.

 We should add less
 hardcore instructions how to use bundled diff.py for creating simple
 patches like docstring, comment fixes or generating new testcases.
 This will greatly reduce the barrier for starting with development.

Given the length of Python's release cycles, diffs against released
versions are far too likely to be out of date. We want diffs against
the head of the relevant branch.

People that can't check out and build their own version of Python are
quite welcome to simply report issues without trying to fix them
themselves.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] MSI: Remove dependency from win32com.client module (issue4080047)

2011-02-02 Thread anatoly techtonik
On Wed, Feb 2, 2011 at 10:36 AM, Martin v. Löwis mar...@v.loewis.de wrote:

 It is a surprise to find builtin msilib. Why isn't it used?

 Originally, because Python needs to be packaged with an older
 release (in particular one that isn't itself maintained anymore).

That doesn't answer the question why Python could not be packaged with
a newer release of 'msilib' at that time?

 Today, the problem is that the msilib package doesn't support
 merge modules (and if such support was added, we would have to
 wait until the version containing it isn't maintained anymore).

I don't understand the phrase in (). What for do we need to wait after
adding support for merge modules to builtin msilib?
I imagine we've added support for merge modules to msilib, and then
waiting until new msilib version with merge support isn't maintained
anymore. And only then we can use it to create installer. Sounds like
a nonsense.

Anyways, is it possible to reuse builtin msilib to the max and add
required 'merge modules' functionality inside msi.py or extension
module?

 I don't consider the dependency on win32com a serious issue at
 all; it's just a mild annoyance (much less than reliance on ctypes
 would be, or hard-coding of symbolic constants).

There is nothing wrong with hardcoded symbolic constants - Microsoft
specifically provides values for them in their MSDN materials to be
used with scripting languages which doesn't have include files. They
just need to be validated one time, and won't change in future.

Why don't you like ctypes solution? I find it strange that Python
build process avoids using its own modules.

-- 
anatoly t.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-checkins] devguide: Add a document discussing the development cycle typically followed for

2011-02-02 Thread Sandro Tosi
On Wed, Jan 26, 2011 at 23:20, brett.cannon python-check...@python.org wrote:
 +The in-development branch is where new functionality and semantic changes

new functionalities (dunno if it's plural in english or not)?

 +occur. Currently this branch is known as the py3k branch. The next minor
 +release of Python will come from this branch (major releases are once a 
 decade
 +and so have no specific rules on how they are started). All changes land in 
 this
 +branch and then trickle down to other branches.
 +
 +Once a Final_ release is made from the in-development branch, a branch is 
 made
 +to represent the minor version of Python and it goes into maintenance mode.
 +Typically a minor version of Python is under development for about 18 months.
 +
 +
 +Maintenance
 +---
 +The branch currently being maintained for bug fixes.
 +
 +The branch under maintenance is the last minor version of Python to be 
 released
 +as Final_. This means that the latest release of Python was 3.1.2, then the

if the latest release ?

 +branch representing Python 3.1 is in maintenance mode.
 +
 +The only changes allowed to occur in a maintenance branch without debate are 
 bug
 +fixes.
 +Semantic changes **must** be carefully considered as code out in the world 
 will
 +have already been developed that will rely on the released semantics. Changes
 +related to semantics should be discussed on python-dev before being made.
 +
 +A branch stays in maintenance mode as long as a new minor release has not 
 been
 +made. For example, this means that Python 2.6 stayed in maintenance mode 
 until
 +Python 2.7.0 was released, at which point 2.7 went into maintenance mode and
 +2.6 went into Security_ mode. As new minor releases occur on a (roughly) 18
 +month schedule, a branch stays in mainteance mode for the same amount of 
 time.

s/mainteance/maintenance/

 +
 +A micro release of a maintenance branch is made about every six months.
 +Typically when a new minor release is made one more release of the new-old
 +version of Python is made.
 +
 +
 +Security
 +
 +A branch less than five years old but no longer in maintenance mode.
 +
 +The only changes made to a branch that is being maintained for security
 +purposes are somewhat obviously those related to security, e.g., privilege
 +escalation. Crashers and other behaviorial issues are **not** considered a

s/Crashers/Crashes/
s/behaviorial/behavioral/

 +security risk and thus not backported to a branch being maintained for
 +security. Any releases made for a branch under security maintenance is

s/releases/release/ ?
s/for/from/

 +source-only and done only when actual security patches have been applied to 
 the
 +branch.
 +
 +
 +Stages
 +''
 +
 +Based on what stage the in-development version of Python is in, the
 +responsibilities of a core developer change in regards to commits to the VCS.
 +
 +
 +Pre-alpha
 +-
 +This is the stage a branch is in from the last final release until the first
 +alpha (a1). There are no special restrictions placed on commits beyond those
 +imposed by the type of branch being worked on (e.g., in-development vs.
 +maintenance).
 +
 +
 +Alpha
 +-
 +Alphas typically serve as a reminder to core developers that they need to 
 start
 +getting in changes that change semantics or add something to Python as such
 +things should not be added during a Beta_. Otherwise no new restrictions are 
 in
 +place while in alpha.
 +
 +
 +Beta
 +
 +A branch in beta means that no new additions to Python are accepted. Bugfixes
 +and the like are still fine. Being in beta can be viewed much like being in 
 RC_
 +but without the extra overhead of needing commit reviews.
 +
 +
 +.. _RC:
 +
 +Release Candidate (RC)
 +--
 +A branch preparing for an RC release can only have bugfixes applied that have
 +been reviewed by other core developers. That reviewer should make a post to 
 the
 +issue related to the change and be mentioned in the commit message.
 +
 +You **cannot** skip the peer review during an RC, no matter how small! Even 
 if
 +it is a simple copy-and-paste change, **everything** requires peer review 
 from
 +a core developer.
 +
 +
 +Final
 +-
 +When a final release is being cut, only the release manager (RM) can make
 +changes to the branch.
 diff --git a/index.rst b/index.rst
 --- a/index.rst
 +++ b/index.rst
 @@ -20,6 +20,7 @@
    coredev
    developers
    committing
 +   devcycle

    stdlibchanges
    langchanges
 @@ -64,6 +65,7 @@
  * :ref:`coredev`
     * :ref:`developers`
     * :ref:`committing`
 +    * :ref:`devcycle`


  Proposing changes to Python itself

 --
 Repository URL: http://hg.python.org/devguide
 ___
 Python-checkins mailing list
 python-check...@python.org
 http://mail.python.org/mailman/listinfo/python-checkins





-- 
Sandro Tosi (aka morph, morpheus, matrixhasu)
My website: http://matrixhasu.altervista.org/
Me at Debian: 

Re: [Python-Dev] [Python-checkins] devguide: Add a document discussing the development cycle typically followed for

2011-02-02 Thread Michael Foord

On 02/02/2011 11:04, Sandro Tosi wrote:

On Wed, Jan 26, 2011 at 23:20, brett.cannonpython-check...@python.org  wrote:

+The in-development branch is where new functionality and semantic changes

new functionalities (dunno if it's plural in english or not)?


It's an odd one. Functionality can be implicitly plural (include several 
individual features that comprise new functionality) but can also be 
pluralised; several functionalities where each new functionality 
comprises plural features. I would say that Brett's wording reads 
correctly here.


Michael


+occur. Currently this branch is known as the py3k branch. The next minor
+release of Python will come from this branch (major releases are once a decade
+and so have no specific rules on how they are started). All changes land in 
this
+branch and then trickle down to other branches.
+
+Once a Final_ release is made from the in-development branch, a branch is made
+to represent the minor version of Python and it goes into maintenance mode.
+Typically a minor version of Python is under development for about 18 months.
+
+
+Maintenance
+---
+The branch currently being maintained for bug fixes.
+
+The branch under maintenance is the last minor version of Python to be released
+as Final_. This means that the latest release of Python was 3.1.2, then the

if the latest release ?


+branch representing Python 3.1 is in maintenance mode.
+
+The only changes allowed to occur in a maintenance branch without debate are 
bug
+fixes.
+Semantic changes **must** be carefully considered as code out in the world will
+have already been developed that will rely on the released semantics. Changes
+related to semantics should be discussed on python-dev before being made.
+
+A branch stays in maintenance mode as long as a new minor release has not been
+made. For example, this means that Python 2.6 stayed in maintenance mode until
+Python 2.7.0 was released, at which point 2.7 went into maintenance mode and
+2.6 went into Security_ mode. As new minor releases occur on a (roughly) 18
+month schedule, a branch stays in mainteance mode for the same amount of time.

s/mainteance/maintenance/


+
+A micro release of a maintenance branch is made about every six months.
+Typically when a new minor release is made one more release of the new-old
+version of Python is made.
+
+
+Security
+
+A branch less than five years old but no longer in maintenance mode.
+
+The only changes made to a branch that is being maintained for security
+purposes are somewhat obviously those related to security, e.g., privilege
+escalation. Crashers and other behaviorial issues are **not** considered a

s/Crashers/Crashes/
s/behaviorial/behavioral/


+security risk and thus not backported to a branch being maintained for
+security. Any releases made for a branch under security maintenance is

s/releases/release/ ?
s/for/from/


+source-only and done only when actual security patches have been applied to the
+branch.
+
+
+Stages
+''
+
+Based on what stage the in-development version of Python is in, the
+responsibilities of a core developer change in regards to commits to the VCS.
+
+
+Pre-alpha
+-
+This is the stage a branch is in from the last final release until the first
+alpha (a1). There are no special restrictions placed on commits beyond those
+imposed by the type of branch being worked on (e.g., in-development vs.
+maintenance).
+
+
+Alpha
+-
+Alphas typically serve as a reminder to core developers that they need to start
+getting in changes that change semantics or add something to Python as such
+things should not be added during a Beta_. Otherwise no new restrictions are in
+place while in alpha.
+
+
+Beta
+
+A branch in beta means that no new additions to Python are accepted. Bugfixes
+and the like are still fine. Being in beta can be viewed much like being in RC_
+but without the extra overhead of needing commit reviews.
+
+
+.. _RC:
+
+Release Candidate (RC)
+--
+A branch preparing for an RC release can only have bugfixes applied that have
+been reviewed by other core developers. That reviewer should make a post to the
+issue related to the change and be mentioned in the commit message.
+
+You **cannot** skip the peer review during an RC, no matter how small! Even if
+it is a simple copy-and-paste change, **everything** requires peer review from
+a core developer.
+
+
+Final
+-
+When a final release is being cut, only the release manager (RM) can make
+changes to the branch.
diff --git a/index.rst b/index.rst
--- a/index.rst
+++ b/index.rst
@@ -20,6 +20,7 @@
coredev
developers
committing
+   devcycle

stdlibchanges
langchanges
@@ -64,6 +65,7 @@
  * :ref:`coredev`
 * :ref:`developers`
 * :ref:`committing`
+* :ref:`devcycle`


  Proposing changes to Python itself

--
Repository URL: http://hg.python.org/devguide
___
Python-checkins mailing list

Re: [Python-Dev] devguide: Generate patches without code checkout (Was: devguide: Write a guide to committing a patch.)

2011-02-02 Thread anatoly techtonik
On Wed, Feb 2, 2011 at 12:27 PM, Nick Coghlan ncogh...@gmail.com wrote:
 On Wed, Feb 2, 2011 at 6:33 PM, anatoly techtonik techto...@gmail.com wrote:
 Making and testing a patch from Python checkout requires compiling
 Python, which is not possible for Windows users.

 That latter comment hasn't been true since Microsoft started releasing
 the Visual Studio Express editions.

not possible here means that practically only a very small percent
of Python users will go through the hurdles of getting code checkout,
downloading and installing Visual Studio, compiling project, switching
their code to use compiled version and finally submitting a patch.

BTW, what is the size of Mercurial clone right now?

 We should add less
 hardcore instructions how to use bundled diff.py for creating simple
 patches like docstring, comment fixes or generating new testcases.
 This will greatly reduce the barrier for starting with development.

 Given the length of Python's release cycles, diffs against released
 versions are far too likely to be out of date. We want diffs against
 the head of the relevant branch.

I only see that you want the contribution entry barrier to stay at the
height of core developer.

 People that can't check out and build their own version of Python are
 quite welcome to simply report issues without trying to fix them
 themselves.

But if they really want for an issue to be fixed, they will need to
think about preparing a patch. The first time they ask about plans to
fix the issue, they will be asked to send a patch anyway. This person
will look into devguide how to send a patch. There will be
instructions to download Visual Studio, clone repository, compile,
etc. I doubt this person will have time to do this, but next time the
person will think twice before reporting.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] devguide: Generate patches without code checkout (Was: devguide: Write a guide to committing a patch.)

2011-02-02 Thread Simon Cross
On Wed, Feb 2, 2011 at 10:33 AM, anatoly techtonik techto...@gmail.com wrote:
 How about patches sent by users who track and fix bugs directly in
 codebase of their Python installation?

While I don't personally endorse the above approach, if you're going
to develop inside your installed site-packages folder it seems like a
good idea to at least version control that code by running hg init
or similar in the site-packages folder. Then you can create diffs
against older versions using hg diff.

If one is going to do something crazy one might as well go the whole
hog I guess. :)

Schiavo
Simon
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-checkins] devguide: Add a document discussing the development cycle typically followed for

2011-02-02 Thread Antoine Pitrou
On Wed, 2 Feb 2011 12:04:44 +0100
Sandro Tosi sandro.t...@gmail.com wrote:
  +Security
  +
  +A branch less than five years old but no longer in maintenance mode.
  +
  +The only changes made to a branch that is being maintained for security
  +purposes are somewhat obviously those related to security, e.g., privilege
  +escalation. Crashers and other behaviorial issues are **not** considered a
 
 s/Crashers/Crashes/
 s/behaviorial/behavioral/
 
  +security risk

By the way, crashers *are* a security risk.
See http://code.python.org/hg/branches/release2.6-maint/

Regards

Antoine.


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] xmlrpclib and communication verbosity

2011-02-02 Thread Erez Sh
In an attempt to record the xml exchange in an xmlrpclib.ServerProxy
connection, I set its verbose flag to 1.
This is the whole premise, and the rest of this message contains a bug
report, and general complaints about the API.

ServerProxy, or to be a bit more specific, the Transport class (which does
all the actual printing), provides very little control over where the output
goes.
By very little, I mean it only outputs to stdout, which is limiting in a
server environment where many a prints occur.

That, however, turned out to be the least of my worries: xmlrpclib depends
on httplib.HTTP to print the outgoing data, but prints its own incoming
data,
and they tend to collide, in what I permit myself to call a race
condition, though it's mostly just simple lack of management of a shared
resource (stdout).
The resulting output is mostly well-formed, with the occasional nonsense
produced by an interjection of one string to the middle of the other.

Also, there's the nasty business of Transport.request accepting a 'verbose'
param, and then setting it as an instance attribute and using *that*, for no
apparent reason except to cause yet another potential race condition.

I suggest that httplib.HTTP's verbosity will be controlled by a separate
flag, if controlled at all.
The outgoing communication can easily be printed by transport, allowing for
better control of synchrony.
Also, ServerProxy should accept an optional output file (=a class with
write,writelines methods), which will be the target of all prints.

Would Python be interested in such a patch?

Best Regards,
  Erez
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] curtin-win2008-amd64 build slave down for a while

2011-02-02 Thread Brian Curtin
I'm having some power issues due to a major snow storm so my build slave is
turned off.

Don't worry, everyone's favorite OS will be back to work within the next few
days.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] alternate fix for urllib2 bug #8797

2011-02-02 Thread Sam Bull
Hello all,

This is my first stab at contributing to this list. I'm writing to lobby for 
bug #8797's fix to be removed and for my fix to put in in its place. I'm 
probably doing this wrong, so please bear with me. I will embrace whatever 
scathing criticism I get.

The ticket covers all the details (http://bugs.python.org/issue8797#) but I'll 
try to summarize here:

In 2.6.5, urllib2 had a small regression that caused HTTP 401 errors to trigger 
an infinite recursion when the request handler had HTTP Auth credentials that 
the server was rejecting.

Previously, urllib2 avoided this loop by checking the previous request's 
headers to see if it had already tried the credentials it was about to try. If 
it had, it would re-raise the exception instead of trying again.

The current fix adds a max retries concept to urllib2's handling of HTTP 401 
errors so that the code will only retry a certain number of times.

To me, the original logic of only trying once for each set of credentials was 
sound, and it looks like the only reason this stopped working was that in 2.6.5 
the auth header wasn't being stored in the same place as the code was expecting 
to find it.

I think it makes sense to revisit this issue and swap out the existing fix for 
my fix because it's tidier and doesn't introduce this new max retries 
functionality.

Please let me know what you think.

Thanks,

Sam Bull___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] alternate fix for urllib2 bug #8797

2011-02-02 Thread Alexander Belopolsky
On Wed, Feb 2, 2011 at 10:55 AM, Sam Bull osir...@gmail.com wrote:
..  I'm writing to lobby for bug #8797's fix to be removed and for my fix to 
put in in its place.

Please open a separate issue for your patch.  Patches attached to
closed issues will be lost.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] alternate fix for urllib2 bug #8797

2011-02-02 Thread Simon Cross
Hi Sam

On Wed, Feb 2, 2011 at 5:55 PM, Sam Bull osir...@gmail.com wrote:
 This is my first stab at contributing to this list. I'm writing to lobby for
 bug #8797's fix to be removed and for my fix to put in in its place.

For what it's worth, I was already about to include your patch as a
workaround for the bug in 2.6. See Bitten issue
http://bitten.edgewall.org/ticket/658.

I also consider Sam's patch to be a cleaner patch than the one that
ended up being applied in Python. See my comments in the Bitten
mailing list thread:
https://groups.google.com/forum/#!topic/bitten/niJENqEGuus.

Schiavo
Simon
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Python merge module

2011-02-02 Thread Hoyt, David
Is there or will there be support for python merge modules so we can include 
python in our installer?

Also, the discussions I saw about windows installers not removing the path on 
uninstall is completely false as regards the installers that wix creates, at 
least. I've modified the path many times and explicitly tested that it was 
removed on uninstall. I can't speak for the msilib package and what it does - 
perhaps it's doing the wrong thing?

But has there been thought towards migrating away from msilib and using 
platform standard tools such as wix (used by ms office, visual studio, etc.)?
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] devguide: Generate patches without code checkout (Was: devguide: Write a guide to committing a patch.)

2011-02-02 Thread Georg Brandl
Am 02.02.2011 13:50, schrieb anatoly techtonik:

 We should add less
 hardcore instructions how to use bundled diff.py for creating simple
 patches like docstring, comment fixes or generating new testcases.
 This will greatly reduce the barrier for starting with development.

 Given the length of Python's release cycles, diffs against released
 versions are far too likely to be out of date. We want diffs against
 the head of the relevant branch.
 
 I only see that you want the contribution entry barrier to stay at the
 height of core developer.

Because only core developers are allowed to have a checkout of trunk?

Georg

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Moving stuff out of Misc and over to the devguide

2011-02-02 Thread Éric Araujo
Le 19/01/2011 18:04, Georg Brandl a écrit :
 Am 19.01.2011 16:25, schrieb Eric Smith:
 Bonus question: if we remove maintainers.rst from py3k, what do we do in
 3.1 and 2.7?  I’d favor removing them over keeping outdated versions.

 Is there not some advantage to knowing who was the maintainer (or expert)
 of a given module at the time of a release?
 
 I don't see much advantage.  And if you need the version of maintainers.rst
 in another repo, it's not hard to find the revision that corresponds to the
 release date.

Ping.  Do we remove maintainers.rst or do we add a note advising people
to look at the up-to-date version on docs.python.org/devguide?

(And yes, by “we” I mean I’m volunteering to do either. :)

Regards
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] devguide: Generate patches without code checkout (Was: devguide: Write a guide to committing a patch.)

2011-02-02 Thread Brian Curtin
On Wed, Feb 2, 2011 at 06:50, anatoly techtonik techto...@gmail.com wrote:

 On Wed, Feb 2, 2011 at 12:27 PM, Nick Coghlan ncogh...@gmail.com wrote:
  On Wed, Feb 2, 2011 at 6:33 PM, anatoly techtonik techto...@gmail.com
 wrote:
  Making and testing a patch from Python checkout requires compiling
  Python, which is not possible for Windows users.
 
  That latter comment hasn't been true since Microsoft started releasing
  the Visual Studio Express editions.

 not possible here means that practically only a very small percent
 of Python users will go through the hurdles of getting code checkout,
 downloading and installing Visual Studio, compiling project, switching
 their code to use compiled version and finally submitting a patch.


In reality this doesn't seem to be the case. In all of the Windows-related
Python issues I've looked at in a year and a half, only a small handful of
the patches or analysis have been based on installed versions or from users
who don't have the capability or interest in setting up the environment. Of
course we welcome those users, but my experience shows them to be the
minority.

Installing Visual Studio is probably one of the more rare steps in the
process, as many Windows-using software developers tend to use it for other
things.

 People that can't check out and build their own version of Python are
  quite welcome to simply report issues without trying to fix them
  themselves.

 But if they really want for an issue to be fixed, they will need to
 think about preparing a patch.


This is not true at all. It's perfectly acceptable to report an issue and do
nothing further. It certainly helps the process to contribute more, but
we're happy to just get valid bug reports. Someone even made it easy enough
to email rep...@bugs.python.org so you don't even have to create an account.


 The first time they ask about plans to
 fix the issue, they will be asked to send a patch anyway.


We don't want bugs to linger, but there's only so many developers and so
little time. If you want to know when something will be fixed, a lot of
people will say something like I won't be able to get to this next week,
unless you have a patch of your own. I don't see anything wrong with that.
In fact, it's pretty common in open source.

This person
 will look into devguide how to send a patch. There will be
 instructions to download Visual Studio, clone repository, compile,
 etc. I doubt this person will have time to do this, but next time the
 person will think twice before reporting.


I've found quite the opposite to be true. The dev guide I wrote for PSF
Sprints, most of which was absorbed into the recently created
http://docs.python.org/devguide/, got many people happily setup to
contribute and I expect the new one to do the same. In fact, I've heard
comments from a number of people that the setup was much easier than they
thought, especially compared to other projects.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] xmlrpclib and communication verbosity

2011-02-02 Thread Oleg Broytman
On Wed, Feb 02, 2011 at 03:52:17PM +0200, Erez Sh wrote:
 Also, ServerProxy should accept an optional output file (=a class with
 write,writelines methods), which will be the target of all prints.

   Why not logging?

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Martin v. Löwis
Am 02.02.2011 20:01, schrieb Hoyt, David:
 Is there or will there be support for python merge modules so we can
 include python in our installer?

I haven't planned any. Contributions are welcome.

 But has there been thought towards migrating away from msilib and using
 platform standard tools such as wix (used by ms office, visual studio,
 etc.)?

Are you sure visual studio uses wix? I wouldn't call it a platform
standard tool. The Installer COM object is the platform standard
mechanism, and that's what msilib uses. I really see no need to move
away from that - it can create arbitrary MSI files.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Hoyt, David
 Is there or will there be support for python merge modules so we can
 include python in our installer?

I haven't planned any. Contributions are welcome.

 But has there been thought towards migrating away from msilib and using
 platform standard tools such as wix (used by ms office, visual studio,
 etc.)?

Are you sure visual studio uses wix? 

The visual studio regularly contributes to the wix toolset. They and the .net 
framework team contributed a lot of the wix bootstrapper (burn) foundational 
code.

 I wouldn't call it a platform standard tool. 

It's becoming that as more and more projects are adopting it. It was considered 
to be shipped w/ VS 2010 but didn't make it due to management/time issues.

 The Installer COM object is the platform standard mechanism, and that's what 
 msilib uses. 

Why maintain a lib when there's (better), free alternatives out there that are 
maintained by Microsoft itself? (okay, a group at Microsoft that works on their 
free time, but has significant contributions by many teams at Microsoft -- thus 
they have a vested interested in its success).

 I really see no need to move away from that - it can create arbitrary MSI 
 files.

Can it create merge modules? Transform files (e.g. localization)? 
Bootstrappers? There's a lot more to ms installers than the msi itself. 
Wouldn't it be easier to maintain an XML file than an entire lib dedicated to 
something that someone else has already solved?
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-checkins] r88323 - in python/branches/release31-maint: Lib/configparser.py Misc/NEWS

2011-02-02 Thread Éric Araujo
Hello,

 --- python/branches/release31-maint/Lib/configparser.py   (original)
 +++ python/branches/release31-maint/Lib/configparser.py   Wed Feb  2 
 22:35:48 2011
 @@ -88,7 +88,7 @@
  
  
  try:
 -from collections import OrderedDict as _default_dict
 +from collections import Mapping, OrderedDict as _default_dict
  except ImportError:
  # fallback for setup.py which hasn't yet built _collections
  _default_dict = dict

Buildbots can’t compile after that change, because Mapping is not found.
 I suggest aliasing Mapping to dict in the except block (untested).

Regards
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Michael Urman
On Wed, Feb 2, 2011 at 15:27, Hoyt, David ho...@llnl.gov wrote:
 The Installer COM object is the platform standard mechanism, and that's what 
 msilib uses.

 Why maintain a lib when there's (better), free alternatives out there that 
 are maintained by Microsoft itself? (okay, a group at Microsoft that works on 
 their free time, but has significant contributions by many teams at Microsoft 
 -- thus they have a vested interested in its success).

 I really see no need to move away from that - it can create arbitrary MSI 
 files.

 Can it create merge modules? Transform files (e.g. localization)? 
 Bootstrappers? There's a lot more to ms installers than the msi itself. 
 Wouldn't it be easier to maintain an XML file than an entire lib dedicated to 
 something that someone else has already solved?

If Python was starting at ground zero, and the choices were to create
a library or to use WiX, the answer might have been different. However
with a mature enough library to suit all the needs that anyone has
been willing to author, it's certainly more work to create the WiX
install and maintain it than it is to merely maintain the existing
scripts.

As far as the possibility of distributing Python as a merge module?
I'd recommend against it. Shared location merge modules are a
maintenance nightmare, and private location merge modules may not
offer the benefit you need. Better to just install the main Python msi
as part of a suite with your installer, whether you build that
installer in WiX and burn, or not.

Michael
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] alternate fix for urllib2 bug #8797

2011-02-02 Thread Nick Coghlan
On Thu, Feb 3, 2011 at 2:13 AM, Alexander Belopolsky
alexander.belopol...@gmail.com wrote:
 On Wed, Feb 2, 2011 at 10:55 AM, Sam Bull osir...@gmail.com wrote:
..  I'm writing to lobby for bug #8797's fix to be removed and for my fix to 
put in in its place.

 Please open a separate issue for your patch.  Patches attached to
 closed issues will be lost.

Antoine reopened it, so that shouldn't be an issue.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Martin v. Löwis
 The Installer COM object is the platform standard mechanism, and
 that's what msilib uses.
 
 Why maintain a lib when there's (better), free alternatives out there
 that are maintained by Microsoft itself?

Using msilib is easier than using Wix. It's also more flexible.
All you have to know is how the MSI schema works.

 I really see no need to move away from that - it can create
 arbitrary MSI files.
 
 Can it create merge modules? Transform files (e.g. localization)?

It could easily be extended to do so, in a straight-forward manner.

 Bootstrappers?

Not sure what this is - if it is what I think it is, there is no
need to (actually, there is no need to create the other two types
of files, either, as it stands).

 There's a lot more to ms installers than the msi
 itself. Wouldn't it be easier to maintain an XML file than an entire
 lib dedicated to something that someone else has already solved?

Definitely not. Python is easier than XML.

If you think otherwise, feel free to provide a proof in the form of
a Wix installation generator for Python.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Moving stuff out of Misc and over to the devguide

2011-02-02 Thread Brett Cannon
On Wed, Feb 2, 2011 at 11:48, Éric Araujo mer...@netwok.org wrote:
 Le 19/01/2011 18:04, Georg Brandl a écrit :
 Am 19.01.2011 16:25, schrieb Eric Smith:
 Bonus question: if we remove maintainers.rst from py3k, what do we do in
 3.1 and 2.7?  I’d favor removing them over keeping outdated versions.

 Is there not some advantage to knowing who was the maintainer (or expert)
 of a given module at the time of a release?

 I don't see much advantage.  And if you need the version of maintainers.rst
 in another repo, it's not hard to find the revision that corresponds to the
 release date.

 Ping.  Do we remove maintainers.rst or do we add a note advising people
 to look at the up-to-date version on docs.python.org/devguide?

 (And yes, by “we” I mean I’m volunteering to do either. :)

You're a little late, Eric; I already moved it. =)
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-checkins] r88324 - in python/branches/release31-maint: Doc/library/trace.rst Lib/distutils/tests/__init__.py Lib/distutils/tests/test_archive_util.py Lib/distutils/tests/test_

2011-02-02 Thread Nick Coghlan
On Thu, Feb 3, 2011 at 7:38 AM, eric.araujo python-check...@python.org wrote:
 Author: eric.araujo
 Date: Wed Feb  2 22:38:37 2011
 New Revision: 88324

 Log:
 Merged revisions 86236,86240,86332,86340,87271,87273,87447 via svnmerge from
 svn+ssh://python...@svn.python.org/python/branches/py3k

 The missing NEWS entries correspond to changes that were made before 3.1.3, 
 but
 I think it’s not usual to edit entries of released versions, so I put them at
 the top.

The only reason it isn't usual is because the change normally goes in
at roughly the same time as the NEWS update, so it is very rare to
have a change in a release without the corresponding NEWS entry. If
NEWS entries get missed for the release, better to add them in the
right place afterwards (it's easy enough to tell which entries were
originally missing by comparing the NEWS file from source control with
the one from the release).

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Bill Janssen
Martin v. Löwis mar...@v.loewis.de wrote:

 The Installer COM object is the platform standard
 mechanism, and that's what msilib uses. I really see no need to move
 away from that - it can create arbitrary MSI files.

I've used it to package UpLib for Windows -- see
http://uplib.parc.com/hg/uplib/file/e29e36f751f7/win32/build-msi-installer.py.
I've generalized some of Martin's code to create a Packager class which
supports non-Python pre and post install scripts.  I found it much easier
to use than WiX, which I also tried.

Bill
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-checkins] r88324 - in python/branches/release31-maint: Doc/library/trace.rst Lib/distutils/tests/__init__.py Lib/distutils/tests/test_archive_util.py Lib/distutils/tests/test_

2011-02-02 Thread Éric Araujo
Thanks Nick, I moved the entries.

Cheers
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-checkins] devguide: Add a document discussing the development cycle typically followed for

2011-02-02 Thread Brett Cannon
all fixed

On Wed, Feb 2, 2011 at 03:04, Sandro Tosi sandro.t...@gmail.com wrote:
 On Wed, Jan 26, 2011 at 23:20, brett.cannon python-check...@python.org 
 wrote:
 +The in-development branch is where new functionality and semantic changes

 new functionalities (dunno if it's plural in english or not)?

 +occur. Currently this branch is known as the py3k branch. The next minor
 +release of Python will come from this branch (major releases are once a 
 decade
 +and so have no specific rules on how they are started). All changes land in 
 this
 +branch and then trickle down to other branches.
 +
 +Once a Final_ release is made from the in-development branch, a branch is 
 made
 +to represent the minor version of Python and it goes into maintenance mode.
 +Typically a minor version of Python is under development for about 18 
 months.
 +
 +
 +Maintenance
 +---
 +The branch currently being maintained for bug fixes.
 +
 +The branch under maintenance is the last minor version of Python to be 
 released
 +as Final_. This means that the latest release of Python was 3.1.2, then the

 if the latest release ?

 +branch representing Python 3.1 is in maintenance mode.
 +
 +The only changes allowed to occur in a maintenance branch without debate 
 are bug
 +fixes.
 +Semantic changes **must** be carefully considered as code out in the world 
 will
 +have already been developed that will rely on the released semantics. 
 Changes
 +related to semantics should be discussed on python-dev before being made.
 +
 +A branch stays in maintenance mode as long as a new minor release has not 
 been
 +made. For example, this means that Python 2.6 stayed in maintenance mode 
 until
 +Python 2.7.0 was released, at which point 2.7 went into maintenance mode and
 +2.6 went into Security_ mode. As new minor releases occur on a (roughly) 18
 +month schedule, a branch stays in mainteance mode for the same amount of 
 time.

 s/mainteance/maintenance/

 +
 +A micro release of a maintenance branch is made about every six months.
 +Typically when a new minor release is made one more release of the new-old
 +version of Python is made.
 +
 +
 +Security
 +
 +A branch less than five years old but no longer in maintenance mode.
 +
 +The only changes made to a branch that is being maintained for security
 +purposes are somewhat obviously those related to security, e.g., privilege
 +escalation. Crashers and other behaviorial issues are **not** considered a

 s/Crashers/Crashes/
 s/behaviorial/behavioral/

 +security risk and thus not backported to a branch being maintained for
 +security. Any releases made for a branch under security maintenance is

 s/releases/release/ ?
 s/for/from/

 +source-only and done only when actual security patches have been applied to 
 the
 +branch.
 +
 +
 +Stages
 +''
 +
 +Based on what stage the in-development version of Python is in, the
 +responsibilities of a core developer change in regards to commits to the 
 VCS.
 +
 +
 +Pre-alpha
 +-
 +This is the stage a branch is in from the last final release until the first
 +alpha (a1). There are no special restrictions placed on commits beyond those
 +imposed by the type of branch being worked on (e.g., in-development vs.
 +maintenance).
 +
 +
 +Alpha
 +-
 +Alphas typically serve as a reminder to core developers that they need to 
 start
 +getting in changes that change semantics or add something to Python as such
 +things should not be added during a Beta_. Otherwise no new restrictions 
 are in
 +place while in alpha.
 +
 +
 +Beta
 +
 +A branch in beta means that no new additions to Python are accepted. 
 Bugfixes
 +and the like are still fine. Being in beta can be viewed much like being in 
 RC_
 +but without the extra overhead of needing commit reviews.
 +
 +
 +.. _RC:
 +
 +Release Candidate (RC)
 +--
 +A branch preparing for an RC release can only have bugfixes applied that 
 have
 +been reviewed by other core developers. That reviewer should make a post to 
 the
 +issue related to the change and be mentioned in the commit message.
 +
 +You **cannot** skip the peer review during an RC, no matter how small! Even 
 if
 +it is a simple copy-and-paste change, **everything** requires peer review 
 from
 +a core developer.
 +
 +
 +Final
 +-
 +When a final release is being cut, only the release manager (RM) can make
 +changes to the branch.
 diff --git a/index.rst b/index.rst
 --- a/index.rst
 +++ b/index.rst
 @@ -20,6 +20,7 @@
    coredev
    developers
    committing
 +   devcycle

    stdlibchanges
    langchanges
 @@ -64,6 +65,7 @@
  * :ref:`coredev`
     * :ref:`developers`
     * :ref:`committing`
 +    * :ref:`devcycle`


  Proposing changes to Python itself

 --
 Repository URL: http://hg.python.org/devguide
 ___
 Python-checkins mailing list
 python-check...@python.org
 http://mail.python.org/mailman/listinfo/python-checkins





 --
 Sandro Tosi (aka morph, 

Re: [Python-Dev] Python merge module

2011-02-02 Thread Hoyt, David
 Using msilib is easier than using Wix. It's also more flexible.

IMO, no. It's simply not.

 All you have to know is how the MSI schema works.

Same with WiX.

 It could easily be extended to do so, in a straight-forward manner.

Other packaging apps already have it - no work needed.

 (actually, there is no need to create the other two types of files, either, 
 as it stands).

Sure there is. Transform files + bootstrappers give you localizable installs in 
one flat file.

 Definitely not. Python is easier than XML.

I disagree.

 If you think otherwise, feel free to provide a proof in the form of a Wix 
 installation generator for Python.

If you think otherwise, why don't you provide proof and get the WiX guys to 
switch to Python and use your msilib package? The point is that your argument 
is nonsensical.

I'm really not trying to start a flame war here (my original post only asked if 
there was thought towards migrating away from msilib). There's legitimate 
need/desire for a merge module to make it easier to package a specific Python 
version. I can (and am) including it in the bootstrapper, but it would make 
things much cleaner to simply have a merge module available. If the answer's 
no and we don't ever intend to, then that's perfectly fine. (c: I really 
don't care to argue the merits or virtues of WiX vs. msilib and I apologize if 
I came across as doing that -- I simply was interested to know if there's any 
serious thought in the matter and it turns out that people are perfectly happy 
w/ msilib.

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Hoyt, David
 If Python was starting at ground zero, and the choices were to create
 a library or to use WiX, the answer might have been different. 
 However with a mature enough library to suit all the needs that anyone 
 has been willing to author, it's certainly more work to create the WiX 
 install and maintain it than it is to merely maintain the existing
 scripts.

Sounds reasonable.

 As far as the possibility of distributing Python as a merge module?
 I'd recommend against it. Shared location merge modules are a
 maintenance nightmare, and private location merge modules may not
 offer the benefit you need. Better to just install the main Python msi
 as part of a suite with your installer, whether you build that
 installer in WiX and burn, or not.

I'm not familiar w/ shared location merge modules vs. private location merge 
modules. Are you referring to the possibility of having multiple python apps 
trying to use their own python versions? How relocatable is python? The 
maintenance nightmare isn't on your end (in my case), it would be on me to 
provide patches/upgrades. I do agree that patches w/ merge modules are a 
pain/nightmare. But what about providing both a merge module and msi so 
developers have a choice? I work on open source projects myself, and we always 
provide both a merge module and a normal msi installer. It's very little extra 
work (in WiX at least) to create both. But I can tell from this discussion that 
it would require changes in msilib and since I don't have the time to work on 
it, it would most likely not happen. Perhaps I could generate enough fervor in 
the community for a merge module, though, to drive msilib development. :p

At any rate, where could I find the script used to generate the msi package? 
Perhaps I can translate it into WiX if I thought it'd be used (but why bother 
if no one's interested?).
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Hoyt, David
  I found it much easier to use than WiX, which I also tried.

I also used to use the Visual Studio installer projects until I needed 
something a lot more robust (e.g., customized UI + localizable strings). msilib 
does the job people need it to do and that's fine. I'm really not trying to 
argue the merits of WiX vs. msilib. Was just wondering if it had been 
considered...
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread R. David Murray
On Wed, 02 Feb 2011 17:30:43 -0800, Hoyt, David ho...@llnl.gov wrote:
  Definitely not. Python is easier than XML.
 
 I disagree.

Just as an FYI, I believe that most people in the Python community find
XML much more of a pain than Python.  Many of us (especially those of
us who are not web developers) avoid XML whenever possible, and when
we do have to deal with it we tend to abstract it behind easier to work
with Python code.  The obvious exception to that would be web templating
languages, but I personally prefer to avoid those, as well :)

--
R. David Murray  www.bitdance.com
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Martin v. Löwis
 I'm really not trying to start a flame war here (my original post
 only asked if there was thought towards migrating away from
 msilib). There's legitimate need/desire for a merge module to make
 it easier to package a specific Python version.

Please recognize that this question is entirely independent of the
question whether Wix is used or not.

I'm personally +0 on providing a merge module (although others are
apparently opposed to that idea).

As for msilib vs. Wix: yes, I did put thought into this (actually
originally also when writing msilib, which slightly predates Wix in
time). However, I don't see any need to switch, and I actually do
believe that Wix couldn't provide a feature-by-feature full
replacement of the current packaging code (but I might be wrong).

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python merge module

2011-02-02 Thread Martin v. Löwis
 As far as the possibility of distributing Python as a merge
 module? I'd recommend against it. Shared location merge modules are
 a maintenance nightmare, and private location merge modules may
 not offer the benefit you need. Better to just install the main
 Python msi as part of a suite with your installer, whether you
 build that installer in WiX and burn, or not.
 
 I'm not familiar w/ shared location merge modules vs. private
 location merge modules. Are you referring to the possibility of
 having multiple python apps trying to use their own python versions?
 How relocatable is python?

Fairly relocatable. If there is was a merge module, I'd really prefer
it to be shared. The challenge here is site-packages: different users
of the merge module would need different copies of site-packages
(or else installing additional packages might break existing software).

Another challenge with shared location merge modules is upgrades:
the Python installer currently doesn't use stable component IDs;
I think this would cause problems for users of the merge module.
Providing stable component IDs is a challenge since it's difficult
to version the files on disk.

Not sure why Michael thinks that a private location merge module
would provide no benefits to the user of the merge module.

 The maintenance nightmare isn't on your
 end (in my case), it would be on me to provide patches/upgrades. I do
 agree that patches w/ merge modules are a pain/nightmare. But what
 about providing both a merge module and msi so developers have a
 choice?

I certainly wouldn't stop providing an MSI. The next question would
be whether the MSI then also installs into the shared location, or
whether it would have a private copy of Python.

 I work on open source projects myself, and we always provide
 both a merge module and a normal msi installer. It's very little
 extra work (in WiX at least) to create both.

But what's the quality of these? Ideally, I'd like to create a single
merge module which, at the option of the user of the merge module,
produces either a shared or a private installation. Is that still
only little extra work in Wix?

 At any rate, where could I find the script used to generate the msi
 package? Perhaps I can translate it into WiX if I thought it'd be
 used (but why bother if no one's interested?). 

It's in Tools/msi/msi.py.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com