[OE-core] [PATCH] classes/reproducible_build: Avoid dereferencing symlinks
Paulo Neves
ptsneves at gmail.com
Wed Aug 8 12:23:33 UTC 2018
minor nitpick. Your patch changed the whitespace indentation ;)
On Mon, Aug 6, 2018 at 5:25 PM, Joshua Watt <jpewhacker at gmail.com> wrote:
> Using os.path.getmtime() will dereference symbolic links in an attempt
> to get the last modified time. This can cause errors if the target
> doesn't exist, or worse map to some absolute build host path which would
> make a build not reproducible.
>
> Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
> ---
> meta/classes/reproducible_build.bbclass | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/reproducible_build.bbclass b/meta/classes/reproducible_build.bbclass
> index 2df805330aa..268b5fb8f19 100644
> --- a/meta/classes/reproducible_build.bbclass
> +++ b/meta/classes/reproducible_build.bbclass
> @@ -56,7 +56,7 @@ def get_source_date_epoch_known_files(d, path):
> for file in known_files:
> filepath = os.path.join(path,file)
> if os.path.isfile(filepath):
> - mtime = int(os.path.getmtime(filepath))
> + mtime = int(os.lstat(filepath).st_mtime)
> # There may be more than one "known_file" present, if so, use the youngest one
> if mtime > source_date_epoch:
> source_date_epoch = mtime
> @@ -114,7 +114,7 @@ python do_create_source_date_epoch_stamp() {
> for fname in files:
> filename = os.path.join(root, fname)
> try:
> - mtime = int(os.path.getmtime(filename))
> + mtime = int(os.lstat(filename).st_mtime)
> except ValueError:
> mtime = 0
> if mtime > source_date_epoch:
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list