From 291890ca30aa033ff135d300f94147aafcb0cc16 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Mon, 1 Sep 2014 15:16:04 +0200 Subject: [PATCH] Build system: rake target for building a source tarball --- Rakefile | 12 ++++++++++++ rake.d/tarball.rb | 22 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 rake.d/tarball.rb diff --git a/Rakefile b/Rakefile index d31b455bf..82db84260 100755 --- a/Rakefile +++ b/Rakefile @@ -35,6 +35,7 @@ require_relative "rake.d/target" require_relative "rake.d/application" require_relative "rake.d/library" require_relative "rake.d/format_string_verifier" +require_relative "rake.d/tarball" require_relative 'rake.d/gtest' if $have_gtest def setup_globals @@ -480,6 +481,17 @@ namespace :dev do formatter.write doc, File.open(qrc, "w") end end + + desc "Create source code tarball from current version in .." + task :tarball do + create_source_tarball + end + + desc "Create source code tarball from current version in .. with git revision in name" + task "tarball-rev" do + revision = `git rev-parse --short HEAD`.chomp + create_source_tarball "-#{revision}" + end end # Installation tasks diff --git a/rake.d/tarball.rb b/rake.d/tarball.rb new file mode 100644 index 000000000..70f5dc95c --- /dev/null +++ b/rake.d/tarball.rb @@ -0,0 +1,22 @@ +def create_source_tarball suffix = "" + require "tmpdir" + + tarball = "#{Dir.pwd}/../mkvtoolnix-#{c(:VERSION)}#{suffix}.tar.xz" + fail "#{tarball} does already exist" if FileTest.exists?(tarball) + + Dir.mktmpdir do |dir| + clone_dir = "#{dir}/mkvtoolnix-#{c(:VERSION)}" + commands = [ + "git clone \"#{Dir.pwd}\" \"#{clone_dir}\"", + "cd #{clone_dir}", + "./autogen.sh", + "git submodule init", + "git submodule update", + "rm -rf .git", + "mv debian-upstream debian", + "cd ..", + "tar cJf \"#{tarball}\" mkvtoolnix-#{c(:VERSION)}", + ] + system commands.join(" && ") + end +end