Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
sequencer
#!/home/me/.rvm/rubies/ruby-2.2.0/bin/rake -f
require 'logger'
require 'logger/colors'
module FileUtils
alias_method :orig_sh, :sh
def osh(*cmd, &block)
bin = [*cmd].first
task_name = "override_#{bin}"
return orig_sh(*cmd, &block) unless Rake::Task.task_defined?(task_name)
task = Rake::Task[task_name]
return orig_sh(*cmd, &block) if task.arg_names.size != 0
task.instance_eval do
@command = [*cmd]
self.class.send(:attr_reader, :command)
end
task.invoke
end
end
def override(*args, &block)
args = [*args]
args[0] = "override_#{args[0]}"
task(*args, &block)
end
@log = Logger.new(STDERR).tap do |l|
l.level = Logger::INFO
l.progname = 'rules'
end
task :clean do |t|
@log.info t.inspect
osh 'dh_testdir'
osh 'dh_auto_clean'
osh 'dh_clean'
end
task :configure do |t|
@log.info t.inspect
osh 'dh_testdir'
osh 'dh_auto_configure'
end
task :build => :configure do |t|
@log.info t.inspect
osh 'dh_testdir'
osh 'dh_auto_build'
osh 'dh_auto_test'
end
task 'build-indep' => :build do |t|
@log.info t.inspect
end
task 'build-arch' => :build do |t|
@log.info t.inspect
end
task :install => :build do |t|
osh 'dh_testroot'
osh 'dh_prep'
osh 'dh_installdirs'
osh 'dh_auto_install'
osh 'dh_install'
osh 'dh_installdocs'
osh 'dh_installchangelogs'
osh 'dh_installexamples'
osh 'dh_installman'
osh 'dh_installcatalogs'
osh 'dh_installcron'
osh 'dh_installdebconf'
osh 'dh_installemacsen'
osh 'dh_installifupdown'
osh 'dh_installinfo'
osh 'dh_installinit'
osh 'dh_installmenu'
osh 'dh_installmime'
osh 'dh_installmodules'
osh 'dh_installlogcheck'
osh 'dh_installlogrotate'
osh 'dh_installpam'
osh 'dh_installppp'
osh 'dh_installudev'
osh 'dh_installwm'
osh 'dh_installxfonts'
osh 'dh_bugfiles'
osh 'dh_lintian'
osh 'dh_gconf'
osh 'dh_icons'
osh 'dh_perl'
osh 'dh_usrlocal'
osh 'dh_link'
osh 'dh_compress'
osh 'dh_fixperms'
end
task 'install-indep' => 'build-indep' do |t|
@log.info t.inspect
Rake::Task[:install].invoke
end
task 'install-arch' => 'build-arch' do |t|
@log.info t.inspect
Rake::Task[:install].invoke
end
task 'binary-indep' => 'install-indep' do |t|
@log.info t.inspect
osh 'dh_installdeb'
osh 'dh_gencontrol'
osh 'dh_md5sums'
osh 'dh_builddeb'
end
task 'binary-arch' => 'install-indep' do |t|
@log.info t.inspect
osh 'dh_strip'
osh 'dh_makeshlibs'
osh 'dh_shlibdeps'
Rake::Task['binary-indep'].invoke
end
task :binary => :install do |t|
@log.info t.inspect
Rake::Task['binary-arch'].invoke
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment