[arch-general] Using "python3 setup.py" in PKGBUILDs
I recently started creating/maintaining packages for the AUR. One request I've run up against is allowing users to relink /usr/bin/python to /usr/bin/python2, but still have package building work. Apparently the current policy is to use "python setup.py" for Python 3 packages, but that breaks Python 3 package building for users who relink. Using "python3 setup.py" fixes that problem. Could that policy change? I searched around for a conversation, but couldn't find anything. Also, the policy itself is undocumented in the wiki and /usr/share/pacman/PKGBUILD-python.proto. -Aaron DeVore
On Mon, Apr 11, 2011 at 6:57 AM, Aaron DeVore <aaron.devore@gmail.com> wrote:
I recently started creating/maintaining packages for the AUR. One request I've run up against is allowing users to relink /usr/bin/python to /usr/bin/python2, but still have package building work. Apparently the current policy is to use "python setup.py" for Python 3 packages, but that breaks Python 3 package building for users who relink. Using "python3 setup.py" fixes that problem.
Could that policy change? I searched around for a conversation, but couldn't find anything. Also, the policy itself is undocumented in the wiki and /usr/share/pacman/PKGBUILD-python.proto.
-Aaron DeVore
AFAICR users who relink python to python2 are on their own. This breaks repo packages as well, not just AUR packages.
On 11/04/11 10:48, Oon-Ee Ng wrote:
On Mon, Apr 11, 2011 at 6:57 AM, Aaron DeVore<aaron.devore@gmail.com> wrote:
I recently started creating/maintaining packages for the AUR. One request I've run up against is allowing users to relink /usr/bin/python to /usr/bin/python2, but still have package building work. Apparently the current policy is to use "python setup.py" for Python 3 packages, but that breaks Python 3 package building for users who relink. Using "python3 setup.py" fixes that problem.
Could that policy change? I searched around for a conversation, but couldn't find anything. Also, the policy itself is undocumented in the wiki and /usr/share/pacman/PKGBUILD-python.proto.
-Aaron DeVore
AFAICR users who relink python to python2 are on their own. This breaks repo packages as well, not just AUR packages.
Correct. This currently breaks all sort of stuff so is completely unsupported. Allan
On Mon, Apr 11, 2011 at 9:40 AM, Allan McRae <allan@archlinux.org> wrote:
On 11/04/11 10:48, Oon-Ee Ng wrote:
On Mon, Apr 11, 2011 at 6:57 AM, Aaron DeVore<aaron.devore@gmail.com> wrote:
I recently started creating/maintaining packages for the AUR. One request I've run up against is allowing users to relink /usr/bin/python to /usr/bin/python2, but still have package building work. Apparently the current policy is to use "python setup.py" for Python 3 packages, but that breaks Python 3 package building for users who relink. Using "python3 setup.py" fixes that problem.
Could that policy change? I searched around for a conversation, but couldn't find anything. Also, the policy itself is undocumented in the wiki and /usr/share/pacman/PKGBUILD-python.proto.
-Aaron DeVore
AFAICR users who relink python to python2 are on their own. This breaks repo packages as well, not just AUR packages.
Correct. This currently breaks all sort of stuff so is completely unsupported.
Allan
relinking python is a bad idea, but imho, explicitly envoking python3 when packaging it not. using python to install python3 packages is like linking to foo.so instead of foo.so.3.
On Mon, 2011-04-11 at 12:06 +0800, Auguste Pop wrote:
relinking python is a bad idea, but imho, explicitly envoking python3 when packaging it not. using python to install python3 packages is like linking to foo.so instead of foo.so.3.
Which is what is done by default when you tell gcc to link -lfoo ;)
On Mon, Apr 11, 2011 at 3:09 PM, Jan de Groot <jan@jgc.homeip.net> wrote:
On Mon, 2011-04-11 at 12:06 +0800, Auguste Pop wrote:
relinking python is a bad idea, but imho, explicitly envoking python3 when packaging it not. using python to install python3 packages is like linking to foo.so instead of foo.so.3.
Which is what is done by default when you tell gcc to link -lfoo ;)
but the soname recorded in the executable would be libfoo.so.3. so if a soname bump occured in libfoo, out executable will not run since libfoo.so is now linked to libfoo.so.4, even if it's totally identical to libfoo.so.3. my point is, the executable would fail to run in the linking stage, instead of making some ugly errors in runtime.
2011/4/11, Auguste Pop <auguste@gmail.com>:
On Mon, Apr 11, 2011 at 9:40 AM, Allan McRae <allan@archlinux.org> wrote:
On 11/04/11 10:48, Oon-Ee Ng wrote:
On Mon, Apr 11, 2011 at 6:57 AM, Aaron DeVore<aaron.devore@gmail.com> wrote:
I recently started creating/maintaining packages for the AUR. One request I've run up against is allowing users to relink /usr/bin/python to /usr/bin/python2, but still have package building work. Apparently the current policy is to use "python setup.py" for Python 3 packages, but that breaks Python 3 package building for users who relink. Using "python3 setup.py" fixes that problem.
Could that policy change? I searched around for a conversation, but couldn't find anything. Also, the policy itself is undocumented in the wiki and /usr/share/pacman/PKGBUILD-python.proto.
-Aaron DeVore
AFAICR users who relink python to python2 are on their own. This breaks repo packages as well, not just AUR packages.
Correct. This currently breaks all sort of stuff so is completely unsupported.
Allan
relinking python is a bad idea, but imho, explicitly envoking python3 when packaging it not.
Yeah, "explicit is better than implicit", so being precise when writing code for an interpreter seems like the good choice to me. (also, it will allow PKGBUILDS to be more portable without breaking anything). With the same kind of policy, users (or packagers) who relink their /usr/bin/python to python should still use python2 (as in PEP 394) for PKGBUILDs, scripts, and such.
On Sun, Apr 10, 2011 at 6:40 PM, Allan McRae <allan@archlinux.org> wrote:
On 11/04/11 10:48, Oon-Ee Ng wrote:
AFAICR users who relink python to python2 are on their own. This breaks repo packages as well, not just AUR packages.
Correct. This currently breaks all sort of stuff so is completely unsupported.
Any reason to not use "python3 setup.py" to prep for a policy allowing for relinking in the future? If the necessary change *might* be made, I'd rather make it now than later. Also, I haven't found any documented policy on renaming preexisting Python2 packages to python2-* when a Python 3 version of the package becomes available. A consistent policy would help packagers and users. -Aaron DeVore
participants (6)
-
Aaron DeVore
-
Allan McRae
-
Auguste Pop
-
Jan de Groot
-
mathieu p
-
Oon-Ee Ng