- 11 May, 2021 2 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 23 Dec, 2020 2 commits
-
-
Thomas Gambier authored
-
Thomas Gambier authored
See merge request nexedi/slapos.buildout!22
-
- 22 Dec, 2020 1 commit
-
-
Thomas Gambier authored
-
- 11 Sep, 2020 2 commits
-
-
Jérome Perrin authored
other tests have been disabled by mistake. test was randomly failing because of glob.
-
Jérome Perrin authored
-
- 10 Sep, 2020 9 commits
-
-
Jérome Perrin authored
When recipes mutate the options, we should not allow invalid syntax otherwise it gets written in .installed.cfg and generate invalid configparser syntax.
-
Jérome Perrin authored
When recipe mutate options, options values are written to .installed.cfg without escaping buildout substitution syntax, so if a recipe sets an option value that could be interpreted as a buildout substitution, it is written as is in .installed.cfg. This can be a problem if options read from _read_installed_part_options are accessed, like it's the case with slapos patched buildout which saves installed options after an error with part installation or after each part installation when running in verbose mode.
-
Jérome Perrin authored
Contrary to bash, dash filters out environment variables containing '-' characters. And for example, /bin/sh is dash on Debian. Rebase instructions: - squash with 93369b04 and keep the above commit message fixup! Fix testing index when /bin/sh is dash (like on Debian)
-
Jérome Perrin authored
python ZipFile module does not support updating an entry in place, instead make a new zip file and copy all entries.
-
Godefroid Chapelle authored
-
Jason Madden authored
On Python 3, these made the build output very hard to read (e.g., https://travis-ci.org/buildout/buildout/jobs/394026829) On Python 3.7, these could actually break the doctests. Closing the files should get us closer to being able to pass the tests with PyPy.
-
Jérome Perrin authored
Because updating a section no longer add the section t the end of parts in .installed, uninstallation happens in this order.
-
Jérome Perrin authored
fixup! Add referred parts' hash strings in __buildout_signature__, that invokes rebuild of a part when one of its (recursive) dependencies are modified. egg signatures are always {egg_name}-{egg_verson}, there should not be a "egg" prefix for setuptools
-
Jérome Perrin authored
fixup! Add referred parts' hash strings in __buildout_signature__, that invokes rebuild of a part when one of its (recursive) dependencies are modified. Comment by Julien Muchembled: Maybe we again have the original behaviour because of commit dffdeffc. Anyway, the behaviour of buildout at this point is meaningless. Buildout was previously invoked with install d3 d4 command-line arguments and I consider that d2 should have been reinstalled, because a section shall not access the option of another section if the latter is not properly installed.
-
- 08 Sep, 2020 1 commit
-
-
Jérome Perrin authored
Only build egg at this point if we have some patches to apply otherwise buildout would install dependent egg without logging this operation, which would cause many tests to fail. Also cover the whole scenario of egg patching in a new doctest.
-
- 22 May, 2020 1 commit
-
-
Julien Muchembled authored
fixup! Add referred parts' hash strings in __buildout_signature__, that invokes rebuild of a part when one of its (recursive) dependencies are modified.
-
- 20 May, 2020 3 commits
-
-
Marius Gedminas authored
Add a RENormalizer so the easy_install.txt will be happy with scripts generated on Python 2 (using open(..., 'U')) and on Python 3 (using just open(...)). This was suggested by @sallner. (cherry picked from commit 2cf42066)
-
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
-
- 16 May, 2020 1 commit
-
-
Julien Muchembled authored
-
- 15 May, 2020 1 commit
-
-
Julien Muchembled authored
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.
-
- 12 May, 2020 1 commit
-
-
Julien Muchembled authored
-
- 08 May, 2020 1 commit
-
-
Julien Muchembled authored
-
- 05 May, 2020 3 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 04 May, 2020 7 commits
-
-
Julien Muchembled 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
-
Julien Muchembled authored
Revert "Cache downloaded data in zc/buildout/buildout.py:_open() in memory to accelerate remote extends." This reverts commit 260bc0c4 partially. The remaining should be squashed with "Write .installed.cfg only once, in safe way and only if there's any change."
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Jérome Perrin 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_}."
-
Jérome Perrin authored
If we use options.items() we visit all keys and not used options cannot be detected. Rebase instructions: - squash with "Add referred parts' hash strings in __buildout_signature__, that invokes rebuild of a part when one of its (recursive) dependencies are modified" - add a comment explaining why such a lower level API is used
-
- 23 Apr, 2020 2 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
This is useful when using OS Python & eggs. Useless for SlapOS.
-
- 22 Apr, 2020 3 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
fixup! Add referred parts' hash strings in __buildout_signature__, that invokes rebuild of a part when one of its (recursive) dependencies are modified. The purpose is to make the part signature available sooner, during recipe's __init__. Commit 8be81fe4 already broke detection of unused options in sections.
-
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.
-