aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2020-10-16modernize: Mark overriding functions as suchHEADmasterAvatar Marvin Schmidt -2285/+2284
Done using clang-tidy's `modernize-use-override` check
2020-09-28ci: exherbo: clang: Update docker base imageAvatar Marvin Schmidt -1/+1
2020-09-28ci: gentoo: Update to ruby 2.5Avatar Marvin Schmidt -1/+1
2020-09-28ci: Add stage to build docker imagesAvatar Marvin Schmidt -0/+45
2020-09-28ci: gentoo: Adjust boost workaround for new versionAvatar Marvin Schmidt -2/+2
2020-03-10ci: gentoo: Rename docker directory for consistencyAvatar Marvin Schmidt -0/+0
Makes the gitlab CI config easier
2020-03-10ci: exherbo: Make Python version configurableAvatar Marvin Schmidt -2/+10
This allows using different Python versions in the stable and testing docker images We need to resolve using `--complete` so we don't break packages with the default Python ABI which aren't in the resolution of `paludis-deps`
2020-03-10ci: exherbo: Allow all required old versionsAvatar Marvin Schmidt -2/+2
If the resolution requires an old version of a package it shouldn't fail since be can't do much about that. Permit "*/*" to make this more reliable
2020-03-10ci: exherbo: Use long-options for `cave resolve`Avatar Marvin Schmidt -4/+14
2020-03-10ci: Remove Python 2.7 from docker imagesAvatar Marvin Schmidt -94/+2
2020-02-19emagicdocs: Also install CONTRIBUTING* filesAvatar Heiko Becker -1/+1
It is quite common for projects to have such a file and it (hopefully) is a good start when you're looking for information where and how to submit a patch.
2019-10-24Support python 3.8Avatar Heiko Becker -2/+2
2019-10-24Use the versioned component and imported target for boost pythonAvatar Heiko Becker -4/+3
2019-10-22doc/python: Run sphinx with the same python version we build againstAvatar Marvin Schmidt -1/+1
The shebang of the sphinx-build binary does not necessarily point to the python version we use to build our python bindings. On Exherbo Sphinx provides multiple library version but only a single executable which gets a shebang pointing to the last selected ABI
2019-10-22build: Format long command more readableAvatar Marvin Schmidt -1/+7
2019-10-22ci/configure: Introduce option for python version to useAvatar Marvin Schmidt -1/+7
2019-10-22hooker_TEST: make ordering/py_hook Python3 compatibleAvatar Marvin Schmidt -1/+1
Otherwise the test fails with the following error when using Python 3: 13: [ RUN ] Hooker.Ordering 13: paludis@1565848657: [WARNING hook.python.failure] Hook 'hooker_TEST_dir/ordering/py_hook.py': running hook_run_ordering function failed: 'Traceback (most recent call last): 13: File "hooker_TEST_dir/ordering/py_hook.py", line 2, in hook_run_ordering 13: file("hooker_TEST_dir/ordering.out", "a").write("py_hook\n") 13: NameError: name 'file' is not defined' 13: ../paludis/hooker_TEST.cc:76: Failure 13: Expected equality of these values: 13: 0 13: result.max_exit_status() 13: Which is: 1 13: ../paludis/hooker_TEST.cc:83: Failure 13: Expected equality of these values: 13: "e\nc\nf\nd\nb\na\npy_hook\ng\ni\nh\nsohook\nk\nj\n" 13: line 13: Which is: "e\nc\nf\nd\nb\na\ng\ni\nh\nsohook\nk\nj\n" 13: With diff: 13: @@ -5,5 @@ 13: b 13: a 13: -py_hook 13: g 13: i 13: 13: [ FAILED ] Hooker.Ordering (184 ms)
2019-10-22python: Normalize exceptionsAvatar Marvin Schmidt -0/+1
The python 3 incompatible call of `file` in the python hook caused an exception. Trying to get the traceback failed because the exception isn't normalized: 13: [ RUN ] Hooker.Ordering 13: paludis@1565848332: [WARNING hook.python.traceback_failed] In thread ID '13623': 13: ... When triggering hook 'ordering': 13: ... When running hook 'hooker_TEST_dir/ordering/py_hook.py' for hook 'ordering': 13: ... When getting traceback 13: ... Hook 'hooker_TEST_dir/ordering/py_hook.py': _get_traceback(): traceback.format_exception failed 13: paludis@1565848332: [WARNING hook.python.failure] Hook 'hooker_TEST_dir/ordering/py_hook.py': running hook_run_ordering function failed: 'Getting traceback failed' 13: paludis@1565848332: [WARNING hook.python.failure] Hook 'hooker_TEST_dir/ordering/py_hook.py' failed unexpectedly: 'Traceback (most recent call last): 13: File "/usr/x86_64-pc-linux-gnu/lib/python3.7/traceback.py", line 121, in format_exception 13: type(value), value, tb, limit=limit).format(chain=chain)) 13: File "/usr/x86_64-pc-linux-gnu/lib/python3.7/traceback.py", line 476, in __init__ 13: if (exc_value and exc_value.__cause__ is not None 13: AttributeError: 'str' object has no attribute '__cause__' 13: 13: The above exception was the direct cause of the following exception: 13: 13: Traceback (most recent call last): 13: File "/home/marv/devel/paludis-worktrees/cross/python/paludis_output_wrapper.py", line 101, in restore_prefix 13: restore("both") 13: File "/home/marv/devel/paludis-worktrees/cross/python/paludis_output_wrapper.py", line 80, in restore 13: if len(stderr_cache): 13: SystemError: <built-in function len> returned a result with an error set' 13: ../paludis/hooker_TEST.cc:76: Failure 13: Expected equality of these values: 13: 0 13: result.max_exit_status() 13: Which is: 1 13: ../paludis/hooker_TEST.cc:83: Failure 13: Expected equality of these values: 13: "e\nc\nf\nd\nb\na\npy_hook\ng\ni\nh\nsohook\nk\nj\n" 13: line 13: Which is: "e\nc\nf\nd\nb\na\ng\ni\nh\nsohook\nk\nj\n" 13: With diff: 13: @@ -5,5 @@ 13: b 13: a 13: -py_hook 13: g 13: i 13: 13: [ FAILED ] Hooker.Ordering (195 ms)
2019-10-22build: Make python version configurableAvatar Marvin Schmidt -6/+15
2019-10-22build: Set Boost_PYTHON_VERSION to select correct library versionAvatar Marvin Schmidt -0/+1
2019-10-22build: Make python invocation compatible with Python 3Avatar Marvin Schmidt -1/+1
2019-10-22clang-tidy: Disable modernize-make-uniqueAvatar Marvin Schmidt -0/+1
2019-10-22clang-tidy: Disable modernize-use-trailing-return-typeAvatar Marvin Schmidt -0/+1
2019-10-22clang-tidy: Update config with clang-tidy 9Avatar Marvin Schmidt -1/+29
2019-10-13ci: Pass correct CMAKE_FIND_ROOT_PATHAvatar Marvin Schmidt -0/+1
2019-10-13ci: Remove i686 target option from docker imagesAvatar Marvin Schmidt -2/+0
2019-10-13ci: docker: Remove obsolete python workaroundAvatar Marvin Schmidt -2/+1
2019-10-13ci: exherbo: Restrict build jobs for ghostscript to 1Avatar Marvin Schmidt -0/+6
2019-10-13ci: gentoo: Workaround boost/cmake problemsAvatar Marvin Schmidt -7/+9
2019-10-13ci: gentoo: Update docker fileAvatar Marvin Schmidt -2/+2
2019-08-02ci: Add missing Python ABIsAvatar Marvin Schmidt -0/+2
2019-07-25build: Make changing supported Ruby ABIs a one-stop changeAvatar Marvin Schmidt -8/+6
The option description and the actually supported ABI version got out of sync with the last updates. Prevent this from happening again by keeping the information in one place only
2019-07-02Documentation: Added example to `world` file location.Avatar Jacob Hrbek -1/+1
2019-07-02Documentation: Updated comment that mensiones exherbo configuration to be ↵Avatar Jacob Hrbek -1/+1
more intuitive.
2019-04-26ci: Use 'artifacts' to pass build folder between jobsAvatar Marvin Schmidt -3/+1
2019-04-26ci: Add clang-tidy stageAvatar Marvin Schmidt -0/+60
Created using: $ clang-tidy -dump-config > .clang-tidy with $ clang-tidy --version LLVM (http://llvm.org/): LLVM version 8.0.0svn Optimized build with assertions. Default target: x86_64-pc-linux-gnu Host CPU: penryn
2019-04-26ci: Add Exherbo testing buildAvatar Marvin Schmidt -1/+38
Builds paludis with GCC in an Exherbo environment with all testing/broken packages unmasked, so that we catch problems with future versions of those packages early
2019-04-19ci: Add clang based build for ExherboAvatar Marvin Schmidt -0/+141
Allow the tests to fail for now, since all tests involving python fail for some reason when using Clang. I'll hunt this down, but like to have a CI job for this in place before
2019-04-19Improve CI setupAvatar Marvin Schmidt -14/+339
2019-04-18tests: fix BASH_COMPAT tests with bash 5Avatar Marc-Antoine Perennou -2/+2
Bash now overrides this with a new value with no dot Fixes #2 Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2019-03-11tests: Allow Linux 5.xAvatar Heiko Becker -1/+1
2019-02-07allow building with ruby 2.6Avatar Marc-Antoine Perennou -1/+2
Change-Id: I9fa0633ad28e6b24db009e2e229cbbe7d1d03d98 Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-12-22build: Generate an import target for Jansson and use itAvatar Heiko Becker -4/+9
2018-12-22build: Use imported targets for GTestAvatar Heiko Becker -6/+3
Raises the cmake requirement to 3.5.0 (released in March 2016) but we don't need to manually mess with INCLUDE_DIRS and linking to a thread library anymore.
2018-12-22build: Work around gcc6&cmake issue #16291 in .gitlab-ci.yamlAvatar Heiko Becker -1/+1
A change in gcc 6 made using -isystem with the default include directory fail. A bug report [1] about this has been closed with RESOLVED WONTFIX. This became a problem with cmake[>=3.6] because cmake is filtering out /usr/include as default include path, but not our non-standard /usr/${CHOST}/include (upstream issue [2]). Until this is fixed we can specify the implicit include dir manually. We do the same on Exherbo in cmake.exlib. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 [2] https://gitlab.kitware.com/cmake/cmake/issues/16291 [3] c077952471b7d8003fb3c41091c2daea01e4f700 in arbor.git
2018-12-21build: Add .gitlab-ci.ymlAvatar Heiko Becker -0/+16
2018-07-23Adjust the stripper for file>=5.33 and PIE executablesAvatar Heiko Becker -1/+2
It can recognize executables built with PIE now, which are just shared objects with the executable bit set (and were recognized by stripper via the "shared object" text returned from earlier versions). With file 5.32: $ file .../file: ".../file: ELF 64-bit LSB shared object" $ file .../libmagic.so.1.0.0: ".../libmagic.so.1.0.0: ELF 64-bit LSB shared object" With file 5.33: $ file .../file: ".../file: ELF 64-bit LSB pie executable x86-64" $ file .../libmagic.so.1.0.0: ".../libmagic.so.1.0.0: ELF 64-bit LSB pie executable x86-64"
2018-07-05python: Implement and expose Environment::reduced_usernameAvatar Marvin Schmidt -0/+21
It was forgotten in 917cc160a which introduced this pure virtual function in the `Environment` base class: /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/python/environment.cc:48:7: note: because the following virtual functions are pure within 'EnvironmentImplementationWrapper': class EnvironmentImplementationWrapper : ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/environment_implementation.hh:23:0, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/environments/paludis/paludis_environment.hh:23, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/python/environment.cc:24: /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/environment.hh:427:33: note: virtual std::__cxx11::string paludis::Environment::reduced_username() const virtual std::string reduced_username() const = 0; ^~~~~~~~~~~~~~~~
2018-06-27revert f1cb2cfd in pkg-config generationAvatar Łukasz P. Michalik -1/+1
Change-Id: I884c497b444b1e2377d74eccfaf3cb1323e4e74a
2018-06-13process.cc: don't allocate after forkAvatar Johannes Nixdorf -176/+567
In multithreaded processes POSIX specifies that after fork only AS-safe functions may be called. [1] This fixes a race condition I observed in "cave generate-metadata" with musl libc. This does happen regularily with musl libc, but the general problem also affects glibc. (test [2] if you don't believe me - with glibc it happens more rarely and causes a deadlock inside of malloc locks instead of a crash). This does not fix these problems for as_main_process, as there never will be an exec in the child process that way, which makes it impossible to do safely this way. [1]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html [2]: https://shadowice.org/~mixi/examples/never-fork-and-malloc-in-multiple-threads.c