xref: /netbsd-src/crypto/external/bsd/openssl.old/dist/util/perl/OpenSSL/copyright.pm (revision 4724848cf0da353df257f730694b7882798e5daf)
1#! /usr/bin/env perl
2# Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.
3#
4# Licensed under the Apache License 2.0 (the "License").  You may not use
5# this file except in compliance with the License.  You can obtain a copy
6# in the file LICENSE in the source distribution or at
7# https://www.openssl.org/source/license.html
8
9use strict;
10use warnings;
11
12package OpenSSL::copyright;
13
14sub year_of {
15    my $file = shift;
16
17    return $ENV{'OSSL_COPYRIGHT_YEAR'} if defined $ENV{'OSSL_COPYRIGHT_YEAR'};
18
19    # Use the file date for backward compatibility.
20    my $YEAR = [localtime([stat($file)]->[9])]->[5] + 1900;
21
22    # See if git's available
23    open my $FH,
24       "git log -1 --date=short --format=format:%cd $file 2>/dev/null|"
25           or return $YEAR;
26    my $LINE = <$FH>;
27    close $FH;
28    $LINE =~ s/^([0-9]*)-.*/$1/ if $LINE;
29    $YEAR = $LINE if $LINE;
30    return $YEAR;
31}
32
33sub latest {
34    my $l = 0;
35    foreach my $f (@_ ) {
36        my $y = year_of($f);
37        $l = $y if $y > $l;
38    }
39    return $l
40}
411;
42