Commit Graph

35 Commits

Author SHA1 Message Date
Ehmry - 24deef9495 Use #!/usr/bin/env ... shebangs 2019-11-28 15:07:24 +01:00
Josef Söntgen 4c8369ab1b tool/depot/publish: support multiple threads in xz
Introduce 'XZ_THREADS' to override the default number of threads used
for compression, which is still set to '1'. As using multiple threads
will increase the amount of memory needed during the compression and
potentially influences the size of the created archive, setting the
variable limits the impact.

Fixes #3431.
2019-07-09 08:58:38 +02:00
Martin Stein 95ece89cf8 tool/depot: improve handling of missing ports
* The extract tool determines and reports all missing ports at once.
* The extract tool automatically prepares all missing ports if PREPARE_PORTS=1.
* The missing_ports tool prints a list of missing ports for given archives.

Fixes #3353
2019-05-27 14:52:52 +02:00
Christian Helmuth 71a8dcca08 tool/depot: use nullglob on stale archive removal
nullglob is needed to get an empty shell glob in case no matching binary
archive (path) exists. Otherwise, the original glob string including the
* is returned and used in the for loop.
2019-04-09 12:30:35 +02:00
Norman Feske a3411c8e96 run: add --depot-auto-update feature
If enabled, this option triggers the automated management of depot
content according to the needs of a run script.

Fixes #3270
2019-04-09 12:30:34 +02:00
Norman Feske 4b0b4928f5 tool/depot: rm binary archives if versions collide
This patch handles version collisions of binary archives. If a binary
archive for an (automatically) updated src-archive version already
exists in the depot, the extract tool removes the binary archive because
its existing content may stem from another src content (a version from a
different topic branch). This ensures that the new version is always
built, not skipped, when 'UPDATE_VERSIONS=1 REBUILD=' is specified.

Fixes #3267
2019-04-01 19:33:52 +02:00
Christian Helmuth 8c2235c9a7 depot: delete signature file if signing failed
In cases where the signing failed (maybe the passphrase for the key was
not available at this time), there remained an empty .sig file, which is
newer than the to-be-signed file and, therefore, prevents subsequent
signing processes.
2019-03-01 15:43:50 +01:00
Norman Feske 1b518965cc depot/sculpt: support for index files
The input for the pkg index is located at gems/run/sculpt/index.

The sculpt.run script uses this input for generating the depot index
file at depot/<user>/index/<version>.

The tool/depot/publish tool support arguments of the form
<user>/index/<version> where <version> corresponds to the Sculpt
version.

Issue #3172
2019-02-28 11:34:06 +01:00
Norman Feske 1d0a1e7937 depot/extract: feed file names into version hash
Fixes #3178
2019-02-26 14:47:02 +01:00
Christian Helmuth 56650e7f79 depot: prevent warning with newer GPG versions
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
2019-01-07 12:33:56 +01:00
Alexander Boettcher 9f4801363c tool: use static analyzer with depot creation tool
Convince wrapper to make static analyzer working with tool/depot/* tools.

Issue #3022
2018-11-29 11:46:02 +01:00
Roman Iten f65a7650c5 depot: allow to inject version command
Issue #2991
2018-09-24 11:18:23 +02:00
Alexander Boettcher 9eabe316bf depot: support for gpg command override
Fixes #2981
2018-09-21 15:49:52 +02:00
Ehmry - b51ee34b11 Depot: support for GPG command line override
Allow the gpg utility to be overridden on the command line. For
example, './tool/depot/publish GPG="ssh 10.0.1.3 gpg" ...' would invoke
a remote gpg over SSH.

Fix #2981
2018-09-17 14:11:37 +02:00
Pirmin Duss 6bb5b7190c depot: verify that runtime file is valid
issue #2894
2018-08-02 14:36:34 +02:00
Christian Helmuth a7dadd9dae depot: ignore some files on pkg generation
Now, the typical gitignore patterns

  *~ *.rej *.orig *.swp

are not added to the pkg.
2018-05-31 17:07:21 +02:00
Roman Iten 058b92ca99 depot: tool for publishing current versions
In order to simplify the automation of publishing archives, this tool
publishes the current version as specified in the recipes.

Fixes #2799
2018-05-03 16:11:53 +02:00
Christian Helmuth 2eb13c9047 depot: execute content rules sequentially 2018-03-08 12:05:09 +01:00
Christian Helmuth ad56976131 tool/publish: fix help for PUBLIC_DIR 2018-02-28 11:05:03 +01:00
Norman Feske 7670f048c1 tool/depot: publish missing archives only
The timestamp-based rules of make do not work well for the publish tool
because depot archives are often re-created with the same content but a
different modification time, in particular when creating archives via
'FORCE'. This way, those archives are re-published every time, which
becomes a time-consuming operation since all archives must be signed.

This patch filters the targets based on the content that is already
present in the public/ location. All existing archives are skipped.
2018-02-14 20:41:04 +01:00
Norman Feske dcce0a1032 depot: force SHA256 digest for signing archives 2018-02-09 13:34:14 +01:00
Josef Söntgen 114af00913 depot: make DEPOT_DIR overridable 2018-01-17 12:14:40 +01:00
Norman Feske 2f7217b29f depot: add REBUILD argument to create, build tools
Fixes #2617
2017-12-21 15:01:50 +01:00
Norman Feske 17bf2564fa depot: improved args check in dependencies tool
This patch lets the dependencies tool give better feedback to the user
whenever an argument lacks the needed version information.
2017-12-21 15:01:45 +01:00
Norman Feske a52541de18 depot: move versions to subdirectory
This patch changes the depot layout such that each archive is
represented as a directory that contains the versions of the archive as
subdirectories.

Issue #2610
2017-12-21 15:01:45 +01:00
Norman Feske 2d041f0e9c depot: switch from .tgz to .tar.xz
Issue #2610
2017-12-21 15:01:44 +01:00
Christian Helmuth 18fcbbe1a1 depot: support path names including spaces
Related to #2582
2017-11-30 11:23:09 +01:00
Martin Stein f6dd1f9b9c tool/depot: user-friendly error on missing port
In general, make the message conform to the according message of the
common build system. Adds instruction how to fix the missing/outdated
port.

Fixes #2573
2017-11-30 11:23:03 +01:00
Christian Helmuth 65b2e63bb9 Ensure stable sorting order in tools
This eliminates certain surprises with port contents and depot hashes.
2017-11-06 13:57:25 +01:00
Norman Feske 3e95a42fae depot: remove bin/<arch>/<api-version> subdir
Fixes #2459
2017-08-28 16:49:37 +02:00
Norman Feske 2b569e37e1 depot: fix Makefile target build_bin_archive
When building with multiple jobs, the 'Makefile' rule may be executed
before any of its sibling rules, which implicitly create the target
directory. In this case, the attempt to create the symlink for
'Makefile' fails and the 'build_bin_archive' aborts. Analogously to the
sibling rules, this fix creates the target directory as a side effect of
the 'Makefile' rule.
2017-06-29 11:59:55 +02:00
Norman Feske 4c8bfceec4 depot/create: build only if binaries are specified
This patch makes the build step of the create tool conditional. If
merely creating api, src, pkg, or raw archives, the invocation of the
'build' tool can be skipped. Otherwise, the heap message for the 'build'
tool is displayed (because it is called w/o any arguments), which is
misleading to the user.
2017-06-29 11:59:55 +02:00
Norman Feske c8e4d2715b depot: fix binary-archive handling for libs
The depot tool did not consistently distinct libraries from regular
targets when handling binary archives. The binary archive of a regular
target is located at <user>/<bin>/<arch>/<name> whereas a library is
located at <user>/<bin>/<arch>/<api>/<name>.

Fixes #2438
2017-06-19 12:35:54 +02:00
Norman Feske d4975235c2 tool/depot: download archives from web server
This patch replaces the toy downloader (that merely copied files
locally, for testing) with the mechanics needed to download files from a
www server.

It also changes the use of GPG to use detached signatures.

Issue #2339
2017-05-31 13:16:24 +02:00
Norman Feske 39eff7f249 Tool for assembling API/source/binary archives
Issue #2339
2017-05-31 13:15:56 +02:00