14 Commits

Author SHA1 Message Date
David M. Lary c3e5f808a6 manylinux: Fixes for gid check, and chown python /man directories 2026-01-26 15:06:24 -06:00
David M. Lary f3fc294a08 manylinux: add builder group to own python files
The manylinux images can take over a minute to start on spinning disks
(not SSDs) because pre_exec.sh is changing the ownership of all the
python install directories to be writable by the BUILDER_UID.  This is
detailed further in #853.

I changed the build steps for manylinux images to add a group called
`builder`, then change the python directories to be owned by the
`builder` group, and group writable.  I then changed pre_exec.sh to add
BUILDER_USER to the builder group prior to the gosu switch to become
BUILDER_USER.  The result is that BUILDER_USER is in the `builder`
group that can write to the python directories, allowing the user to
install python packages without permission denied errors.

There was one additional change to support this, and that was the
arguments to `gosu` in entrypoint.sh.  Previously the arguments were
`$BUILDER_UID:BUILDER_GID`, but providing the gid prevents `gosu` from
loading additional groups (such as `builder`) from /etc/group.  I
removed the GID argument to allow `gosu` to pick up additional groups
from /etc/group.

fixes #853
2026-01-21 15:58:45 -06:00
Matt McCormick 8ad158c976 Revert "manylinux: Update scikit-build from 0.8.1 to 0.9.0"
This reverts commit 8eecfcacb2.

scikit-build still has an important regression as described in

  https://github.com/scikit-build/scikit-build/issues/415
2019-10-24 10:25:13 -04:00
Jean-Christophe Fillion-Robin 181d5464df manylinux: Update scikit-build from 0.9.0 to 0.10.0 2019-05-23 19:48:56 -04:00
Jean-Christophe Fillion-Robin 8eecfcacb2 manylinux: Update scikit-build from 0.8.1 to 0.9.0 2019-05-22 00:48:25 -04:00
Jean-Christophe Fillion-Robin 171d61880c manylinux: Update scikit-build from 0.7.1 to 0.8.1 2018-10-12 23:31:29 -04:00
Matt McCormick ba72994b41 common: Fix bash shell script invocation
`#!/usr/bin/env bash` should be used to avoid hard paths.

To address:

  dockcross-manylinux-x64: bad interpreter: /bin/bash^M: no such file or directory
2018-08-20 18:12:32 -04:00
Jean-Christophe Fillion-Robin 25483115b0 manylinux: Update version of scikit-build from 0.6.1 to 0.7.1 2018-07-10 01:10:19 -04:00
Jean-Christophe Fillion-Robin 0fbfa064b3 manylinux: Update scikit-build from 0.5.1 to 0.6.1
See http://scikit-build.readthedocs.io/en/latest/changes.html#scikit-build-0-6-1
2017-06-08 14:06:14 -04:00
Jean-Christophe Fillion-Robin 682d886b03 manylinux: Update scikit-build to 0.5.1
See http://scikit-build.readthedocs.io/en/latest/changes.html#scikit-build-0-5-1
2017-02-02 13:12:03 -05:00
Jean-Christophe Fillion-Robin 66a33a7647 manylinux-common: Fix pip install change ownership of "man" and "share" dir
This commit will fix installation of packages like nose that would otherwise
fail to install with error like the following:

  Installing collected packages: nose
  Exception:
  Traceback (most recent call last):
  [...]
  Permission denied: '/opt/_internal/cpython-2.7.11-ucs2/man'
2017-01-18 15:02:18 -05:00
Jean-Christophe Fillion-Robin 8923c6a3c7 manylinux.common: Fix warning changing ownership of python install
While the use of sudo (made possible by 53cf084) allows to install
additional packages, the warning copied below was still reported.

To avoid this warning and streamline the installation of new packages,
this commit (1) introduces the concept of "pre_exec" entrypoint hook
and (2) adds such a hook to change the ownership of python "bin" and
"site-packages" directories for the manylinux images.

Warning reported are similar to this one:

```
The directory '/home/jcfr/.cache/pip/http' or its parent directory is
not owned by the current user and the cache has been disabled. Please
check the permissions and owner of that directory. If executing pip
with sudo, you may want sudo's -H flag.
```

Note that the sudo "-H" flag suggested in the warning is not available
in centos.
2016-11-04 22:58:31 -04:00
Jean-Christophe Fillion-Robin 667b5c1ca7 manylinux-common/install-python-packages: Ensure latest pip is installed 2016-11-03 13:11:47 -04:00
Jean-Christophe Fillion-Robin ab0ab22c67 manylinux: Deduplicate install-skbuild.sh and rename to install-python-packages.sh 2016-11-03 13:10:06 -04:00