It should be possible to do rootless manylinux builds in containers with podman/buildah: https://developers.redhat.com/blog/2019/02/21/podman-and-buildah-for-docker-users/
Last I checked, rootless within rootless as you'd need for CI builds is problematic due to overlayfs within overlayfs not working. Otherwise, You *can* specify a nonroot --prefix/--installroot to install (build-dep) packages to But then you'd be building a chroot without seccomp, cgroups, namespaces On Thu, Apr 2, 2020, 9:34 PM Antonio Cavallo <antonio.cavallo...@gmail.com> wrote: > Probably, but I'm still convinced a sdk would be nice. > > Yes, I'm aware of manylinux. DEB/RP suffer from the fact that need to be > "root" installed and manylinux needs docker to be used, so same issue. > > Thanks > > > On Thu, 2 Apr 2020 at 20:55, Wes Turner <wes.tur...@gmail.com> wrote: > >> No, I think you might be doing it wrong. >> FWIW, I haven't needed to compile CPython in 10 years (iot to build >> something other than CPython) because official builds of Conda, DEB, RPM, >> or Docker containers are generally sufficient. >> >> Are you familiar with the manylinux specs? >> I should've thought to mention that you can build maximally-portable >> packages with the manylinux docker containers as your base image: >> https://github.com/pypa/manylinux >> >> https://github.com/pypa/manylinux/blob/master/README.rst#docker-images >> >> https://pypi.org/project/auditwheel/ : >> >> > auditwheel is a command line tool to facilitate the creation of Python >> wheel packages for Linux (containing pre-compiled binary extensions) that >> are compatible with a wide variety of Linux distributions, consistent with >> the PEP 513 manylinux1, PEP 571 manylinux2010 and PEP 599 manylinux2014 >> platform tags. >> >> On Thu, Apr 2, 2020, 8:48 PM Antonio Cavallo < >> antonio.cavallo...@gmail.com> wrote: >> >>> To distribute python binaries (interpreter + extensions) on linux one >>> need to compile it using the lowest common denominator (eg. some linux >>> distro really old, like rhel6). >>> Later when a user need to build an extension that might not be possible >>> (because the running host might not have a compatible compiler). >>> >>> So I think a good idea would be starting from the toolchain (eg. in my >>> case I use gcc 9.2.x). >>> >>> These days if I need to use java/node/etc. I won't go through the >>> re-building the interpreter/jvm. Does that make sense? >>> >>> >>> >>> >>> On Thu, 2 Apr 2020 at 20:39, Wes Turner <wes.tur...@gmail.com> wrote: >>> >>>> So you want to import from / call into what would be in $prefix/lib & >>>> $prefix/include? >>>> >>>> How is the SDK archive use case different from the package archive use >>>> case? >>>> >>>> On Thu, Apr 2, 2020, 8:32 PM Antonio Cavallo < >>>> antonio.cavallo...@gmail.com> wrote: >>>> >>>>> Yes, I'm aware of those.. providing an application wouldn't be what I >>>>> have in mind. >>>>> >>>>> The point would be providing a python sdk, similar to what >>>>> node/java/.net provide. something it would possible to build upon. >>>>> Those are distributed as stand alone "zip" to the general public. >>>>> >>>>> >>>>> >>>>> On Thu, 2 Apr 2020 at 20:15, Wes Turner <wes.tur...@gmail.com> wrote: >>>>> >>>>>> Would e.g. pyinstaller or constructor solve the problem? >>>>>> >>>>>> https://pyinstaller.readthedocs.io/en/stable/ >>>>>> >>>>>> > PyInstaller bundles a Python application and all its dependencies >>>>>> into a single package. The user can run the packaged app without >>>>>> installing >>>>>> a Python interpreter or any modules. PyInstaller supports Python 2.7 and >>>>>> Python 3.5+, and correctly bundles the major Python packages such as >>>>>> numpy, >>>>>> PyQt, Django, wxPython, and others. >>>>>> > >>>>>> > PyInstaller is tested against Windows, Mac OS X, and GNU/Linux. >>>>>> However, it is not a cross-compiler: to make a Windows app you run >>>>>> PyInstaller in Windows; to make a GNU/Linux app you run it in GNU/Linux, >>>>>> etc. PyInstaller has been used successfully with AIX, Solaris, FreeBSD >>>>>> and >>>>>> OpenBSD but testing against them is not part of our continuous >>>>>> integration >>>>>> tests. >>>>>> >>>>>> https://github.com/conda/constructor : >>>>>> >>>>>> > Constructor is a tool which allows constructing an installer for a >>>>>> collection of conda packages. It solves needed packages using >>>>>> user-provided >>>>>> specifications, and bundles those packages. It can currently create 3 >>>>>> kinds >>>>>> of installers, which are best thought of as delivery vehicles for the >>>>>> bundled packages. There are shell installers, MacOS .pkg installers, and >>>>>> Windows .exe installers. Each of these will create an environment on the >>>>>> end user's system that contains the specs you provided, along with any >>>>>> necessary dependencies. These installers are similar to the Anaconda and >>>>>> Miniconda installers, and indeed constructor is used to create those >>>>>> installers. >>>>>> >>>>>> One advantage of ~ 'dynamic linking' / not shipping the python binary >>>>>> is that you then don't need to sign and distribute new releases for every >>>>>> minor release of cpython >>>>>> >>>>>> On Thu, Apr 2, 2020, 8:09 PM Antonio Cavallo < >>>>>> antonio.cavallo...@gmail.com> wrote: >>>>>> >>>>>>> Not quite, my hope is to have a python tarball similar to the >>>>>>> "Windows x86 embeddable zip file" but for linux. >>>>>>> Similar to miniconda but for plain python, or sort of python "sdk", >>>>>>> if that makes sense. >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> PS. I didn't know about the core workflow, thanks >>>>>>> >>>>>>> >>>>>>> On Thu, 2 Apr 2020 at 19:55, Wes Turner <wes.tur...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> https://devguide.python.org/buildbots/ >>>>>>>> >>>>>>>> These run in Docker containers: >>>>>>>> - https://github.com/python/cpython/blob/master/.travis.yml >>>>>>>> - >>>>>>>> https://github.com/conda-forge/python-feedstock/blob/master/recipe/build.sh >>>>>>>> >>>>>>>> These are all of the current builds; are you proposing another? >>>>>>>> >>>>>>>> https://github.com/python/buildmaster-config/blob/master/master/custom/builders.py >>>>>>>> >>>>>>>> https://github.com/python/buildmaster-config/blob/master/worker_example.Dockerfile >>>>>>>> >>>>>>>> https://github.com/buildbot/buildbot_travis : >>>>>>>> >>>>>>>> > Basically we provide a compatibility shim in buildbot that allows >>>>>>>> it to consume a .travis.yml file. >>>>>>>> > >>>>>>>> > buildbot_travis does however not support the full .travis.yml >>>>>>>> format. >>>>>>>> >>>>>>>> https://github.com/python/core-workflow/issues >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Apr 2, 2020, 6:36 PM Antonio Cavallo < >>>>>>>> antonio.cavallo...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hi >>>>>>>>> is there any interest (or anyone has done it before), building the >>>>>>>>> python interpreter using docker? >>>>>>>>> >>>>>>>>> The basic idea is building the toolchain (gcc) and on top of that >>>>>>>>> the python interpreter. On mac/linux it can build natively, but it >>>>>>>>> can use >>>>>>>>> docker to target linux from mac/windows. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> _______________________________________________ >>>>>>>>> Python-ideas mailing list -- python-ideas@python.org >>>>>>>>> To unsubscribe send an email to python-ideas-le...@python.org >>>>>>>>> https://mail.python.org/mailman3/lists/python-ideas.python.org/ >>>>>>>>> Message archived at >>>>>>>>> https://mail.python.org/archives/list/python-ideas@python.org/message/DX7WNXJGFZJZSSVV5KG54TMW3AFTELET/ >>>>>>>>> Code of Conduct: http://python.org/psf/codeofconduct/ >>>>>>>>> >>>>>>>>
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/HORCHKNRX3FVXUNGWT6MLNZVTFALBTHR/ Code of Conduct: http://python.org/psf/codeofconduct/