summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Bug 28466: fix issue with git submodule URL changesbug_28466Nicolas Vigier2018-11-26
| | | | | | | | | | | | We replace a call to: git submodule update --init with calls to: git submodule init git submodule sync git submodule update The call to `git submodule sync` is solving the issue that could occur when a submodule URL is changing.
* Bug 25746: fix git_submodule option with submodule in subdirectorybug_25746Nicolas Vigier2018-04-09
| | | | | | | | | To create an archive containing all submodules, we were creating a temporary archive of each submodule before appending them to the main archive. We were using the submodule path in the temporary archive filename, which was failing if the submodule is in a subdirectory. To avoid that, we are removing the path from the temporary archive's filename and directly appending it to the main archive.
* Bug 25435: use --no-auto-check-trustdb to avoid modifying gpg keyring filesNicolas Vigier2018-03-07
| | | | | | | | | By default gpg will from time to time update its trust database. When this happens it will also modify the keyring files to add some trust information. To avoid this we add the --no-auto-check-trustdb option. As we don't use the Web of Trust when we use a keyring file, we also disable it using `--trust-model always`.
* Bug 25422: Give more details in "Cannot checkout" errorsbug_25422Nicolas Vigier2018-03-05
| | | | Print stderr from the git/hg command if the checkout failed.
* Merge remote-tracking branch 'boklm/bug_24931'Georg Koppen2018-02-02
|\
| * Bug 24931: fix the build_log_append optionbug_24931Nicolas Vigier2018-01-18
| | | | | | | | Fix a regression introduced by #24361.
* | Bug 25004: rename abbrev_lenght to abbrev_lengthNicolas Vigier2018-01-24
| |
* | Bug 24982: add script to help updating the websitebug_24982Nicolas Vigier2018-01-23
| | | | | | | | | | This script will create a tarball containing the website and print commands that can be used to upload it.
* | Bug 24982: update url in README.mdNicolas Vigier2018-01-23
|/
* fixup! Bug 24361: use Path::Tiny instead of File::SlurpGeorg Koppen2017-11-27
|
* Merge remote-tracking branch 'boklm/bug_24361'Georg Koppen2017-11-27
|\
| * Bug 24361: use Path::Tiny instead of File::Slurpbug_24361Nicolas Vigier2017-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a build script contains some wide character, rbm fails with an error: Wide character in syswrite at /usr/share/perl5/File/Slurp.pm line 506. This is because write_file from File::Slurp which we use to write the build scripts is encoding files to latin-1 by default. While fixing this, switching to Path::Tiny instead of File::Slurp seems like a good idea: http://blogs.perl.org/users/leon_timmermans/2015/08/fileslurp-is-broken-and-wrong.html Switching to Path::Tiny is also improving performance: When using File::Slurp: $ time ./rbm/rbm showconf --target alpha --target torbrowser-linux-x86_64 tor-browser var/build_id 82b8cb real 0m28.543s user 0m24.448s sys 0m3.956s When using Path::Tiny: $ time ~/rbm/rbm showconf --target alpha --target torbrowser-linux-x86_64 tor-browser var/build_id 82b8cb real 0m15.745s user 0m13.940s sys 0m1.940s The path function in lib/RBM.pm is conflicting with the path constructor from Path::Tiny, so we rename it to rbm_path.
| * Bug 24361: fix handling of wide characters in sha256Nicolas Vigier2017-11-20
| | | | | | | | | | | | The sha256_hex function gives an error if a string contains wide characters. To avoid this we first encode the string to utf8 (which transforms it to a sequence of octets), before passing it to sha256_hex.
* | Bug 24180: Make 'rbm fetch' accept optionsNicolas Vigier2017-11-27
| |
* | Bug 23557: download again an input file not matching expected sha256sumNicolas Vigier2017-09-18
|/ | | | | | | | | | | When an input file is already present (downloaded during a previous build), but is not matching the expected sha256sum, we download it again. To do that we rename the input_file_id_need_dl function to input_file_need_dl, and make it work for all types of actions (instead of only 'input_files_id' before). In input_file_need_dl we ignore an the file if it is not matching the expected sha256sum.
* Bug 23513: run remote_finish when there was an error in remote_startNicolas Vigier2017-09-15
| | | | | | | | We were looking at the $remote_tmp_src and $remote_tmp_dst variables to decide if running remote_finish is needed. However, those variables are not defined if there was an error in remote_start, and we should still run remote_finish in that case. Instead we look at the remote_exec option to decide if we need to run remote_finish.
* Bug 23382: create tmp_dir if it does not existNicolas Vigier2017-09-07
|
* Add the build_log_append optionNicolas Vigier2017-08-11
|
* Add the rbm_tmp_dir optionNicolas Vigier2017-08-11
|
* Include stdout in remote_exec/remote_start error outputNicolas Vigier2017-08-08
| | | | | Sometimes stdout can include useful informations about the error so include it in addition to stderr.
* rbm-build: allow selecting the build script using the step optionNicolas Vigier2017-08-07
|
* Add a man page for rbm-buildNicolas Vigier2017-08-07
|
* Update some URLs in documentationNicolas Vigier2017-08-07
|
* Only run 'git checkout --detach' when necessaryNicolas Vigier2017-08-01
| | | | | | | | | | Before updating local branches, we need to detach HEAD to be able to update the current branch. However, we only need to do that if we are on a branch, and when this branch exists. This avoids an error when the repository we have cloned does not have a master branch: in that case we are in a branch that does not exist, which cause an error when running 'git checkout --detach'.
* Avoid modifying $input_filesNicolas Vigier2017-04-27
| | | | | | | | If an input_file contains a 'target' value we process it as a template and modify it. However we should not do that as a project (and its input files) can be used multiple times with different contexts in the same build. Instead we should make a copy of the $input_file before we modify it.
* Remove useless commaNicolas Vigier2017-04-27
|
* Add process_template_opt subroutineNicolas Vigier2017-04-27
| | | | | | In the few places where we are using process_template directly, the $options is ignored. We fix that by adding a process_template_opt subroutine which applies the $options.
* Fix how we set origin_project in input_filesNicolas Vigier2017-04-27
|
* Give access to input files in remote_startNicolas Vigier2017-04-25
|
* Add the input_files_paths optionNicolas Vigier2017-03-15
|
* Fix install_package on DebianNicolas Vigier2017-03-06
| | | | | | dpkg -s not returning an error means that the package has a status, but its status is not always installed, so checking the exit value is not enough. We are now checking that the status is "install ok installed".
* Add the ENV optionNicolas Vigier2017-03-01
| | | | | Add the ENV option, allowing to define some default environment variables.
* Suppress unneeded output in docker_remote_getNicolas Vigier2017-02-16
|
* Add the build_log optionNicolas Vigier2017-02-14
|
* Set timestamp on files in zip wrapperNicolas Vigier2017-02-14
|
* Add support for optional local configuration file rbm.local.confNicolas Vigier2017-02-14
|
* If the TMPDIR env var exists, use it instead of /tmpNicolas Vigier2017-02-12
|
* Fix docker_remote_finish for docker >= 1.10.0Nicolas Vigier2017-02-12
| | | | | | | | | With docker >= 1.10.0, the -f flag on 'docker tag' is deprecated: https://docs.docker.com/engine/deprecated/#/f-flag-on-docker-tag However we need it when using an older version of docker. To add it only when needed, we parse the output from 'docker version'.
* Allow using templates in the target option in input_filesNicolas Vigier2017-01-22
| | | | | Redo 09ce7d45b0148173eb67369758902ceb8fd0b893 in a more simple and correct way.
* Revert "Allow using templates in the target option in input_files"Nicolas Vigier2017-01-22
| | | | This reverts commit 09ce7d45b0148173eb67369758902ceb8fd0b893.
* Allow using templates in the target option in input_filesNicolas Vigier2017-01-21
|
* Make process_template work on arraysNicolas Vigier2017-01-21
| | | | It now returns an array with templates processed.
* docker_remote_get: clean temporary directoryNicolas Vigier2017-01-18
|
* docker_remote_put: use shell_quote on path argumentsNicolas Vigier2017-01-18
|
* docker_remote_put: fix owner on intermediate sub directoriesNicolas Vigier2017-01-18
| | | | | When uploading a file in path A/B/C, directory A was not set to the correct owner.
* docker_remote_put: don't dereference symlinks in chownNicolas Vigier2017-01-17
|
* input_file_id_hash: fix hash for symbolic linksNicolas Vigier2017-01-17
|
* Use File::Copy::Recursive instead of File::CopyNicolas Vigier2017-01-17
| | | | | | Use the fcopy function from File::Copy::Recursive instead of the copy function from File::Copy to copy input files. With this change we can now copy symbolic link without dereferencing them.
* Change how we generate id for input_files/execNicolas Vigier2017-01-16
| | | | | | Rather than executing the input_files/exec script and computing the generated sha256sum, we now use the sha256sum of the exec script instead.
* Fix dest_dir in input_files/execNicolas Vigier2017-01-16
| | | | | | | Fix the value of dest_dir inside the exec option in input files. The dest_dir was set to the project/$project directory which is not the correct place for generated files. We change it to the out/$project directory.