Python distribution: switching to tar.xz

Ruslan Mahmatkhanov cvs-src at yandex.ru
Tue Oct 2 17:55:15 UTC 2012


Li-Wen Hsu wrote on 01.10.2012 22:11:
> On Mon, Oct 01, 2012 at 22:03:48 +0400, Ruslan Mahmatkhanov wrote:
>> Li-Wen Hsu wrote on 01.10.2012 21:51:
>>>
>>> EXTRACT_SUFX?= .tgz
>>> PYTHON_DISTFILE= Python-${PYTHON_PORTVERSION:S/.rc/rc/}}${EXTRACT_SUFX}
>>
>> Yes, I also bow to this option.
>>
>>> then we can define USE_XZ= yes in the ports we want to use xz
>>> distfile, which handles
>>> ${EXTRACT_SUFX} and ${EXTRACT_DEPENDS} correctly.  After python26 decommission,
>>> we can even move this into  bsd.python.mk
>>
>> python26 distributes in tar.xz too [1]. Or you meant something other?
>>
>> Ok, so I get the point. I'll prepare an patch that make ${EXTRACT_SUFX}
>> redefinable for python ports, so we can gradually switch all this ports
>> to xz. Thanks Marcus and Li-Wen.
>>
>> [1] http://www.python.org/ftp/python/2.6.8/Python-2.6.8.tar.xz
>>
>
> Oh I was not aware that, I just did not see XZ information at:
>
>     http://python.org/download/releases/2.6.8/
>
> So maybe we can simply put USE_XZ= yes in bsd.python.mk now.

Ok, here is the patch [1]. Unfortunately, we can't just include USE_XZ 
into bsd.python.mk because this will affect *all* the ports, that define 
USE_PYTHON in their Makefile's. I can't think a way how to (nicely) 
apply USE_XZ to limited set of ports inside of bsd.python.mk. Using 
tar.xz instead of .tgz in ${PYTHON_DISTFILE} will not work on systems, 
that lacks xz in a base system and I dislike the duplication of USE_XZ 
internals in bsd.python.mk for them.

So this patch just replaces .tgz with ${EXTRACT_SUFX} and USE_XZ is used 
in individual python ports. I did some test builds of python and it's 
slaves (py-sqlite3, py-bdsdb, py-gdbm, py-tkinter) and everything seems 
fine. I also diffed all the four pairs tgz/tar.xz of each python version 
- and, as it was expected, their content is equal.

Any objections, suggestions etc?

[1] http://people.freebsd.org/~rm/tgz-to-tx-conversion.diff.txt

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.


More information about the freebsd-python mailing list