On 6/28/23 18:24, Fabio Valentini wrote: > On Thu, Jun 29, 2023 at 12:15 AM Carlos O'Donell <carlos@xxxxxxxxxx> > wrote: >> >> On 6/26/23 16:12, Fabio Valentini wrote: >>> So all this considered, I'm not sure whether this change is >>> actually worth it, if tzdata databases of some form will likely >>> be pulled into installs anyway. >> >> Quoting the "Weak Dependencies Policy": >> >> "Weak dependencies allow smaller minimal installations while >> keeping the default installation feature rich." >> >> The change is worth it for minimizing container runtimes based on >> Fedora. >> >> Just for clarity, a default install will always have tzdata. >> >>> I'd rather have *one* tzdata that's up-to-date and used by >>> everything (for example, so Python and Ruby programs can actually >>> agree what time it is). >> I agree strongly with this statement. >> >> I have worked with Patsy over the years to remove as many bundled >> copies of out-of-date tzdata as we can find :-) >> >> It is important for consistency that all language runtimes have the >> same concept of time. >> >> This change request does not change that. > > Thanks for the clarification, though this is only partially > reassuring: I'm not sure how this accounts for the fact that there > are some situations in which weak dependencies are *not installed at > all*. Most notably, they are not installed into build environments > *at all* (i.e. mock sets `install_weak_deps=0`). Yes, this is a general issue with all weak dependencies. This is similar to the "minimal buildroot" conversation, whose conclusion was that we should not dictate what should be in the minimal buildroot but have the packages express the dependencies as required for their build and check phases. See: https://docs.fedoraproject.org/en-US/packaging-guidelines/#buildrequires ~~~ You MAY assume that enough of an environment exists for RPM to function, to build packages and execute basic shell scripts, but you SHOULD NOT assume any other packages are present as RPM dependencies and anything brought into the buildroot by the build system can change over time. ~~~ https://pagure.io/packaging-committee/issue/497 We have two options: - glibc-devel 'Requires: tzdata' (close to the current behaviour) - All packages that neeed tzdata in rpm %check tests add 'BuildRequires: tzdata' If a testsuite runs in %check and needs tzdata it seems to me that it is valuable to express this as 'BuildRequires: tzdata'. Therefore I lean towards the latter solution of having packages that truly need tzdata for testing all of their code to 'BuildRequires: tzdata', but only if actually required. > I'm not sure how the process that builds ISOs and container images > handle this, but I assume they set this option as well. So we'd need > to be careful not to remove "hard" dependencies on tzdata and replace > them with lots of "weak" dependencies all over the place - just to > find out that it ends up missing from important places because they > disable weak dependencies. Building ISOs and container images must install Recommends: by default otherwise the Weak Dependency Policy would not work in Fedora. -- Cheers, Carlos. _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue