Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkg_rpm produces RPMs with clamped timestamps even when not requested #486

Closed
nacl opened this issue Dec 14, 2021 · 0 comments · Fixed by #487
Closed

pkg_rpm produces RPMs with clamped timestamps even when not requested #486

nacl opened this issue Dec 14, 2021 · 0 comments · Fixed by #487
Assignees
Labels
bug P3 An issue that we are not working on but will review quarterly rpm

Comments

@nacl
Copy link
Collaborator

nacl commented Dec 14, 2021

We've been doing work to port our old copies of pkg_rpm to use the rules from upstream, an internal user noticed that the RPMs were installing files with "0" mtimes.

This can wreak havoc with some update processes. Root cause looks to be the conditional that configures SOURCE_DATE_EPOCH behavior in make_rpm.py seeing a string "0" (which is truthy) instead of integer 0 (which is falsey). This was introduced in 06a2a23.

@nacl nacl added bug P1 An issue that must be resolved. Must have an assignee rpm labels Dec 14, 2021
@nacl nacl self-assigned this Dec 14, 2021
nacl pushed a commit to nacl/rules_pkg that referenced this issue Dec 14, 2021
…ularity cleanup

The logic for `pkg_rpm`'s `source_date_epoch` attribute should apply only when
set.  This change updates the logic so that a negative value for
`source_date_epoch` results in no `--source_date_epoch` being passed to
`make_rpm.py`.  The default for it is now a negative value, enforcing this
feature.

A regression test was also provided.  While writing it, I noticed a few quirks
in `rpm` that impacted test execution.  These were also addressed, although not
in the best way.

For more context, see bazelbuild#486.

Fixes bazelbuild#486
nacl pushed a commit to nacl/rules_pkg that referenced this issue Dec 14, 2021
…ty cleanup

The logic for `pkg_rpm`'s `source_date_epoch` attribute should apply only when
set.  This change updates the logic so that a negative value for
`source_date_epoch` results in no `--source_date_epoch` being passed to
`make_rpm.py`.  `None` does not seem to be a valid option.

The default is now a negative number, thus disabling this feature unless
explicitly requested.

A regression test was also provided.  While writing it, I noticed a few quirks
in `rpm` that impacted test execution.  These were also addressed, although
perhaps not in the best way.

For more context, see bazelbuild#486.

Fixes bazelbuild#486
@nacl nacl closed this as completed in #487 Dec 15, 2021
nacl pushed a commit that referenced this issue Dec 15, 2021
…ty cleanup (#487)

The logic for `pkg_rpm`'s `source_date_epoch` attribute should apply only when
set.  This change updates the logic so that a negative value for
`source_date_epoch` results in no `--source_date_epoch` being passed to
`make_rpm.py`.  `None` does not seem to be a valid option.

The default is now a negative number, thus disabling this feature unless
explicitly requested.

A regression test was also provided.  While writing it, I noticed a few quirks
in `rpm` that impacted test execution.  These were also addressed, although
perhaps not in the best way.

For more context, see #486.

NOTE: this does not address the similar issue impacting the legacy `pkg_rpm`
rule.  This is discussed in #488.

Fixes #486.
@nacl nacl added P3 An issue that we are not working on but will review quarterly and removed P1 An issue that must be resolved. Must have an assignee labels Dec 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug P3 An issue that we are not working on but will review quarterly rpm
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant