This repository was archived by the owner on Aug 31, 2021. It is now read-only.
Precisely preserve the timestamps when stripping debugging symbols#2886
Merged
livecodestephen merged 6 commits intoSep 30, 2015
Merged
Conversation
This was unnecessary as `build_widget` will make the directory if needed. Moreover, the `-s` option for `basename` isn't available on Debian Wheezy.
The `--preserve-dates` flag for `strip` and `objcopy` only has whole second resolution. This meant that the modification time was being truncated to an integer number of seconds. Consequently, when stripping a file, some of the dependencies of that file would appear to be newer, and hence the file would be unnecessarily remade during a second call to make. Simple soultion: copy the timestamps to a separate file before we strip and copy them back after.
The 32-bit linux build is built on Debian Squeeze which only has coreutils 8.5. Version >= 8.6 is required for the `--attributes-only` option on `cp`, so ignore failure of these commands.
On Debian Wheezy the `cp` command was deleting the contents of the destination, so switch to using `touch` with a reference file.
Contributor
There was a problem hiding this comment.
I'd suggest using "touch -m -r "$input" "$input.timestamps" here. That should create the timestamp file with the modification time of the original without needing to copy the file.
Contributor
Author
There was a problem hiding this comment.
Yes that would be nicer. I'll do that.
Contributor
Author
|
@livecodeian: Changed to use |
Contributor
|
@livecode-vulcan review ok e419ee1 |
Contributor
|
💙 review by @livecodeian ok e419ee1 |
livecode-vulcan
added a commit
that referenced
this pull request
Sep 30, 2015
Precisely preserve the timestamps when stripping debugging symbols This is an update to #2642. On Debian Wheezy the `cp --attributes-only --preserve=timestamps` command was emptying the contents of the destination. I've changed it to using `mv` and `touch` instead. This should now work on Squeeze, so it no longer has to ignore any failures. I also removed an unnecessary `mkdir` from `util/build-extensions.sh`. This line was causing an error as `basename` doesn't have an `-s` flag on Debian Wheezy.
Contributor
livecodestephen
added a commit
that referenced
this pull request
Sep 30, 2015
Precisely preserve the timestamps when stripping debugging symbols
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an update to #2642.
On Debian Wheezy the
cp --attributes-only --preserve=timestampscommand was emptying the contents of the destination. I've changed it to usingmvandtouchinstead. This should now work on Squeeze, so it no longer has to ignore any failures.I also removed an unnecessary
mkdirfromutil/build-extensions.sh. This line was causing an error asbasenamedoesn't have an-sflag on Debian Wheezy.