19 Jan 2025 |
piotrkwiecinski | I suspect it's because of // in the path //build/source/components-rs but I may be wrong | 18:07:06 |
piotrkwiecinski | gcc -shared components/container_id/.libs/container_id.o components/log/.libs/log.o components/sapi/.libs/sapi.o components/string_view/.libs/string_view.o zend_abstract_interface/interceptor/php8/.libs/interceptor.o zend_abstract_interface/interceptor/php8/.libs/resolver.o zend_abstract_interface/jit_utils/.libs/jit_blacklist.o zend_abstract_interface/sandbox/php8/.libs/sandbox.o zend_abstract_interface/config/.libs/config.o zend_abstract_interface/config/.libs/config_decode.o zend_abstract_interface/config/.libs/config_ini.o zend_abstract_interface/config/.libs/config_runtime.o zend_abstract_interface/env/.libs/env.o zend_abstract_interface/exceptions/.libs/exceptions.o zend_abstract_interface/headers/.libs/headers.o zend_abstract_interface/hook/.libs/hook.o zend_abstract_interface/json/.libs/json.o zend_abstract_interface/symbols/.libs/lookup.o zend_abstract_interface/symbols/.libs/call.o zend_abstract_interface/uri_normalization/.libs/uri_normalization.o zend_abstract_interface/zai_string/.libs/string.o ext/vendor/mpack/.libs/mpack.o ext/vendor/mt19937/.libs/mt19937-64.o src/dogstatsd/.libs/client.o ext/.libs/handlers_curl.o ext/hook/.libs/uhook_attributes.o ext/.libs/handlers_fiber.o ext/.libs/ddtrace.o ext/.libs/agent_info.o ext/.libs/asm_event.o ext/.libs/arrays.o ext/.libs/auto_flush.o ext/.libs/autoload_php_files.o ext/.libs/collect_backtrace.o ext/.libs/comms_php.o ext/.libs/compat_string.o ext/.libs/coms.o ext/.libs/configuration.o ext/.libs/ddshared.o ext/.libs/distributed_tracing_headers.o ext/.libs/dogstatsd.o ext/.libs/dogstatsd_client.o ext/.libs/engine_api.o ext/.libs/engine_hooks.o ext/.libs/exception_serialize.o ext/.libs/excluded_modules.o ext/.libs/git.o ext/.libs/handlers_api.o ext/.libs/handlers_exception.o ext/.libs/handlers_internal.o ext/.libs/handlers_kafka.o ext/.libs/handlers_pcntl.o ext/.libs/handlers_signal.o ext/integrations/.libs/exec_integration.o ext/integrations/.libs/integrations.o ext/.libs/ip_extraction.o ext/.libs/standalone_limiter.o ext/.libs/live_debugger.o ext/.libs/logging.o ext/limiter/.libs/limiter.o ext/.libs/memory_limit.o ext/.libs/otel_config.o ext/priority_sampling/.libs/priority_sampling.o ext/.libs/profiling.o ext/.libs/random.o ext/.libs/remote_config.o ext/.libs/serializer.o ext/.libs/sidecar.o ext/.libs/signals.o ext/.libs/span.o ext/.libs/startup_logging.o ext/.libs/telemetry.o ext/.libs/threads.o ext/tracer_tag_propagation/.libs/tracer_tag_propagation.o ext/.libs/user_request.o ext/hook/.libs/uhook.o ext/hook/.libs/uhook_legacy.o //build/source/components-rs/.libs/mock_php.o -lcurl -lm /build/source/target/tracer-release/libddtrace_php.a -lrt -pthread -Wl,--undefined-version -Wl,-soname -Wl,ddtrace.so -Wl,-version-script -Wl,.libs/ddtrace.ver -o .libs/ddtrace.so
impure path `//build/source/components-rs/.libs/mock_php.o' used in link
| 18:08:06 |
piotrkwiecinski | I think it's caused by https://github.com/DataDog/dd-trace-php/blob/master/config.m4#L377-L379 but I'm not sure how to properly fix it | 18:10:07 |
Pol | No clue on this mate | 21:17:22 |
Pol | Have you seen this btw? https://github.com/NixOS/nixpkgs/issues/373626 | 21:18:01 |
piotrkwiecinski | Yes and I was able to reproduce it with the provider repo. Running composer install by hand installs directories as expected | 21:59:24 |
20 Jan 2025 |
Pol | piotrkwiecinski: The issue with composer is fixed, it was something on our side... | 12:21:39 |
Pol | => https://github.com/NixOS/nixpkgs/pull/375306 | 12:21:53 |
piotrkwiecinski | oops :) | 12:22:53 |
piotrkwiecinski | does it affect hashes again? | 12:23:37 |
Pol | No | 12:25:11 |
Pol | Don't think so | 12:25:15 |
piotrkwiecinski | I'll check a couple packages after work | 12:25:54 |
Pol | excellent, thanks | 12:26:29 |
Pol | Regarding the Drupal stuff up there | 12:26:35 |
Pol | Things could definitely be improved in the builder | 12:26:49 |
piotrkwiecinski | maybe something isn't passed or copied correctly | 12:27:51 |
Pol | yep | 12:28:14 |
piotrkwiecinski | or maybe an order of commands as copy should be done after composer install is done to have all dirs | 12:28:42 |
Pol | Composer disable the plugins IIRC | 12:29:03 |
Pol | That's probably the issue | 12:29:08 |
piotrkwiecinski | it depends on the config | 12:29:20 |
piotrkwiecinski | if you have allow plugins in composer.json they're not blocked | 12:29:36 |
piotrkwiecinski | assuming we don't send --no-plugins explicitly | 12:29:56 |
Pol | we do IIRC | 12:30:44 |
piotrkwiecinski | we have it as a flag and reproducer sets it to false so in theory --no-plugins shouldn't be added but it needs confirmation if it actually works :) | 12:32:35 |
piotrkwiecinski | https://getcomposer.org/doc/06-config.md#allow-plugins Defaults to {} which does not allow any plugins to be loaded.
As of Composer 2.2.0, the allow-plugins option adds a layer of security allowing you to restrict which Composer plugins are able to execute code during a Composer run.
When a new plugin is first activated, which is not yet listed in the config option, Composer will print a warning. If you run Composer interactively it will prompt you to decide if you want to execute the plugin or not.
Use this setting to allow only packages you trust to execute code. Set it to an object with package name patterns as keys. The values are true to allow and false to disallow while suppressing further warnings and prompts.
| 12:36:10 |
piotrkwiecinski | So if you have the allow-plugins in composer.json with "true"s it won't disable these plugins | 12:36:58 |
Pol | This is what I meant: https://github.com/NixOS/nixpkgs/blob/f5b5e4d69cb858b79bfbc300980b13b4218d5b01/pkgs/build-support/php/builders/v2/hooks/composer-vendor-hook.sh#L34 | 12:50:07 |
piotrkwiecinski | Yeah but setting:
composerNoPlugins = false;
composerNoScripts = false; | 12:52:17 |