...
 
Commits (2)
  • fixup! glib: put the expected python in $PATH · 77d9f997
    The OS may not have Python (slapos-node package does not depend
    on any version of Python). Another possible issue was found on Suse:
    
      make[3]: Entering directory '.../parts/glib__compile__/glib-2.56.4/gio'
        GEN      gdbus-daemon-generated.c
      Traceback (most recent call last):
        File "./gdbus-2.0/codegen/gdbus-codegen.in", line 53, in <module>
          from codegen import codegen_main
        File ".../parts/glib__compile__/glib-2.56.4/gio/gdbus-2.0/codegen/codegen_main.py", line 30, in <module>
          from . import parser
        File ".../parts/glib__compile__/glib-2.56.4/gio/gdbus-2.0/codegen/parser.py", line 23, in <module>
          import xml.parsers.expat
      ImportError: No module named xml.parsers.expat
    Julien Muchembled committed
  • python2.7: mangle shebang of installed python scripts · 9ba04900
    Julien Muchembled committed
......@@ -10,6 +10,14 @@ extends =
parts =
glib
# --with-python=${buildout:executable} is simpler but we may end up with
# scripts whose shebang exceeds the kernel limit.
# And ${buildout:executable}/.. is not a valid $PATH part.
[glib-python]
recipe = collective.recipe.shelloutput
commands =
bin-directory = dirname ${buildout:executable}
[glib]
recipe = slapos.recipe.cmmi
shared = true
......@@ -24,7 +32,7 @@ configure-options =
--disable-xattr
--disable-man
environment =
PATH=${gettext:location}/bin:${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
PATH=${glib-python:bin-directory}:${gettext:location}/bin:${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
CPPFLAGS=-I${gettext:location}/include -I${zlib:location}/include
LDFLAGS=-L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
LIBFFI_CFLAGS=-I${libffi:location}/include
......
......@@ -56,6 +56,16 @@ configure-options =
# Profiled build:
make-binary =
make-targets = make profile-opt && make install
# Mangle shebang to use installed Python. This is not only a convenience:
# when building system packages (e.g. re6st-node using OBS), some OS like
# recent RedHat would otherwise mangle them, either failing ('python' is
# ambiguous and 'python2' is not supported anymore) or replacing with
# something that's really wrong (/usr/bin/python...).
post-install = cd '${:prefix}' &&
find -executable -type f -print0 |
xargs -0 grep -I -m 1 '' |
sed -n 's,:#! */usr/bin/env \+python2\?$,,p' |
xargs -d '\n' sed -i '1s,.*,#!${:executable},'
extra-ldflags =
# the entry "-Wl,-rpath=${file:location}/lib" below is needed by python-magic,
......
......@@ -27,4 +27,3 @@ smmap = 0.9.0
numpy = 1.16.4
websockify = 0.8.0
collective.recipe.shelloutput = 0.1
......@@ -196,7 +196,6 @@ context =
websockify = 0.5.1
collective.recipe.environment = 0.2.0
collective.recipe.shelloutput = 0.1
gitdb = 0.6.4
pycurl = 7.43.0
slapos.recipe.template = 4.3
......
......@@ -46,5 +46,4 @@ output = ${buildout:directory}/template-selenium.cfg
[versions]
plone.recipe.command = 1.1
collective.recipe.shelloutput = 0.1
slapos.recipe.template = 4.3
......@@ -171,7 +171,6 @@ gunicorn = 19.7.1
prettytable = 0.7.2
pycurl = 7.43.0
slapos.recipe.template = 4.3
collective.recipe.shelloutput = 0.1
collective.recipe.environment = 0.2.0
smmap = 0.9.0
lockfile = 0.12.2
......
......@@ -117,6 +117,7 @@ cffi = 1.9.1
click = 6.7
cliff = 2.4.0
cmd2 = 0.7.0
collective.recipe.shelloutput = 0.1
collective.recipe.template = 2.0
cryptography = 2.3.1
decorator = 4.0.11
......