diff options
Diffstat (limited to 'setup')
-rw-r--r-- | setup/qi_libs.rb | 257 | ||||
-rw-r--r-- | setup/qi_libs_base.rb | 2 | ||||
-rw-r--r-- | setup/rbuild_libs.rb | 27 | ||||
-rw-r--r-- | setup/sisu_version.rb | 6 |
4 files changed, 226 insertions, 66 deletions
diff --git a/setup/qi_libs.rb b/setup/qi_libs.rb index 331ed72e..80ccc8d8 100644 --- a/setup/qi_libs.rb +++ b/setup/qi_libs.rb @@ -138,7 +138,7 @@ module Utils end module Install #%% using a directory and its mapping - def self.setup_find_create(dir_get,dir_put,exclude_files=['']) #primary, + def self.setup_find_create(dir_get,dir_put,exclude_files=[''],act) #primary, begin Find.find("#{Project_details.dir.pwd}/#{dir_get}") do |f| stub=f.scan(/#{Project_details.dir.pwd}\/#{dir_get}\/(\S+)/).join @@ -146,13 +146,17 @@ module Install action=case when File.file?(f) unless f =~/#{exclude_files.inspect}/ - cp(f,place) - Utils.chmod_file(place) + unless act==:dryrun + cp(f,place) + Utils.chmod_file(place) + end "-> #{dir_put}/" end when File.directory?(f) - FileUtils.mkpath(place) \ - unless FileTest.directory?(place) + if not FileTest.directory?(place) \ + and not act==:dryrun + FileUtils.mkpath(place) + end "./#{dir_get}/" else '?' end @@ -162,18 +166,27 @@ module Install puts "\n\n[ are you root? required for install ]" end end - def self.setup_find_cp_r(dir_get,dir_put) #secondary, using recursive copy + def self.setup_find_cp_r(dir_get,dir_put,act) #secondary, using recursive copy begin Find.find("#{Project_details.dir.pwd}/#{dir_get}") do |f| stub=f.scan(/#{Project_details.dir.pwd}\/#{dir_get}\/(\S+)/).join place="#{dir_put}/#{stub}" case when File.file?(f) - cp_r(f,place) - Utils.chmod_util(place) + unless act==:dryrun + cp_r(f,place) + Utils.chmod_util(place) + else + puts "--> #{place}" + end when File.directory?(f) - mkdir(place) \ - unless FileTest.directory?(place) + unless FileTest.directory?(place) + unless act==:dryrun + mkdir(place) + else + puts "mkdir -p #{place}" + end + end end end rescue @@ -182,18 +195,21 @@ module Install end end module Version_info - def self.contents(vi) + def self.contents(vi,rel=:release) + release=if rel ==:pre_release then '_pre_rel' + else '' + end <<-WOK --- :project: #{vi[:project]} -:version: #{vi[:version]} +:version: #{vi[:version]}#{release} :date_stamp: #{vi[:date_stamp]} :date: "#{vi[:date]}" WOK end module Current def self.yml_file_path(version) - "data/sisu/#{version}/v/version.yml" + "data/sisu/version/#{version}.yml" end def self.settings(file) v="#{Dir.pwd}/#{file}" @@ -202,6 +218,12 @@ module Version_info else '' end end + def self.changelog_file_stable + 'data/doc/sisu/CHANGELOG_v5' + end + def self.changelog_file_unstable + 'data/doc/sisu/CHANGELOG_v6' + end def self.file_stable yml_file_path(SiSU_version_dir_stable) end @@ -209,10 +231,16 @@ module Version_info yml_file_path(SiSU_version_dir_unstable) end def self.setting_stable - settings(file_stable) + hsh=settings(file_stable) + hsh[:version_number]=/([0-9]+\.[0-9]+\.[0-9]+)/. + match(hsh[:version])[1] + hsh end def self.setting_unstable - settings(file_unstable) + hsh=settings(file_unstable) + hsh[:version_number]=/([0-9]+\.[0-9]+\.[0-9]+)/. + match(hsh[:version])[1] + hsh end def self.content_stable Version_info.contents(setting_stable) @@ -236,11 +264,11 @@ module Version_info def self.setting_unstable settings(SiSU_version_next_unstable) end - def self.content_stable - Version_info.contents(setting_stable) + def self.content_stable(rel) + Version_info.contents(setting_stable,rel) end - def self.content_unstable - Version_info.contents(setting_unstable) + def self.content_unstable(rel) + Version_info.contents(setting_unstable,rel) end end module Update @@ -250,7 +278,8 @@ module Version_info with: #{vi_hash_next.sort} -#{vi_content_current} becoming: +#{vi_content_current} +becoming: #{vi_content_next} proceed? } resp=Utils.answer?(ans) @@ -265,39 +294,168 @@ proceed? } end end end - def self.update_stable + def self.update_stable(rel=:release) version_info_update_commit( Version_info::Current.file_stable, Version_info::Current.setting_stable, Version_info::Current.content_stable, Version_info::Next.setting_stable, - Version_info::Next.content_stable + Version_info::Next.content_stable(rel), ) end - def self.update_unstable + def self.update_unstable(rel=:release) version_info_update_commit( Version_info::Current.file_unstable, Version_info::Current.setting_unstable, Version_info::Current.content_unstable, Version_info::Next.setting_unstable, - Version_info::Next.content_unstable + Version_info::Next.content_unstable(rel), ) end def self.changelog_header(vi) + vn=/([0-9]+\.[0-9]+\.[0-9]+)/.match(vi[:version])[1] <<-WOK -** #{vi[:version]}.orig.tar.xz (#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')}) -http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vi[:version]} -http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_#{vi[:version]}-1 -http://www.jus.uio.no/sisu/pkg/src/sisu_#{vi[:version]}.orig.tar.xz - sisu_#{vi[:version]}.orig.tar.xz - sisu_#{vi[:version]}-1.dsc +** #{vn}.orig.tar.xz (#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')}) +http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vn} +http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_#{vn}-1 +http://www.jus.uio.no/sisu/pkg/src/sisu_#{vn}.orig.tar.xz + sisu_#{vn}.orig.tar.xz + sisu_#{vn}-1.dsc WOK end + def self.changelog_header_release(filename,ch,vi) + ans=%{update #{Project_details.name.downcase} changelog header, open version: + + #{ch} +proceed? } + resp=Utils.answer?(ans) + if resp + fn="#{Dir.pwd}/#{filename}" + if File.writable?(fn) + changelog_arr_current = IO.readlines(fn) + changelog_arr_next=[] + changelog_arr_current.each do |line| + changelog_arr_next <<=if line =~/^\*\* [0-9]+\.[0-9]+\.[0-9]+(?:_pre_rel)?\.orig\.tar\.xz \(Open commit window: [0-9]{4}-[0-9]{2}-[0-9]{2}; Pre-Release\)\)$/ + "** #{vi[:version]}.orig.tar.xz " \ + + "(#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')})\n" + else line + end + end + if changelog_arr_current.length == changelog_arr_next.length + changelog_file=File.new(fn,'w+') + changelog_arr_next.flatten.each do |line| + changelog_file << line + end + changelog_file.close + else puts "expected changelog arrays to have same length, in: #{changelog_arr_current.length}, out: #{changelog_arr_next.length}" + end + else + puts %{*WARN* is the file or directory writable? could not create #{filename}} + end + end + end + def self.changelog_header_stable_filename + Version_info::Current.changelog_file_stable + end + def self.changelog_header_unstable_filename + Version_info::Current.changelog_file_unstable + end def self.changelog_header_stable - changelog_header(Version_info::Current.setting_stable) + ch=changelog_header(Version_info::Current.setting_stable) + changelog_header_release( + changelog_header_stable_filename, + ch, + Version_info::Current.setting_stable + ) end def self.changelog_header_unstable - changelog_header(Version_info::Current.setting_unstable) + ch=changelog_header(Version_info::Current.setting_unstable) + changelog_header_release( + changelog_header_unstable_filename, + ch, + Version_info::Current.setting_unstable + ) + end + def self.changelog_header_pre_release(vi) + vn=/([0-9]+\.[0-9]+\.[0-9]+)/.match(vi[:version])[1] + <<-WOK +** #{vn}.orig.tar.xz (Open commit window: #{vi[:date]}; Pre-Release)) +http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vn} +http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_#{vn}-1 +http://www.jus.uio.no/sisu/pkg/src/sisu_#{vn}.orig.tar.xz + sisu_#{vn}.orig.tar.xz + sisu_#{vn}-1.dsc + WOK + end + def self.changelog_header_pre_release_write(filename,ch) + ans=%{update #{Project_details.name.downcase} changelog header, open version: + + #{ch} +proceed? } + resp=Utils.answer?(ans) + if resp + fn="#{Dir.pwd}/#{filename}" + if File.writable?(fn) + changelog_arr_current = IO.readlines(fn) + changelog_arr_next=[] + changelog_arr_current.each do |line| + changelog_arr_next <<=if line =~/^--- HEAD ---$/ + line << ("\n" + ch) + else line + end + end + if changelog_arr_current.length == changelog_arr_next.length + changelog_file=File.new(fn,'w+') + changelog_arr_next.flatten.each do |line| + changelog_file << line + end + changelog_file.close + else puts "expected changelog arrays to have same length, in: #{changelog_arr_current.length}, out: #{changelog_arr_next.length}" + end + else + puts %{*WARN* is the file or directory writable? could not create #{filename}} + end + end + end + def self.changelog_header_stable_pre_release + ch=changelog_header_pre_release(Version_info::Current.setting_stable) + changelog_header_pre_release_write(changelog_header_stable_filename,ch) + end + def self.changelog_header_unstable_pre_release + ch=changelog_header_pre_release(Version_info::Current.setting_unstable) + changelog_header_pre_release_write(changelog_header_unstable_filename,ch) + end + def self.commit_changelog(rel=:release,msg) + system(%{ + git commit -a -m"#{msg}" + git commit --amend + }) + end + def self.tag_upstream + system(%{ + git tag -a sisu_#{SiSU_version_next_stable} -m"SiSU #{SiSU_version_next_stable}" + }) + end + def self.changelog_header_commit(rel=:release) + msg=(rel == :pre_release) \ + ? "version & changelog, open commit window" + : "version & changelog, tag for release" + ans=%{commit #{msg}:\n\nproceed? } + resp=Utils.answer?(ans) + if resp + commit_changelog(rel,msg) + end + end + def self.changelog_header_commit_tag_upstream(rel=:release) + msg=(rel == :pre_release) \ + ? "version & changelog, open commit window" + : "version & changelog, tag for release" + ans=%{commit #{msg}:\n\nproceed? } + resp=Utils.answer?(ans) + if resp + commit_changelog(rel,msg) + tag_upstream + end end end self @@ -359,7 +517,7 @@ module Gemspecs puts <<-WOK -- name: #{vi[:project].downcase} -version: #{vi[:version]} +version: #{vi[:version_number]} date: #{vi[:date]} summary: #{vi[:project]} WOK @@ -368,14 +526,14 @@ summary: #{vi[:project]} <<-WOK Gem::Specification.new do |s| s.name = '#{vi[:project].downcase}' - s.version = '#{vi[:version]}' + s.version = '#{vi[:version_number]}' s.date = '#{vi[:date]}' s.summary = '#{vi[:project]}' s.description = '#{Project_details.name} gem' s.authors = ["Ralph Amissah"] s.email = 'ralph.amissah@gmail.com' s.files = Dir['lib/#{Project_details.name.downcase}/#{version}/*.rb'] + - Dir['data/#{Project_details.name.downcase}/#{version}/v/version.yml'] + + Dir['data/#{Project_details.name.downcase}/version/#{version}.yml'] + Dir['data/#{Project_details.name.downcase}/image/*'] + Dir['bin/#{Project_details.name.downcase}gem'] + Dir['bin/#{Project_details.name.downcase}'] @@ -406,12 +564,12 @@ end def self.filename_stable Project_details.name.downcase \ + '-' \ - + Version_info::Current.setting_stable[:version] + + Version_info::Current.setting_stable[:version_number] end def self.filename_unstable Project_details.name.downcase \ + '-' \ - + Version_info::Current.setting_unstable[:version] + + Version_info::Current.setting_unstable[:version_number] end def self.info_stable Gemspecs.info(Version_info::Current.setting_stable) @@ -462,12 +620,12 @@ end def self.filename_stable Project_details.name.downcase \ + '-' \ - + Version_info::Next.setting_stable[:version] + + Version_info::Next.setting_stable[:version_number] end def self.filename_unstable Project_details.name.downcase \ + '-' \ - + Version_info::Next.setting_unstable[:version] + + Version_info::Next.setting_unstable[:version_number] end def self.setting_stable Gemspecs.contents( @@ -504,18 +662,17 @@ end module Package def self.sequence puts <<-WOK - --update-version # update package version + --open-version # update package version + --version-and-tag-for-release # git tags upstream version # not included: - # --tag # git tags upstream version - # --merge # git merge upstream tag into debian/sid - # --dch # dch create and edit - # --dch-commit # dch commit - # --build # git-buildpackage - # --git_push # git push changes - # --dput # dput package - # --reprepro_update # reprepro update - # --reprepro_push # reprepro rsync changes + # --merge # git merge upstream tag into debian/sid + # --dch # dch create and edit + # --dch-commit # dch commit + # --build # git-buildpackage + # --git_push # git push changes + # --dput # dput package + # --reprepro_update # reprepro update + # --reprepro_push # reprepro rsync changes WOK end end - diff --git a/setup/qi_libs_base.rb b/setup/qi_libs_base.rb index 982625e0..126811c8 100644 --- a/setup/qi_libs_base.rb +++ b/setup/qi_libs_base.rb @@ -142,7 +142,7 @@ module Version_info end module Current def self.yml_file_path(version) - "data/sisu/#{version}/v/version.yml" + "data/sisu/version/#{version}.yml" end def self.settings(file) v="#{Dir.pwd}/#{file}" diff --git a/setup/rbuild_libs.rb b/setup/rbuild_libs.rb index 9dc55bf7..b999704b 100644 --- a/setup/rbuild_libs.rb +++ b/setup/rbuild_libs.rb @@ -192,7 +192,7 @@ module Version_info end module Current def self.yml_file_path(version) - "data/sisu/#{version}/v/version.yml" + "data/sisu/version/#{version}.yml" end def self.settings(file) v="#{Dir.pwd}/#{file}" @@ -208,10 +208,16 @@ module Version_info yml_file_path(SiSU_version_dir_unstable) end def self.setting_stable - settings(file_stable) + hsh=settings(file_stable) + hsh[:version_number]=/([0-9]+\.[0-9]+\.[0-9]+)/. + match(hsh[:version])[1] + hsh end def self.setting_unstable - settings(file_unstable) + hsh=settings(file_unstable) + hsh[:version_number]=/([0-9]+\.[0-9]+\.[0-9]+)/. + match(hsh[:version])[1] + hsh end def self.content_stable Version_info.contents(setting_stable) @@ -373,7 +379,7 @@ module Gemspecs puts <<-WOK -- name: #{vi[:project].downcase} -version: #{vi[:version]} +version: #{vi[:version_number]} date: #{vi[:date]} summary: #{vi[:project]} WOK @@ -382,14 +388,14 @@ summary: #{vi[:project]} <<-WOK Gem::Specification.new do |s| s.name = '#{vi[:project].downcase}' - s.version = '#{vi[:version]}' + s.version = '#{vi[:version_number]}' s.date = '#{vi[:date]}' s.summary = '#{vi[:project]}' s.description = '#{Project_details.name} gem' s.authors = ["Ralph Amissah"] s.email = 'ralph.amissah@gmail.com' s.files = Dir['lib/#{Project_details.name.downcase}/#{version}/*.rb'] + - Dir['data/#{Project_details.name.downcase}/#{version}/v/version.yml'] + + Dir['data/#{Project_details.name.downcase}/#{version}/version.yml'] + Dir['data/#{Project_details.name.downcase}/image/*'] + Dir['bin/#{Project_details.name.downcase}gem'] + Dir['bin/#{Project_details.name.downcase}'] @@ -420,12 +426,12 @@ end def self.filename_stable Project_details.name.downcase \ + '-' \ - + Version_info::Current.setting_stable[:version] + + Version_info::Current.setting_stable[:version_number] end def self.filename_unstable Project_details.name.downcase \ + '-' \ - + Version_info::Current.setting_unstable[:version] + + Version_info::Current.setting_unstable[:version_number] end def self.info_stable Gemspecs.info(Version_info::Current.setting_stable) @@ -476,12 +482,12 @@ end def self.filename_stable Project_details.name.downcase \ + '-' \ - + Version_info::Next.setting_stable[:version] + + Version_info::Next.setting_stable[:version_number] end def self.filename_unstable Project_details.name.downcase \ + '-' \ - + Version_info::Next.setting_unstable[:version] + + Version_info::Next.setting_unstable[:version_number] end def self.setting_stable Gemspecs.contents( @@ -515,4 +521,3 @@ end end end end - diff --git a/setup/sisu_version.rb b/setup/sisu_version.rb index 572a8819..38216303 100644 --- a/setup/sisu_version.rb +++ b/setup/sisu_version.rb @@ -3,10 +3,8 @@ module SiSUversion SiSU_version_next_stable = '5.8.0' #% set version stable current SiSU_version_next_unstable = '6.4.0' #% set version unstable dev #% qi quick install file - SiSU_version_generic_next_stable = '5.4.x' - SiSU_version_generic_next_unstable = '6.0.x' - SiSU_version_dir_stable = 'v5' - SiSU_version_dir_unstable = 'v6' + SiSU_version_dir_stable = 'current' + SiSU_version_dir_unstable = 'develop' end module Dev GPGpubKey = '1BB4B289' |