Source

ninux.l0g.in / Rakefile.rb

Full commit


BUILD_CMD = "ionice -c 3 nice -n 20 make -j 2 V=99 CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 | tee build.log | egrep -i '(warn|error)'"

folder = 'trunk'
dest = File.join(Dir.pwd,'www/trunk')

task :compile => [:feed_update, :feed_install] do
	cd(folder) do
		sh BUILD_CMD do |ok, res|
    		if ! ok
      			puts "BUILD FAILED!"
      			cp 'build.log', File.join(dest, DateTime.now.to_s + "error.log")
      		end
    	end
	end
end

desc 'Upgrade the trunk'
task :svn_update do
	cd(folder) do
		sh 'svn update'
	end
end

task :feed_update do
	cd(folder) do
		sh './scripts/feeds update -a'
	end
end

task :feed_install do
	cd(folder) do
		sh './scripts/feeds install -a -d n'
	end
end

desc 'Build an publish to the web'
task :publish do
	cd(folder) do
		rm_rf dest
		cp_r 'bin', dest
		cp 'build.log', dest
	end
end

desc "Copile for all target"
task :compile_all

def compile_for(arch)
	my_task = "compile_#{arch}".to_sym
	desc "Compile for #{arch}"
	task my_task => [:feed_update, :feed_install] do
		cd('trunk') do
			cp "config.#{arch}", ".config"
			sh BUILD_CMD do |ok, res|
	    		if ! ok
	      			puts "BUILD FAILED!"
	      			cp 'build.log', File.join(dest, DateTime.now.to_s + "#{arch}_error.log")
	      		end
	    	end
		end
	end
	task :compile_all => my_task
end

compile_for 'fonera'
compile_for 'ar71xx'