From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-python@lists.gentoo.org
Cc: python@gentoo.org
Subject: [gentoo-python] [eselect-python] Patches to switch to full python-exec wrapping
Date: Sun, 15 Nov 2015 10:39:11 +0100 [thread overview]
Message-ID: <1447580355-16777-1-git-send-email-mgorny@gentoo.org> (raw)
Hi,
A quick patch set I've created a few days ago and enabled
on python-wrapper-full-replacement branch (on my github fork of gentoo).
Currently the wrapping of Python executables is a mess. The python
executable is wrapped using python-wrapper. python-config has a custom
generated wrapper, and python[23] are just symlinks (so no wrapping),
similarly to a few remaining Python executables.
My idea is to use python-exec for everything. Long story short, I
modified all newest revisions (in the branch) to install appropriate
symlinks in /usr/lib/python-exec/... so that python-exec can recognize
all Python executables appropriately. I've taken all the executables
that make sense for new Python versions -- python, pythonN,
python-config, pythonN-config, pydoc, 2to3, pyvenv.
Now that python-exec is aware of the stuff, I just modified
eselect-python to stop playing with the stuff and just handle
configuration and symlinks for non-executable stuff (manpages,
frameworks like we ever cared about those). Instead, the ebuild installs
a few appropriate symlinks to python-exec (that replace those created by
eselect-python in the past).
In other words, if you spawn 'python3', then python-exec simply looks
through /usr/lib/python-exec/*/python3 to select the most preferred
version. Since only dev-lang/python-3.* install 'python3' symlinks
there, only those are considered. All the magic works and everyone is
happy.
As you can see, the ebuild changes (not included there) are kinda more
important yet the patchset accompanies them well. It specifically:
1. adds .lz manpage support. Not that the whole hardcoded compressor
list makes sense but it at least silences the error for me.
2. Moves python[23] selections to a file. Currently, they are 'stored'
in the symlink which is non-portable and collides with the new wrapper.
3. Kills the code that created all executable symlinks.
4. Kills python-wrapper since it is no longer used.
Stay tuned for ebuild patches.
--
Best regards,
Michał Górny
next reply other threads:[~2015-11-15 9:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-15 9:39 Michał Górny [this message]
2015-11-15 9:39 ` [gentoo-python] [PATCH 1/4] manpage: Support .lz compression Michał Górny
2015-11-15 9:39 ` [gentoo-python] [PATCH 2/4] Store selected python[23] version in a file Michał Górny
2015-11-15 9:39 ` [gentoo-python] [PATCH 3/4] Stop creating symlinks to interpreters and the wrapper Michał Górny
2015-11-15 9:39 ` [gentoo-python] [PATCH 4/4] Remove python-wrapper Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1447580355-16777-1-git-send-email-mgorny@gentoo.org \
--to=mgorny@gentoo.org \
--cc=gentoo-python@lists.gentoo.org \
--cc=python@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox