Package: equivs Version: 2.3.1 Tags: patch Please accept this enhancement to add a "Date" field to the equivs-build control file.
If supplied, the Date value will be used instead of the current time to set the date/time in the generated debian/changelog file. Sometimes the caller does not need to supply an entire changelog file but just needs to set the package date. Setting the date to a specific time lets equivs-build be part of a reproducible build chain. --- equivs-2.3.1/usr/bin/equivs-build +++ equivs/usr/bin/equivs-build @@ -339,9 +339,14 @@ sub make_changelog { my ($version, $suite, $date); $version = $control->{'Version'} || "1.0"; $suite = $control->{'Suite'} || "unstable"; - chomp ($date = qx(date -R)); + my $date_to_use_arg = ""; + if (my $control_dateq = $control->{'Date'}) { + $control_dateq =~ s/'/'\\\''/g; + $date_to_use_arg = "--date='$control_dateq'"; + } + chomp ($date = qx(date -R $date_to_use_arg)); open OUT, '>', "$builddir/debian/changelog" or die "Couldn't write changelog: $!\n"; print OUT <<EOINPUT; --- equivs-2.3.1/equivs-build.pod +++ equivs/equivs-build.pod @@ -30,11 +30,19 @@ There are several additional fields that can be used: =item Changelog: -File to be used as the changelog +File to be used as the F<changelog>. If not specified, B<equivs-build> +will generate one. Some parts of the generated F<changelog> can be +controlled; see the Version and Date fields. =item Version: If you don't use a local changelog, equivs will create a dummy one. As the version of the package is defined in the changelog, equivs will assume the version 1.0. With this field, you can set an explicit version. +=item Date: + +If B<equivs-build> generates a F<changelog> file, it will use this +time as the package release date. The date defaults to the current time. +The Date string can be anything C<S<date -d>> will accept. +