On Wed, 2011-07-20 at 13:48 -0500, Steve Linabery wrote:
Edit rake/rpmtask.rb to include git hash and timestamp values in the
extra_release info
---
rake/rpmtask.rb | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/rake/rpmtask.rb b/rake/rpmtask.rb
index 7534693..64dc14a 100644
--- a/rake/rpmtask.rb
+++ b/rake/rpmtask.rb
@@ -18,6 +18,9 @@ module Rake
# RPM build dir
attr_accessor :topdir
+ # Include extra_release information in the rpm
+ attr_accessor :include_extra_release
+
def initialize(rpm_spec)
init(rpm_spec)
yield self if block_given?
@@ -25,6 +28,7 @@ module Rake
end
def init(rpm_spec)
+ @include_extra_release = true
@rpm_spec = rpm_spec
# parse this out of the rpmbuild macros,
@@ -72,17 +76,21 @@ module Rake
directory "#{@topdir}/SPECS"
desc "Build the rpms"
- task :rpms => [rpm_file]
+ task :rpms, [:include_extra_release] => [rpm_file]
# FIXME properly determine :package build artifact(s) to copy to sources dir
- file rpm_file => [:package, "#{@topdir}/SOURCES",
"#{@topdir}/SPECS"] do |t,args|
+ file rpm_file, [:include_extra_release] => [:package,
"#{@topdir}/SOURCES", "#{@topdir}/SPECS"] do |t,args|
+ @include_extra_release = args.include_extra_release != "false"
+ git_head = `git log -1 --pretty=format:%h`
+ extra_release = "." +
Time.now.strftime("%Y%m%d%H%M%S").gsub(/\s/, '') + "git" +
"#{git_head}"
+ puts "here I is #{extra_release}"
Minus this, ahem, debug
string, of course...
cp "#{package_dir}/#{@name}-#{(a)version}.tgz",
"#{@topdir}/SOURCES/"
# FIXME - This seems like a hack, but we don't know the gem's name
cp "#{package_dir}/#{(a)name.gsub('rubygem-',
'')}-#{(a)version}.gem", "#{@topdir}/SOURCES/"
cp @rpm_spec, "#{@topdir}/SPECS"
sh "#{@rpmbuild_cmd} " +
"--define '_topdir #{@topdir}' " +
- "--define 'extra_release #{args.extra_release}' " +
+ "--define 'extra_release #{@include_extra_release ? extra_release :
''}' " +
"-ba #{@rpm_spec}"
end
end