diff options
| author | Ralph Amissah <ralph@amissah.com> | 2014-11-26 09:12:11 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2014-12-08 00:18:15 -0500 | 
| commit | 4db4dcc886b85bf9db43d66025452fb33c94a9dd (patch) | |
| tree | 71aab89128b7b7fd35c886e84808c1881a3bf191 /setup | |
| parent | v5 v6: code headers reformatted for viewing as org-mode files (diff) | |
c&d: project dir structure, libs moved under new branch names
* libs & version files under new branch names: current & develop
* previously under branch version numbers (v5|v6)
* version .yml files moved
* associated adjustments made as required, notably to:
  bin/sisu se* qi* (file headers); breakage potential, testing
  required
* [on dir names, want release to (alphabetically) precede
  next/development, considered (cur|dev)
  (current|(dev|development|progress|next)) (stable|unstable),
  alpha sorting fail (release|(next|develop))]
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'  | 
