1
0
mirror of https://frontier.innolan.net/rainlance/c-ares.git synced 2025-10-05 13:29:47 +00:00
Files
c-ares/maketgz
Daniel Stenberg 2d9a5acff5 CHANGES: generate from script
The CHANGES file is now generated automatically with 'git2changes.pl',
invoked by the maketgz script which is used to build release archives.

The former human edited CHANGES file was renamed to CHANGES.0 in git.
2011-08-21 15:40:14 +02:00

78 lines
2.1 KiB
Perl
Executable File

#!/usr/bin/env perl
$version = $ARGV[0];
if($version eq "") {
print "Enter version number!\n";
exit;
}
if(!-f "ares.h") {
print "run this script in the ares source root dir\n";
exit;
}
my ($major, $minor, $patch)=split(/\./, $version);
$major += 0;
$minor += 0;
$patch += 0;
open(VER, "<ares_version.h") ||
die "can't open ares_version.h";
open(NEWV, ">ares_version.h.dist");
while(<VER>) {
$_ =~ s/^\#define ARES_VERSION_MAJOR .*/\#define ARES_VERSION_MAJOR $major/;
$_ =~ s/^\#define ARES_VERSION_MINOR .*/\#define ARES_VERSION_MINOR $minor/;
$_ =~ s/^\#define ARES_VERSION_PATCH .*/\#define ARES_VERSION_PATCH $patch/;
$_ =~ s/^\#define ARES_VERSION_STR .*/\#define ARES_VERSION_STR \"$version\"/;
print NEWV $_;
}
close(VER);
close(NEWV);
print "ares_version.h.dist created\n";
if(!-f "configure") {
print "running buildconf\n";
`./buildconf`;
}
print "adding $version in the configure.ac file\n";
`sed -e 's/AC_INIT.*/AC_INIT([c-ares], [$version],/' < configure.ac > configure.ac.dist`;
# now make a new configure script with this
print "makes a new configure script\n";
`autoconf configure.ac.dist >configure`;
# now run this new configure to get a fine makefile
print "running configure\n";
`./configure`;
# generate HTML versions of man pages
# Deactivated for now. It seems that man pages need some adjustments
# relative to paragraph and/or line breaks for proper html formatting.
# EXTRA_DIST will need $(HTMLPAGES) when this is fully activated.
# print "running make html\n";
# `make -s html`;
# generate PDF versions of man pages
print "running make pdf\n";
`make -s pdf`;
print "produce CHANGES\n";
`git log --pretty=fuller --no-color --date=short --decorate=full -1000 | ./git2changes.pl > CHANGES.dist`;
# now make the actual tarball
print "running make dist\n";
`make dist VERSION=$version`;
# remove temporay sourced man pages
`make -s clean-sourced-manpages`;
print "removing temporary configure.ac file\n";
`rm configure.ac.dist`;
print "removing temporary ares_version.h file\n";
`rm ares_version.h.dist`;
print "NOTE: now tag this release!\n";