diff options
author | dormando <dormando@rydia.net> | 2009-11-02 01:30:28 -0800 |
---|---|---|
committer | Dustin Sallings <dustin@spy.net> | 2009-11-02 02:42:55 -0800 |
commit | 2906fae0f13c79d696bc01a2c3de0854798fd9d6 (patch) | |
tree | e945ecc11308c139c44ed8f7e97de551dff5bdfa | |
parent | f966dbad8c56d4fcfd6cbb51da5db91c6a22e91f (diff) | |
download | memcached-2906fae0f13c79d696bc01a2c3de0854798fd9d6.tar.gz |
Make autoversioning/spec gen work better.
issue #98 is about how our specfiles for rc's aren't upgradeable.
Now they should be.
-rwxr-xr-x | autogen.sh | 2 | ||||
-rw-r--r-- | memcached.spec.in | 11 | ||||
-rwxr-xr-x | version.pl | 59 |
3 files changed, 67 insertions, 5 deletions
@@ -8,7 +8,7 @@ # # Get the initial version. -sh version.sh +perl version.pl echo "aclocal..." ACLOCAL=`which aclocal-1.10 || which aclocal-1.9 || which aclocal19 || which aclocal-1.7 || which aclocal17 || which aclocal-1.5 || which aclocal15 || which aclocal || exit 1` diff --git a/memcached.spec.in b/memcached.spec.in index 4563c53..f473d8f 100644 --- a/memcached.spec.in +++ b/memcached.spec.in @@ -1,12 +1,12 @@ Name: memcached Version: @VERSION@ -Release: 1%{?dist} +Release: @RELEASE@%{?dist} Summary: High Performance, Distributed Memory Object Cache Group: System Environment/Daemons License: BSD URL: http://www.danga.com/memcached/ -Source0: http://www.danga.com/memcached/dist/%{name}-%{version}.tar.gz +Source0: http://memcached.googlecode.com/files/%{name}-@FULLVERSION@.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libevent-devel @@ -23,11 +23,11 @@ system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. %prep -%setup -q +%setup -q -n %{name}-@FULLVERSION@ %build -%configure --enable-threads +%configure make %{?_smp_mflags} @@ -94,6 +94,9 @@ exit 0 %{_includedir}/memcached %changelog +* Mon Nov 2 2009 Dormando <dormando@rydia.net> - 1.4.3-1 +- Fix autogen more. + * Sat Aug 29 2009 Dustin Sallings <dustin@spy.net> - 1.4.1-1 - Autogenerate the version number from tags. diff --git a/version.pl b/version.pl new file mode 100755 index 0000000..6f08faf --- /dev/null +++ b/version.pl @@ -0,0 +1,59 @@ +#!/usr/bin/perl +# If you think this is stupid/overkill, blame dormando + +use warnings; +use strict; + +my $version = `git describe`; +chomp $version; +# Test the various versions. +#my $version = 'foob'; +#my $version = '1.4.2-30-gf966dba'; +#my $version = '1.4.3-rc1'; +#my $version = '1.4.3'; +unless ($version =~ m/^\d+\.\d+\.\d+/) { + write_file('version.m4', "m4_define([VERSION_NUMBER], [UNKNOWN])\n"); + exit; +} + +$version =~ s/-/_/g; +write_file('version.m4', "m4_define([VERSION_NUMBER], [$version])\n"); +my ($VERSION, $FULLVERSION, $RELEASE); + +if ($version =~ m/^(\d+\.\d+\.\d+)_rc(\d+)$/) { + $VERSION = $1; + $FULLVERSION = $version; + $RELEASE = '0.1.rc' . $2; +} elsif ($version =~ m/^(\d+\.\d+\.\d+)_(.+)$/) { + $VERSION = $1; + $FULLVERSION = $version; + $RELEASE = '1.' . $2; +} elsif ($version =~ m/^(\d+\.\d+\.\d+)$/) { + $VERSION = $1; + $FULLVERSION = $version; + $RELEASE = '1'; +} + +my $spec = read_file('memcached.spec.in'); +$spec =~ s/\@VERSION\@/$VERSION/gm; +$spec =~ s/\@FULLVERSION\@/$FULLVERSION/gm; +$spec =~ s/\@RELEASE\@/$RELEASE/gm; + +write_file('memcached.spec', $spec); + +sub write_file { + my $file = shift; + my $data = shift; + open(my $fh, "> $file") or die "Can't open $file: $!"; + print $fh $data; + close($fh); +} + +sub read_file { + my $file = shift; + local $/ = undef; + open(my $fh, "< $file") or die "Can't open $file: $!"; + my $data = <$fh>; + close($fh); + return $data; +} |