- 31 Oct, 2023 40 commits
-
-
Laurence Rowe authored
Python 3.7 began warning about open's 'U' mode. Universal newline mode (newline=None) is default in Python 3 so avoid specifying it on Python 3. (cherry picked from commit 978a6af9)
-
Julien Muchembled authored
-
Julien Muchembled authored
fixup! Apply += & -= in correct order with respect to extends If a.cfg extends b.cfg and both contain [a], it was already not possible for a.cfg:[a] to combine <= & +=. But it worked when a.cfg:[a] does not extend anything, and commit 161fb191 broke that. The only proper way to solve all this seems to process <= before += & -=. But since processing <= while extending files would cause other issues, we'd rather process +=&-= when initializing parts.
-
Julien Muchembled authored
This is useful when using OS Python & eggs. Useless for SlapOS.
-
Julien Muchembled authored
-
Julien Muchembled authored
The version of Python should not affect the behaviour of a recipe. Anyway, it was already ignored for DEVELOP_DIST eggs. This makes the slapos mechanism to share parts more efficient. And with the upcoming changes in buildout & slapos.recipe.cmmi, there would be no way for the slapos.reboostrap extension to prevent everything from being rebuilt when reboostrapping to a different version of Python, if bootstrap parts are shared. The monkey-patch by slapos.reboostrap now becomes useless.
-
Kazuhiko Shiozaki authored
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Kazuhiko Shiozaki authored
-
Jérome Perrin authored
When buildout encounter an error, program exists with error code 1, this should also be the case when exiting from a debugger session when running with -D option. /reviewed-on nexedi/slapos.buildout!17
-
Jérome Perrin authored
When a recipe is developed in a git working copy, .git administrative database folder should be ignored, like we did with CVS and svn. /reviewed-on nexedi/slapos.buildout!14
-
Yusei Tahara authored
_install_and_load is slow, using cache saves time when there are many sections.
-
Julien Muchembled authored
Contrary to bash, dash filters out environment variables containing '-' characters. And for example, /bin/sh is dash on Debian. <rebased>
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
Now specified patches are automatically applied on required eggs as well.
-
Vincent Pelletier authored
Useful when recipes generate non-string values to be reused by other recipes.
-
Rafael Monnerat authored
While invoke setup.py certain eggs (like scikit-learn) launch cetain custom builds (for cython) using subprocess and sys.executable. This commit aims to preserve the sys.path over the runs, even if an egg is using subprocess with the same python to build a component of the egg.
-
Rafael Monnerat authored
This commit is part of fixup the "Add setup-eggs option in zc.recipe.egg:develop."
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
-
Jérome Perrin authored
We want two identical sections at different URL to be able to produce same signature. This is feature is useful for slapos.recipe.cmmi's shared parts. Rebase instructions: - squash with "apply "Support ${:_profile_base_location_}."
-
Kazuhiko Shiozaki authored
Add referred parts' hash strings in __buildout_signature__, that invokes rebuild of a part when one of its (recursive) dependencies are modified. Also remove duplicates and sort entries in __buildout_signature__.
-
Xavier Thompson authored
-
Julien Muchembled authored
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
Also, updating a part does not put it anymore at the end of the list of installed parts, that was making .installed.cfg too big.
-
Kazuhiko Shiozaki authored
In SlapOS, bootstrap is called each time software release is invoked and we do not want to delete develop-eggs directory. This reverts commit 55d76b34.
-
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
Even though such configuration is wrong...
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
-
Kirill Smelkov authored
Currently only zc.recipe.egg:custom supports setting environment variables, and zc.recipe.egg:develop does not. My motivation for allowing setting environment in :develop is wendelin.core https://lab.nexedi.cn/nexedi/slapos/blob/b5faab3b/component/wendelin.core/buildout.cfg There we have [wendelin.core] part which installs released egg from pypi, and [wendelin.core-dev] part which installs wendelin.core from its latest git version via zc.recipe.egg:develop . The problem is, wendelin.core for setup.py to work, needs git available, and with slapos we usually don't have git available on base system, so we build it by our own and do something like [wendelin.core-dev] recipe = zc.recipe.egg:develop environment = wendelin.core-dev-env [wendelin.core-dev-env] # wendelin.core-dev needs git to build PATH = ${git:location}/bin:%(PATH)s and the problem is environment does not currently work for zc.recipe.egg:develop, and thus git is not found -> build fails. ~~~~ In order to support environment in :develop, we just move environment setting/restoring bits from Custom to Base, and provide Base.install() which uses this bits. Custom & Develop .install() becomes ._install() which gets hooked into Base.install() . I've tested the patch only manually, because currently automated tests are broken in a lot of places for slapos.buildout and zc.recipe.egg . /cc @kazuhiko, @Tyagov
-
Kazuhiko Shiozaki authored
- Support on the fly patches in zc.recipe.egg by ``EGGNAME-patches``, ``EGGNAME-patch-options``, ``EGGNAME-patch-binary`` (or ``patch-binary``) and ``EGGNAME-patch-revision`` options. - Support on the fly patches in zc.recipe.egg:custom by ``patches``, ``patch-options``, ``patch-binary`` and ``patch-revision`` options. (options ``EGGNAME-*`` are also supported as well).
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
-
Łukasz Nowak authored
extends can be interpreted as inheritance in OOP, but the original behaviour was against what is commonly (always?) seen everywhere. It is however good practice a file extends all files it needs directly (and only them). Then if two files A & B (possibly unrelated) extends the same third C, A was unable to overrides C values. It was even error-prone because someone who don't use B yet could override C values in A and later extending B would break A. For some of our common use cases, this new algorithm is also 9x faster (time to annotate: ~2.3s with -> ~.29s). Other changes: - ~/ is now expanded for non-url extends. - An absolute (non-url) path is not longer treated like a local path if the base is a url. - Better path/url normalization. Rebase instructions: - squash with "Chomp ../ from beginging of filenames" - split and apply "Support ${:_profile_base_location_}." after Sqaushed with Chomp ../ from beginging of filenames. In order to have as canonical as possible paths, chomp ../ from filenames and recalculate base.
-