aboutsummaryrefslogtreecommitdiffhomepage
path: root/setup
diff options
context:
space:
mode:
Diffstat (limited to 'setup')
-rw-r--r--setup/qi_libs.rb257
-rw-r--r--setup/qi_libs_base.rb2
-rw-r--r--setup/rbuild_libs.rb27
-rw-r--r--setup/sisu_version.rb6
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'