slapos.recipe.build:2fce1d6ff15acf34bc2c5f2efcca9c485cbe2a74 commitshttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commits/2fce1d6ff15acf34bc2c5f2efcca9c485cbe2a742021-12-08T16:48:05+01:00https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/2fce1d6ff15acf34bc2c5f2efcca9c485cbe2a74download: only take basename of 'filename' when the latter is used to calcula...2021-12-08T16:48:05+01:00Julien Muchembledjm@nexedi.com
Currently only useful for buildout.hash.cfg files in
<a href="https://lab.nexedi.com/nexedi/slapos">https://lab.nexedi.com/nexedi/slapos</a> (e.g. software/slaprunner)https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/065e198aa84748f11991c1504274d912979f609edownload: check value that is returned by buildout downloader2021-12-08T16:48:05+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/20925de496a5d93b6f466e142ca01740ba8b4725download: drop 'mode' option2021-12-08T16:47:54+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/051d8f09779141b11e8d371fb07adacd78163295gitclone: new 'depth' option2021-12-03T18:40:16+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/03a41274afb32670c78a8eecd18ff37ac4fe7940tests: check hardlinking in case of local download from Git working copy2021-12-03T18:39:45+01:00Julien Muchembledjm@nexedi.com
The download recipe relies on buildout's download, which uses hardlinking for
performance reasons in 2 cases: downloading from cache or from local file.
This means 2 things:
- the user shall not modify downloaded files without first making sure
that st_nlink == 1
- the source file shall not be modified in-place, which is reasable to assume
for both cache and local file
In-place modification of files is more and more rare because it has many
drawbacks and it tends to be limited to things like logs and databases.
This commit adds a test to check that Git does not do that when managing
working copies: and actually, this may be our only use case of local download.
This commit does not mean that the current way of hardlinking is fully fine.
There remains at least the issue that file permissions may be changed at the
end of the recipe, either with `shared=true` or with `mode` option.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/0411fa80f949caabff679e537b626b0c22d8c90dRelease 0.502021-11-29T21:38:37+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/3c446333a3587787b808bbba29d78b1c0ef8e6c4vm: as SSH key to connect to guest, use ed25519 type instead of rsa2021-11-29T21:08:25+01:00Julien Muchembledjm@nexedi.com
By default, recent SSH (since v8.6) refuses to connect to not-so-old
server (e.g. the version on Debian 8) with RSA key.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/322aa6e3c74fad8f8964db7690e022f289ed8b62download-unpacked: drop unused `environment-section` option2021-11-29T19:51:51+01:00Julien Muchembledjm@nexedi.com
It was partially broken since commit <a href="/nexedi/slapos.recipe.build/-/commit/8a9e3766ca921971053333860cb3fc0d13a7526f" data-original="8a9e3766ca921971053333860cb3fc0d13a7526f" data-link="false" data-link-reference="false" data-project="69" data-commit="8a9e3766ca921971053333860cb3fc0d13a7526f" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="Fix shared=true, other bugs, and inconsistencies between recipes; much cleanup" class="gfm gfm-commit has-tooltip">8a9e3766</a>:
it only works when combined with `environment` option.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/d3041978e2ad1b866be8c6ff09bd9d1c4568db83Release 0.492021-10-04T14:09:27+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/1b7a2b4ad81a48971d330a6aacc539d85491ab79shared: do indent signature2021-10-04T12:59:42+02:00Julien Muchembledjm@nexedi.com
These files are usually so small that it's free (< FS block size)
and it is more readable with non-str option values (possible with
slapos.buildout).https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/fd8350b912d92624b32193f65a699b2df77c9e90shared: in signature file, save non-ascii chars as utf-8 rather than JSON-esc...2021-10-04T12:12:01+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/a5a9dcee421cad28a6e7af0555196af676d7f68edownload-unpacked: fix strip-top-level-dir if unset and nothing should be str...2021-09-28T06:39:24+02:00Julien Muchembledjm@nexedi.com
This fixes a regression that was introduced in
commit <a href="/nexedi/slapos.recipe.build/-/commit/d5f5d39944bca226f26f455c7ab96fd6dc919cdb" data-original="d5f5d39944bca226f26f455c7ab96fd6dc919cdb" data-link="false" data-link-reference="false" data-project="69" data-commit="d5f5d39944bca226f26f455c7ab96fd6dc919cdb" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="Make 'download-unpacked' compatible with Python 2.6" class="gfm gfm-commit has-tooltip">d5f5d399</a>.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/b645dc1d49e5e978583648a30d65f02eccd3f8b2Work around circular imports inside slapos.buildout2021-09-27T19:11:41+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/a21728503efac05846ce18de091b9519eed34e7ddefault: clean up copyTree/extract and preserve symlinks2021-09-27T02:20:42+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/30e20b79b222c34847c87e0e7e9ae04aa0e78060default: fix error handling in pipeCommand()2021-09-27T00:54:12+02:00Julien Muchembledjm@nexedi.com
Traceback (most recent call last):
...
File "slapos/recipe/build/__init__.py", line 191, in pipeCommand
raise zc.buildout.UserError('Failed while running command:'
File "slapos/recipe/build/__init__.py", line 192, in <genexpr>
+ ''.join('\n ' + q for q in failed))
TypeError: cannot concatenate 'str' and 'tuple' objectshttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/f42fbfd24a4c712e328365d0443ff5e3f7df0730Release 0.482021-09-25T03:59:23+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/85eabd23a0599cc6fd96ce94ea0b2d9b664a3cb2download*: new alternate-url option2021-09-25T01:36:12+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/8a9e3766ca921971053333860cb3fc0d13a7526fFix shared=true, other bugs, and inconsistencies between recipes; much cleanup2021-09-25T01:36:12+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/2044d9e2889738251e59a5923bac8ec5db1f4029vm.install-debian: increase default RAM for Bullseye2021-09-21T14:32:25+02:00Julien Muchembledjm@nexedi.com
With only 384M, debian-11.0.0-amd64-netinst.iso fails to initialize
the network interface.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/6d809e51b3d55a673293d31e109415a6490003ddRelease 0.472021-07-26T13:28:22+09:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/a180ce44eae64d82befa089b1186f5ab756912e8tests: include load_tests for python -m unittest discover2021-07-26T13:21:35+09:00Jérome Perrinjerome@nexedi.com
Since we switched to running tests with python -m unittest discover,
doctests were not longer ran.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/7b6a3085a0ead4ed938b1249841f2e3fdc2a2688default: interact with linecache for complete traceback2021-07-26T13:21:35+09:00Jérome Perrinjerome@nexedi.com
When using init or install option of slapos.recipe.build to
write python code, the traceback were hard to understand, because
the current line was not included in the traceback.
This put the script in linecache before compiling it, so that in
case of error the problematic line appears in traceback.
There is still the "problem" that the traceback line numbers starts
from the beginning of the script and not the actual line from
buildout profile, but this does not seem feasible to adjust the line
numbers, so let's ignore this.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/3b375acbd7e1ad01190a7c5d8bf904bcaf68bd6cREADME: add a minimal test for slapos.recipe.build default recipe2021-07-26T13:21:35+09:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/9eb7ea7f3467e1da452d782350396162d49e8ad0download: this entry point is not deprecated2021-05-10T16:02:28+02:00Julien Muchembledjm@nexedi.com
It is even the recommended recipe for simple download.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/7de73e8f2793a9654a6b899d666038c590943731Release 0.462020-09-11T10:20:46+09:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/dd61ddf327025aba89808d50db1aee62ad81c2d7gitclone: let errors on update propagate2020-09-03T07:46:28+02:00Jérome Perrinjerome@nexedi.com
Update use to tolerate errors in develop mode, to prevent buildout from
deleting develop working copies if anything happens, then this behavior was
extended to non-develop mode, apparently by mistake.
In non-develop mode, we want error to propagate, if something went wrong with
updating this repository, buildout should delete and retry.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/46c6b798114c968cafd100e3f00f8a2726df0ad6Release 0.452020-04-20T10:34:16+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/313184b6f3fc05b64e87ac00e494e18e93d14c0ddefault: only set default 'location' option if there's an install script2020-04-15T20:12:16+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/90a2ee51c05f2edd1f68ad0db71837da6c25f53dRelease 0.442020-03-20T17:01:25+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/6c283af508b8d663aa6f7c074338b08678bd36e1default: check that 'install' script creates 'location'2020-03-20T16:50:51+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/af320d43e7a275c2a28ce679fc474c9dee87885edefault: do not warn if slapos_promise is not set2020-03-20T16:50:51+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/8573732bd687f9a6d928960767984864771ecc9ddefault: update doc2020-03-20T16:50:51+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/0957481d5d4749fa78f8141ddb6ccf7d9160c308default: remove 'format' option2020-03-20T16:50:51+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/84a8ce9464b28a4521ddeba7ece71eb0720b9046default: 'script' renamed to 'install', new 'update', clean up globals/locals2020-03-20T16:50:49+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/9ff1a5a324b06a1ab0cb12bedcdf6473c7d905cddefault: clean up2020-03-20T16:50:29+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/d84cd3971a91adb92acd60f3f8cb40b82cbf996aRelease 0.432020-02-28T12:21:49+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/0fe3a21c08ead7ca24fc5fc16b8a966583c0eb64default: new 'init' option2020-02-27T15:43:46+01:00Bryton Lacquementbryton.lacquement@nexedi.com
The purpose is to replace colletive.recipe.shelloutput
/reviewed-on <a href="https://lab.nexedi.com/nexedi/slapos.recipe.build/merge_requests/11" data-original="https://lab.nexedi.com/nexedi/slapos.recipe.build/merge_requests/11" data-link="false" data-link-reference="true" data-project="69" data-merge-request="3674" data-project-path="nexedi/slapos.recipe.build" data-iid="11" data-mr-title='slapos.recipe.build: new option "init"' data-reference-type="merge_request" data-container="body" data-placement="top" data-html="true" title="" class="gfm gfm-merge_request">!11</a>https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/008302f0c539c72206ddcab7d498e41b56cf6abddefault: remove processing of unused options2020-02-27T15:40:30+01:00Bryton Lacquementbryton.lacquement@nexedi.com
These options were used by a subclass that does not exist anymore.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/e0185b5c774d12da039a74d8b259e6430be37dddRevert "script option: fix IndentationError with buildout 2, if some lines ar...2020-02-27T15:40:30+01:00Bryton Lacquementbryton.lacquement@nexedi.com
This reverts the following commits partially:
<a href="/nexedi/slapos.recipe.build/-/commit/d157d8a111b97ede9efae333c5f642edd5b40576" data-original="d157d8a111b97ede9efae333c5f642edd5b40576" data-link="false" data-link-reference="false" data-project="69" data-commit="d157d8a111b97ede9efae333c5f642edd5b40576" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="script option: fix IndentationError with buildout 2, if some lines are indented." class="gfm gfm-commit has-tooltip">d157d8a1</a>
<a href="/nexedi/slapos.recipe.build/-/commit/e92d31cf7c2af59d3b57f546b05c165e38266638" data-original="e92d31cf7c2af59d3b57f546b05c165e38266638" data-link="false" data-link-reference="false" data-project="69" data-commit="e92d31cf7c2af59d3b57f546b05c165e38266638" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="fixup! script option: fix IndentationError with buildout 2, if some lines are indented." class="gfm gfm-commit has-tooltip">e92d31cf</a>
With buildout 2, indentation is either fully removed (if anything
starts on the same line as '<option-name> =') or preverved (the same
number of leading spaces if stripped). Any use that required these
commits was a misuse. They could even break valid Python.https://lab.nexedi.com/nexedi/slapos.recipe.build/-/commit/3d1cdc00d40682bbd1b0197ff563be26f52dc5d1make_read_only_recursively: don't touch symlink targets2020-02-27T15:03:45+01:00Jérome Perrinjerome@nexedi.com
This fixes a problem visible when installing openssl 1.1.1d from
component/openssl. At the end of install step, some symlinks are created
inside openssl install directory for all certificates from
ca-certificates part, then the "make read only" step occurs, which
recursively chmod on files and folder in openssl installed parts, but
since this was following symlinks, it was also trying to make readonly
in ca-certificates parts, which in my case was belonging to another
unix user, because it was a shared part folder from outer level slapos.
/reviewed-on <a href="https://lab.nexedi.com/nexedi/slapos.recipe.build/merge_requests/10" data-original="https://lab.nexedi.com/nexedi/slapos.recipe.build/merge_requests/10" data-link="false" data-link-reference="true" data-project="69" data-merge-request="3646" data-project-path="nexedi/slapos.recipe.build" data-iid="10" data-mr-title="make_read_only_recursively: don't touch symlink targets" data-reference-type="merge_request" data-container="body" data-placement="top" data-html="true" title="" class="gfm gfm-merge_request">!10</a>