[issue6983] Add specific get_platform() for freebsd

2011-10-09 Thread Stef Walter

Stef Walter  added the comment:

Shrug. I guess you can close it.

This is still a bothersome issue, but we've taken to patching every version of 
python downstream before deploying them. All for a simple three line patch.

--

___
Python tracker 
<http://bugs.python.org/issue6983>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6983] Add specific get_platform() for freebsd

2011-12-23 Thread Stef Walter

Stef Walter  added the comment:

Good plan.

So the issue is:

 * Platform specific eggs are built containing a path that has the full
   patch level of the freebsd kernel, like "8.2-RELEASE-p2". The "-p2"
   part is updated for every security patch of FreeBSD.
 * Thus when you apply a security patch to FreeBSD, platform specific
   eggs built for that version of FreeBSD (before the security patch
   was applied) are no longer considered compatible.

FYI, FreeBSD has an unwritten policy of keeping all 8.x releases
backwards compatible with one another. So platform specific eggs built
for 8.1 would work without inherent problems on 8.2 or 8.3.

But at the very least, platform specific eggs should not be dependent on
the patch level of the FreeBSD kernel.

On 11/20/2011 03:38 PM, Éric Araujo wrote:
> 
> Éric Araujo  added the comment:
> 
>> This is still a bothersome issue, but we've taken to patching every version 
>> of python
>> downstream before deploying them. All for a simple three line patch.
> 
> Sorry about the unsatisfactory situation.  Could we start anew and define 
> exactly what the problem is, so that distutils2 can be free of it?  (I’m 
> afraid distutils can’t be changed: even undocumented, the platform string 
> used for FreeBSD is certainly used by tools out there that we don’t want to 
> break.  I second the suggestion to bring up the issue to the projects 
> responsible for eggs, i.e. setuptools and distribute, not distutils.)
> 
> --
> 
> ___
> Python tracker 
> <http://bugs.python.org/issue6983>
> ___

--

___
Python tracker 
<http://bugs.python.org/issue6983>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6983] Add specific get_platform() for freebsd

2009-09-23 Thread Stef Walter

New submission from Stef Walter :

In Lib/distutils/util.py in the get_platform() function there's OS 
specific code to create a string which describes the current platform. 
This usually includes the OS + version + arch. 

FreeBSD specific code is missing from this function. Currently 
get_platform() returns a string specific to the security patch level of 
freebsd. For example:

freebsd-7.2-RELEASE-p3-i386

This results in eggs that only work on a specific patch level release of 
FreeBSD and are not portable between (for example) 7.2-RELEASE-p2 and 
7.2-RELEASE-p3.

However FreeBSD is actually binary compatible within a major version 
number. For example 7.1 and 7.2 are binary compatible.

This patch adds freebsd specific code to get_platform() after which it 
will return a string like:

freebsd-7-i386

--
assignee: tarek
components: Distutils
files: patch-python-distutils-osrel.diff
keywords: patch
messages: 93050
nosy: stefw, tarek
severity: normal
status: open
title: Add specific get_platform() for freebsd
type: behavior
versions: Python 2.4, Python 2.5, Python 2.6, Python 2.7
Added file: http://bugs.python.org/file14961/patch-python-distutils-osrel.diff

___
Python tracker 
<http://bugs.python.org/issue6983>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6983] Add specific get_platform() for freebsd

2009-09-24 Thread Stef Walter

Stef Walter  added the comment:

I agree with your comments, and the solution you're proposing solves the 
problem (and several others) for the long term. 

However in the short term, could this patch be committed? Most other OS's 
(including openbsd and netbsd) have OS specific code in get_platform(). 
FreeBSD is notably missing from that function. 

Obviously this would not preclude work on a better all encompassing 
solution.

--

___
Python tracker 
<http://bugs.python.org/issue6983>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6983] Add specific get_platform() for freebsd

2009-09-24 Thread Stef Walter

Stef Walter  added the comment:

Other OSs have special cases in get_platform() to specifically limit the 
amount of code, and make proper decisions with regard to package 
compatibility. 

Here's an example this commit for Mac OS X: http://svn.python.org/view?
view=rev&revision=67988

It was discussed here at this issue: http://bugs.python.org/issue4064

Another example is how linux has no version information at all (ie: 
linux-i586). Perhaps this is why the easy_install authors thought their 
package system worked. They only tested it on linux?

Yes I agree that obviously this cannot be changed for 2.6. But it would 
be great to get this code in for python 2.7

Anyway, this is ultimately your call, since I don't have the 50,000 foot 
view over the entire situation. 

FWIW, I've had to patch python in a very large set of client 
installations. This patch has become a routine in order to unbreak 
python wrt to platform dependent packages.

--

___
Python tracker 
<http://bugs.python.org/issue6983>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6983] Add specific get_platform() for freebsd

2009-09-24 Thread Stef Walter

Stef Walter  added the comment:

Marc-Andre Lemburg wrote:
> Is that binary compatibility scheme documented somewhere ?

Not sure, it's been referred to and adhered to many times in the FreeBSD
community, but I'm not sure where it's documented. I'll ask around on
the FreeBSD mailing lists and post my findings here.

FWIW, the freebsd kernel and package system have options specifically
for compatibility with previous major versions. ie: FreeBSD 8 has
COMPAT_FREEBSD7 and COMPAT_FREEBSD6 kernel options, and has
misc/compat7x and misc/compat6x libraries available for install. But
again, I'll let you know for sure.

>> FWIW, I've had to patch python in a very large set of client 
>> installations. This patch has become a routine in order to unbreak 
>> python wrt to platform dependent packages.
> 
> Since this only affects easy_install/setuptools, it's probably
> easier to just create a patched egg for that and then use it
> with the normal Python installation.

True, I could give that a shot.

--

___
Python tracker 
<http://bugs.python.org/issue6983>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6983] Add specific get_platform() for freebsd

2009-09-24 Thread Stef Walter

Stef Walter  added the comment:

About FreeBSD ABI compatibility between minor versions:

Julian Elischer wrote:
> It is a policy of the project but I don't think our policies are 
> written down as such. I think you will find it referenced in
> many places in a sideways manner rather than directly.

http://docs.freebsd.org/cgi/getmsg.cgi?fetch=141507+0+current/freebsd-
hackers

--

___
Python tracker 
<http://bugs.python.org/issue6983>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com