#!/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.dist"); while() { $_ =~ 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";