Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#69282 - [ccache] unable to work with makepkg.

Attached to Project: Community Packages
Opened by bartus (bartus) - Sunday, 10 January 2021, 20:36 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:02 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Levente Polyak (anthraxx)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description: Since ccache:4.1 makepkg reproducibility collide with ccache hashing of env vars, by exporting SOURCE_DATE_EPOCH.

Upstream solution already merged, listed in milestones for ccache:4.2


Additional info:
* ccache:4.2
* pacman:5.2.2
* link to upstream pull request: https://github.com/ccache/ccache/pull/755

This task depends upon

Closed by  Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:02 GMT
Reason for closing:  Moved
Additional comments about closing:  https://gitlab.archlinux.org/archlinux/p ackaging/packages/ccache/issues/1
Comment by bartus (bartus) - Sunday, 10 January 2021, 20:43 GMT
Also would be nice to add defalut `/etc/ccache.conf` with `sloppiness = time_macros` to allow `makepkg` to use ccache like before, without having to know to include this in your ccache configuration.
Comment by Levente Polyak (anthraxx) - Sunday, 10 January 2021, 20:59 GMT
Backporting the patch sounds nice, thanks for the reference.

IMO this is something that should be documented somewhere. I dont quite like the idea to override upstream default configurations just to make ccache happy for makepkg. This would have potentially undesired effect on non package builds and people would need to look at downstream overridden config to find out why. Our main selling point is to avoid exactly that.
Comment by bartus (bartus) - Sunday, 10 January 2021, 22:45 GMT
@anthraxx It may be a bit bold move but perhaps including `if check_buildevn "ccache" "no"` before exporting SOURCE_DATE_EPOCH in `makepkg` would be a better solution.
After all if you are building with `BUILDENV+=(ccache)` you're not going after reproducibility aren't you (¬_¬'')ԅ( ̄ε ̄ԅ)
[patch for pacman:6.0.0alpha1](http://ix.io/2LB5/diff)
* have to move `REPRODUCIBLE` after sourcing the libraries to have the `check_buildenv` function available.
* produce the same package as original `makepkg` but won't export `SOURCE_DATE_EPOCH` to `build()` function resolving the issue with `ccache:4.1`
Comment by Levente Polyak (anthraxx) - Sunday, 10 January 2021, 23:10 GMT
this would break reproducibility for other packages like python. conditionally not defining SOURCE_DATE_EPOCH is really a no go on that regard. Also, why wouldn't you go for reproducibility when using ccache?
Comment by bartus (bartus) - Sunday, 10 January 2021, 23:42 GMT
Other solution that would work, with the patch from ccache:4.2, would be to squeeze `export CCACHE_SLIPPINESS=time_macros` in `libmakepkg/buildenv/compiler.sh.in` [patch:> http://ix.io/2LBm/diff ]
Comment by Levente Polyak (anthraxx) - Sunday, 10 January 2021, 23:47 GMT
Something like that would make more sense in my opinion as it has less undesired side effects.
Comment by bartus (bartus) - Wednesday, 10 February 2021, 09:01 GMT
@anthraxx ccache:4.2 just landed in community, what about pacman fix for time_macros sloppiness loosening.
Comment by Buggy McBugFace (bugbot) - Tuesday, 08 August 2023, 19:11 GMT
This is an automated comment as this bug is open for more then 2 years. Please reply if you still experience this bug otherwise this issue will be closed after 1 month.

Loading...