File: make_version_h.pl

package info (click to toggle)
whois 5.6.6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 584 kB
  • sloc: ansic: 2,412; perl: 203; makefile: 153; sh: 109
file content (35 lines) | stat: -rwxr-xr-x 903 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/perl
# SPDX-License-Identifier: GPL-2.0-or-later

use warnings;
use strict;
use autodie;

my $changelog = $ARGV[0] or die "Usage: $0 debian/changelog\n";

open(my $fh, '<', $changelog);
my $line = <$fh>;
close($fh);

my ($ver) = $line =~ /^whois \s+ \( ( [^\)]+ ) \) \s+ \S+/x;
die "Version number not found in $changelog!\n" if not $ver;

$ver =~ s/ (
	  build\d+
	| ubuntu\d+
	| ~\S+
	| \+\S+
) $//x;

# The version number must not deviate from this format or the -V option
# to RIPE-like servers will break. If needed, update the previous regexp.
# This may not be true anymore in 2019.
die "Invalid version number in $changelog: '$ver'!\n"
	unless $ver =~ /^ \d+\.\d+ ( \.\d+ )? $/x;

# This is the version number used in the help messages.
print qq|#define VERSION "$ver"\n|;

# This is the string sent to RIPE-like servers as the argument of -V.
print qq|#define IDSTRING "Md$ver"\n|;