[Buildroot] [PATCH] Fix PYC-only installation for Python3
Arnout Vandecappelle
arnout at mind.be
Sun Jan 27 23:36:23 UTC 2013
On 27/01/13 20:03, Daniel Nelson wrote:
> All,
>
> This is my first buildroot/open source submission. I'd appreciate some feedback.
>
> Python3 changes the behavior of .pyc caching, breaking the PYC-only option in buildroot. The details are in http://www.python.org/dev/peps/pep-3147
>
> I've added a configure flag to Python3, and corresponding logic in buildroot.
>
> Thoughts?
>
> Thanks,
>
> Daniel Nelson
This message will end up in the git log, but it's not appropriate for
that. Please create a proper commit message, and make sure it is
line-wrapped at 80 columns. If you want to give additional comments that
should not go into the git log (like the 'this is my first open source
submission'), add them below the ---.
Also, we require you to add a Signed-off-by line for yourself. This is
a short way for you to assert that you are entitled to contribute the
patch under buildroot's GPL license. See
http://elinux.org/Developer_Certificate_Of_Origin
for more details.
More minor comments below - but they're just optional, so:
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
(untested)
(If you repost this patch, with or without the proposed modifications,
you can add my Acked-by line below your Signed-off-by line.)
> ---
> ...ython3-3.3-012-support-pre-pep3147-stdlib.patch | 121 +++++++++++++++++++++
> package/python3/python3.mk | 4 +
> 2 files changed, 125 insertions(+)
> create mode 100644 package/python3/python3-3.3-012-support-pre-pep3147-stdlib.patch
>
> diff --git a/package/python3/python3-3.3-012-support-pre-pep3147-stdlib.patch b/package/python3/python3-3.3-012-support-pre-pep3147-stdlib.patch
> new file mode 100644
> index 0000000..fadd5e1
> --- /dev/null
> +++ b/package/python3/python3-3.3-012-support-pre-pep3147-stdlib.patch
> @@ -0,0 +1,121 @@
> +--- python3-3.3.0/configure.ac 2013-01-26 19:12:56.446601796 -0800
> ++++ python3-3.3.0-new/configure.ac 2013-01-26 19:11:31.632687123 -0800
> +@@ -1827,6 +1828,28 @@
> + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
> + esac
> +
> ++STDLIB_CACHE_FLAGS=
> ++STDLIB_CACHE_TYPE=pep3147
> ++AC_MSG_CHECKING(for --with-stdlib-cache)
> ++AC_ARG_WITH(stdlib-cache,
Since there are only two options, an AC_ARG_ENABLE seems more
appropriate. That also makes the implementation slightly smaller because
you don't need the STDLIB_CACHE_TYPE, just:
AC_ARG_ENABLE(old-stdlib-cache,
AS_HELP_STRING(...),
[
if [ "$enableval" = "yes" ]; then
STDLIB_CACHE_FLAGS="-b"
else
STDLIB_CACHE_FLAGS=""
fi
],
[STDLIB_CACHE_FLAGS=""])
> ++ AS_HELP_STRING([--with-stdlib-cache=type], [select type of stdlib cache ("pep3147", or "old")]),
> ++[
> ++ AC_MSG_RESULT($withval)
> ++ STDLIB_CACHE_TYPE=$withval
> ++],
> ++[
> ++ AC_MSG_RESULT(${STDLIB_CACHE_TYPE})
> ++])
> ++case $STDLIB_CACHE_TYPE in
> ++ pep3147)
> ++ STDLIB_CACHE_FLAGS=""
> ++ ;;
> ++ old)
> ++ STDLIB_CACHE_FLAGS="-b"
> ++ ;;
> ++esac
> ++AC_SUBST(STDLIB_CACHE_FLAGS)
> ++
> + AC_MSG_CHECKING(for --enable-framework)
> + if test "$enable_framework"
> + then
> +--- python3-3.3.0/configure 2012-09-29 01:00:50.000000000 -0700
> ++++ python3-3.3.0-new/configure 2013-01-26 19:11:38.562839350 -0800
Since we run autoreconf, it's not necessary to patch the configure
script - it will anyway be overwritten.
Regards,
Arnout
[snip]
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot
mailing list