aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
34 hoursbuild: Fix typo in date format specifierHEADmasterAvatar Marvin Schmidt -1/+1
Otherwise the year is always "%&": $ cave info Package Manager Information: Package Name paludis Package Version 3.0.0 Build Date %&-11-19T00:06:42+0100 [...]
45 hoursbuild: Use imported Boost::python targetAvatar Marvin Schmidt -17/+5
45 hoursbuild: Use FindPython instead of FindPython{Interp,Libs}Avatar Marvin Schmidt -20/+12
45 hoursbuild: Make sure Sphinx works with the selected Python versionAvatar Marvin Schmidt -0/+10
The presence of the sphinx executable doesn't guarantee that Sphinx was build with support for the selected Python ABI. For example one could select Python 3.10 but only have Sphinx installed for Python 3.9, resulting in a successful configure run, but the build will fail when trying to generate the python API docs: > Traceback (most recent call last): > File "/usr/x86_64-pc-linux-gnu/bin/sphinx-build", line 33, in <module> > sys.exit(load_entry_point('Sphinx==4.2.0', 'console_scripts', 'sphinx-build')()) > File "/usr/x86_64-pc-linux-gnu/bin/sphinx-build", line 22, in importlib_load_entry_point > for entry_point in distribution(dist_name).entry_points > File "/usr/x86_64-pc-linux-gnu/lib/python3.10/importlib/metadata/__init__.py", line 919, in distribution > return Distribution.from_name(distribution_name) > File "/usr/x86_64-pc-linux-gnu/lib/python3.10/importlib/metadata/__init__.py", line 518, in from_name > raise PackageNotFoundError(name) > importlib.metadata.PackageNotFoundError: No package metadata was found for Sphinx Add a check to catch this a configure time
45 hoursbuild: Use FindLibArchive's imported targetAvatar Marvin Schmidt -3/+5
It was added to cmake's FindLibArchive module in version 3.17.0, so raise our required cmake version accordingly
2 daysexheres-0: correct some unfortunate typosAvatar Paul Mulders -2/+2
Fixes: 3cac76bba ("exheres-0: Use esandbox instead of sydboxcmd")
10 daysAllow python 3.10Avatar Heiko Becker -1/+1
10 daysbuild: Use FindLibXml2's imported targetAvatar Heiko Becker -4/+2
Available since 3.12.0.
10 daysbuild: Use cmake's FindSQLite3 moduleAvatar Heiko Becker -57/+3
instead of a custom one we have to maintain. Raises the required cmake version to 3.14.0 which shouldn't be a problem because cmake.exlib on Exherbo already requires 3.16.0 and it was released over two and a half years ago.
2021-09-20Fix example_package_idAvatar Pierre Lejeune -2/+2
2021-09-20tests: Replace deprecated INSTANTIATE_TEST_CASE_P with INSTANTIATE_TEST_SUITE_PAvatar Marvin Schmidt -16/+16
paludis/repositories/e/e_repository_TEST_pbin.cc:192:1: error: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [clang-diagnostic-deprecated-declarations,-warnings-as-errors] INSTANTIATE_TEST_CASE_P(Works, ERepositoryInstallEAPIPBinTest, testing::Values( ^
2021-09-20build: Bump googletest requirement to 1.10Avatar Marvin Schmidt -1/+1
2021-09-17process: Mark send_error noreturnAvatar Marvin Schmidt -0/+1
send_error either throws or calls `_exit(1)` > paludis/util/process.cc:434:5: warning: function 'send_error' could be declared with attribute 'noreturn' [-Wmissing-noreturn] > { > ^
2021-09-17process: Remove unreachable codeAvatar Marvin Schmidt -2/+0
The prior call of `ProcessCommand::exec` will either call `send_error` or `_exit(1)` causing the following warning/error with clang: > paludis/util/process.cc:1187:9: warning: code will never be executed [-Wunreachable-code] > _exit(1); > ^~~~~
2021-09-17process: Remove extra semicolonAvatar Marvin Schmidt -1/+1
[171/1263] Building CXX object paludis/util/CMakeFiles/libpaludisutil.dir/process.cc.o ../paludis/util/process.cc:100:2: warning: extra ';' [-Wpedantic] 100 | }; | ^
2021-09-17process_TEST: silence warning on unused return valueAvatar Arthur Nascimento -1/+1
2021-09-17Make TarMerger handle directories correctlyAvatar Marvin Schmidt -6/+53
The TarMerger has to handle directories explicitly in order to preserve the permissions and ownerships they were given
2021-09-17Test if TarMerger preserves directory permissionsAvatar Marvin Schmidt -1/+6
This exposes the problem described in ticket #1314 where the created tarball will not preserve the permissions and ownerships of the original directories
2021-09-17modernize: Annotate more functions with override (NFC)Avatar Marvin Schmidt -66/+66
They slipped through because of the wrong header-filter for clang-tidy
2021-09-17ci: Remove wrong clang-tidy header filterAvatar Marvin Schmidt -1/+1
2021-09-17gemcutter_id: Fix wrong indentation (NFC)Avatar Marvin Schmidt -32/+32
2021-09-17build: Resolver tests use fake installed repositoryAvatar Marvin Schmidt -1/+4
I encountered the following build error trying to build an Exherbo musl stage: make[2]: Leaving directory '/var/tmp/paludis/build/sys-apps-paludis-scm/work/build' make[1]: Leaving directory '/var/tmp/paludis/build/sys-apps-paludis-scm/work/build' In file included from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/repository.hh:39, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/repositories/fake/fake_repository_base.hh:23, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/repositories/fake/fake_installed_repository.hh:23, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/resolver/resolver_test.hh:64, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/resolver/resolver_test.cc:20: /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/output_manager-fwd.hh:29:10: fatal error: paludis/output_manager-se.hh: No such file or directory 29 | #include <paludis/output_manager-se.hh> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [paludis/resolver/CMakeFiles/libpaludisresolvertest.dir/build.make:85: paludis/resolver/CMakeFiles/libpaludisresolvertest.dir/resolver_test.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:8980: paludis/resolver/CMakeFiles/libpaludisresolvertest.dir/all] Error 2 make: *** [Makefile:185: all] Error 2 fake_installed_repository.hh is used by resolver_test.{cc,hh} but there's no dependency for it specified (libpaludisresolvertest is built statically so it just needs the headers to be available). Add a dependency on libpaludisfakerepository which in turn depends on libpaludis{,util}_SE
2021-09-17build: repositories depend on libpaludis_SEAvatar Marvin Schmidt -8/+8
In file included from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/package_id.hh:38, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/repositories/unpackaged/unpackaged_id.hh:23, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/repositories/unpackaged/unpackaged_id.cc:20: /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/metadata_key-fwd.hh:43:10: fatal error: paludis/metadata_key-se.hh: No such file or directory 43 | #include <paludis/metadata_key-se.hh> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [paludis/repositories/unpackaged/CMakeFiles/libpaludisunpackagedrepository.dir/build.make:98: paludis/repositories/unpackaged/CMakeFiles/libpaludisunpackage drepository.dir/unpackaged_id.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:8127: paludis/repositories/unpackaged/CMakeFiles/libpaludisunpackagedrepository.dir/all] Error 2 make: *** [Makefile:185: all] Error 2
2021-09-17build: libpaludispaludisenvironment depends on libpaludis_SEAvatar Marvin Schmidt -1/+1
In file included from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/environment.hh:25, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/environments/paludis/keywords_conf.cc:21: /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/output_manager-fwd.hh:29:10: fatal error: paludis/output_manager-se.hh: No such file or directory 29 | #include <paludis/output_manager-se.hh> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [paludis/environments/paludis/CMakeFiles/libpaludispaludisenvironment.dir/build.make:111: paludis/environments/paludis/CMakeFiles/libpaludispaludisenvironment.dir/keywords_conf.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:8427: paludis/environments/paludis/CMakeFiles/libpaludispaludisenvironment.dir/all] Error 2 make: *** [Makefile:185: all] Error 2
2021-09-17build: examples depend on libpaludis_SEAvatar Marvin Schmidt -1/+1
In file included from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/metadata_key_holder.hh:26, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/about_metadata.hh:27, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/build/paludis/paludis.hh:44, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/doc/api/cplusplus/examples/example_command_line.hh:8, from /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/doc/api/cplusplus/examples/example_command_line.cc:8: /var/tmp/paludis/build/sys-apps-paludis-scm/work/paludis-scm/paludis/metadata_key-fwd.hh:43:10: fatal error: paludis/metadata_key-se.hh: No such file or directory 43 | #include <paludis/metadata_key-se.hh> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [doc/api/cplusplus/examples/CMakeFiles/libpaludisexamples.dir/build.make:85: doc/api/cplusplus/examples/CMakeFiles/libpaludisexamples.dir/example_command_line.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:12313: doc/api/cplusplus/examples/CMakeFiles/libpaludisexamples.dir/all] Error 2
2021-09-17build: libpaludisresolver depends on libpaludis_SEAvatar Marvin Schmidt -1/+1
$ ninja -j1 libpaludisresolver [30/104] Building CXX object paludis/resolver/CMakeFiles/libpaludisresolver.dir/accumulate_deps.cc.o FAILED: paludis/resolver/CMakeFiles/libpaludisresolver.dir/accumulate_deps.cc.o /usr/x86_64-pc-linux-gnu/bin/g++ -DDATADIR=\"/usr/share\" -DENABLE_PBINS -DENABLE_PYTHON_HOOKS -DENABLE_STRIPPER -DLIBDIR=\"/usr/x86_64-pc-linux-gnu/lib\" -DLIBEXECDIR=\"/usr/x86_64-pc-linux-gnu/libexec\" -DPALUDIS_NO_EXPLICIT_FULLY_SPECIALISED=1 -DPALUDIS_VERSION_MAJOR=3 -DPALUDIS_VERSION_MINOR=0 -DSYSCONFDIR=\"/etc\" -I. -I../ -pipe -O0 -pedantic -g3 -Wall -Wextra -Wold-style-cast -Wredundant-decls -Wstrict-null-sentinel -Wmissing-noreturn -Woverloaded-virtual -Winit-self -Wunreachable-code -Wunused -Wshadow -Wwrite-strings -Wfloat-equal -Wno-ignored-qualifiers -Wno-non-virtual-dtor -fvisibility=hidden -fvisibility-inlines-hidden -g -fPIC -std=gnu++11 -MD -MT paludis/resolver/CMakeFiles/libpaludisresolver.dir/accumulate_deps.cc.o -MF paludis/resolver/CMakeFiles/libpaludisresolver.dir/accumulate_deps.cc.o.d -o paludis/resolver/CMakeFiles/libpaludisresolver.dir/accumulate_deps.cc.o -c ../paludis/resolver/accumulate_deps.cc In file included from ../paludis/resolver/accumulate_deps-fwd.hh:25, from ../paludis/resolver/accumulate_deps.hh:23, from ../paludis/resolver/accumulate_deps.cc:23: ../paludis/package_id-fwd.hh:59:10: fatal error: paludis/package_id-se.hh: No such file or directory 59 | #include <paludis/package_id-se.hh> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. ninja: build stopped: subcommand failed.
2021-09-17build: libcave depends on libpaludis{,util}_SEAvatar Marvin Schmidt -1/+1
[ 3%] Building CXX object src/clients/cave/CMakeFiles/libcave.dir/colour_pretty_printer.cc.o In file included from /home/marv/devel/paludis/paludis/pretty_printer.hh:25:0, from /home/marv/devel/paludis/paludis/formatted_pretty_printer.hh:25, from /home/marv/devel/paludis/src/clients/cave/colour_pretty_printer.hh:23, from /home/marv/devel/paludis/src/clients/cave/colour_pretty_printer.cc:20: /home/marv/devel/paludis/paludis/util/fs_path-fwd.hh:48:38: fatal error: paludis/util/fs_path-se.hh: No such file or directory compilation terminated. make[7]: *** [src/clients/cave/CMakeFiles/libcave.dir/build.make:63: src/clients/cave/CMakeFiles/libcave.dir/colour_pretty_printer.cc.o] Error 1 [ 6%] Building CXX object src/clients/cave/CMakeFiles/libcave.dir/colour_pretty_printer.cc.o In file included from /home/marv/devel/paludis/paludis/pretty_printer.hh:27:0, from /home/marv/devel/paludis/paludis/formatted_pretty_printer.hh:25, from /home/marv/devel/paludis/src/clients/cave/colour_pretty_printer.hh:23, from /home/marv/devel/paludis/src/clients/cave/colour_pretty_printer.cc:20: /home/marv/devel/paludis/paludis/package_id-fwd.hh:59:36: fatal error: paludis/package_id-se.hh: No such file or directory
2021-09-17Update supported python versionsAvatar Tom Briden -1/+1
Remove 3.5 and add 3.9
2021-09-17python: Assure Py_Initialize is called before static members are initializedAvatar Marvin Schmidt -2/+10
The python hooker test segfaulted because the static member variable of type `boost::python::dict` caused a call to `PyDict_New` and subsequently `_PyObject_GC_Alloc` before `Py_Initialize` was called: > [==========] Running 6 tests from 1 test suite. > [----------] Global test environment set-up. > [----------] 6 tests from Hooker > [ RUN ] Hooker.Works > > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff67863ac in _PyObject_GC_Alloc () from /usr/x86_64-pc-linux-gnu/lib/libpython3.9.so.1.0 > #0 0x00007ffff67863ac in _PyObject_GC_Alloc () from /usr/x86_64-pc-linux-gnu/lib/libpython3.9.so.1.0 > #1 0x00007ffff6786ac3 in _PyObject_GC_New () from /usr/x86_64-pc-linux-gnu/lib/libpython3.9.so.1.0 > #2 0x00007ffff669156c in PyDict_New () from /usr/x86_64-pc-linux-gnu/lib/libpython3.9.so.1.0 > #3 0x00007ffff64abafe in boost::python::detail::dict_base::dict_base() () from /usr/x86_64-pc-linux-gnu/lib/libboost_python39.so.1.76.0 > #4 0x00007ffff6ea3100 in boost::python::dict::dict (this=0x7ffff6eba728 <(anonymous namespace)::PyHookFile::_output_wrapper_namespace>) at /usr/x86_64-pc-linux-gnu/include/boost/python/dict.hpp:89 > #5 0x00007ffff6ea25bb in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at ../paludis/python_hooks.cc:82 > #6 0x00007ffff6ea2ac3 in _GLOBAL__sub_I_python_hooks.cc(void) () at ../paludis/python_hooks.cc:445 > #7 0x00007ffff7fdb0be in call_init () from /usr/x86_64-pc-linux-gnu/lib/ld-linux-x86-64.so.2 > #8 0x00007ffff7fdb1ac in _dl_init () from /usr/x86_64-pc-linux-gnu/lib/ld-linux-x86-64.so.2 > #9 0x00007ffff69cff55 in _dl_catch_exception () from /usr/x86_64-pc-linux-gnu/lib/libc.so.6 > #10 0x00007ffff7fdf474 in dl_open_worker () from /usr/x86_64-pc-linux-gnu/lib/ld-linux-x86-64.so.2 > #11 0x00007ffff69cfef8 in _dl_catch_exception () from /usr/x86_64-pc-linux-gnu/lib/libc.so.6 > #12 0x00007ffff7fdec4b in _dl_open () from /usr/x86_64-pc-linux-gnu/lib/ld-linux-x86-64.so.2 > #13 0x00007ffff687f3cc in dlopen_doit () from /usr/x86_64-pc-linux-gnu/lib/libdl.so.2 > #14 0x00007ffff69cfef8 in _dl_catch_exception () from /usr/x86_64-pc-linux-gnu/lib/libc.so.6 > #15 0x00007ffff69cffc3 in _dl_catch_error () from /usr/x86_64-pc-linux-gnu/lib/libc.so.6 > #16 0x00007ffff687fbf9 in _dlerror_run () from /usr/x86_64-pc-linux-gnu/lib/libdl.so.2 > #17 0x00007ffff687f458 in dlopen () from /usr/x86_64-pc-linux-gnu/lib/libdl.so.2 > #18 0x00007ffff78f1041 in paludis::Hooker::_find_hooks (this=0x7fffffffde08, hook=...) at ../paludis/hooker.cc:634 > #19 0x00007ffff78f3145 in paludis::Hooker::perform_hook (this=0x7fffffffde08, hook=..., optional_output_manager=...) at ../paludis/hooker.cc:782 > #20 0x000055555555886b in Hooker_Works_Test::TestBody (this=0x55555558af80) at ../paludis/hooker_TEST.cc:44 > #21 0x00007ffff6e8368f in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) () from /usr/x86_64-pc-linux-gnu/lib/libgtest.so > #22 0x00007ffff6e7374e in testing::Test::Run() () from /usr/x86_64-pc-linux-gnu/lib/libgtest.so > #23 0x00007ffff6e738a5 in testing::TestInfo::Run() () from /usr/x86_64-pc-linux-gnu/lib/libgtest.so > #24 0x00007ffff6e7398d in testing::TestSuite::Run() () from /usr/x86_64-pc-linux-gnu/lib/libgtest.so > #25 0x00007ffff6e73e9b in testing::internal::UnitTestImpl::RunAllTests() () from /usr/x86_64-pc-linux-gnu/lib/libgtest.so > #26 0x00007ffff6e83b6f in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) () > from /usr/x86_64-pc-linux-gnu/lib/libgtest.so > #27 0x00007ffff6e740a6 in testing::UnitTest::Run() () from /usr/x86_64-pc-linux-gnu/lib/libgtest.so > #28 0x00007ffff6e919ab in main () from /usr/x86_64-pc-linux-gnu/lib/libgtest_main.so > #29 0x00007ffff68beb25 in __libc_start_main () from /usr/x86_64-pc-linux-gnu/lib/libc.so.6 > #30 0x000055555555859e in _start () > (gdb) Calling `Py_Initialize` from PyHookFile's ctor is too late since static members are initialized before the construction of the first PyHookFile instance. Fix this by introducing a RAII-style initializer class that calls `Py_Initialize` on construction and add a static member variable of that type to PyHookFile before its other static member variable.
2021-09-17tests: Disambiguate test names by adding python/ruby prefixesAvatar Marvin Schmidt -0/+2
2021-09-17clang-tidy: Update configAvatar Marvin Schmidt -34/+50
2021-09-17ci: docker: exherbo: clang: Update to clang 12Avatar Marvin Schmidt -1/+1
2021-09-17ci: Update python versions to 3.9Avatar Marvin Schmidt -5/+5
2021-09-17ci: docker: exherbo: Update images to Python 3.9Avatar Marvin Schmidt -2/+2
2021-09-17ci: docker: exherbo: Add ::net and ::rustAvatar Marvin Schmidt -2/+2
They are needed because `dev-python/cryptography` depends on rust now
2021-09-17ci: docker: gentoo: Update to ruby 2.6Avatar Marvin Schmidt -2/+3
2021-09-17ci: Make RUBY_VERSION configurableAvatar Marvin Schmidt -2/+4
2021-09-17ci: docker: gentoo: Remove boost workaroundAvatar Marvin Schmidt -5/+1
2021-09-17ci: docker: gentoo: Adjust to image renamingAvatar Marvin Schmidt -1/+1
2021-09-17Revert "ci: Remove Gentoo for now"Avatar Marvin Schmidt -0/+82
There are up-to-date docker images again This reverts commit f957e62d2c52ef642ba7583a4ff25f572da59e56.
2021-06-16ruby: fix build with ruby 3.0 and clangAvatar Marc-Antoine Perennou -0/+8
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2021-06-16ruby: fix namespace clash with ruby 3.0Avatar Marc-Antoine Perennou -0/+11
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2021-06-16fix tests for ruby >= 2.6Avatar Marc-Antoine Perennou -2/+17
Somehow with ruby >= 2.6 waitpid sometimes gets interrupted by a signal. Ignoring EINTR and reissuing waitpid fixes the issue. Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2021-06-16ruby: drop support for old rubyAvatar Marc-Antoine Perennou -1/+1
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2021-06-16ruby: allow ruby 3.0Avatar Marc-Antoine Perennou -1/+1
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2021-06-16build-sys: drop support for EOL rubysAvatar Marc-Antoine Perennou -4/+4
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2021-06-16build-sys: add support for ruby 2.7Avatar Marc-Antoine Perennou -1/+1
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2021-06-16ci: Remove Gentoo for nowAvatar Marvin Schmidt -82/+0
2021-06-16ci: Simplify CI pipelineAvatar Marvin Schmidt -58/+18
Squash build and test stages in one, having to upload/download the build artifacts between the two stages is just time-consuming and inefficient for no benefit Adjust the clang-tidy stage accordingly to build paludis (but not test)
2021-06-16ci: exherbo: Update to Ruby 2.7Avatar Marvin Schmidt -2/+4