purplepkg 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/purple/debian.rb CHANGED
@@ -50,7 +50,7 @@ module Purple
50
50
 
51
51
  def deploy
52
52
  package_list = Dir.new(packagedir).to_a.reject{|s| s =~ /^\.{1,2}/}
53
- puts "DEBUG PurpleCabinet#deploy(debian.rb): #{package_list.inspect}"
53
+ puts "DEBUG PurpleCabinet#deploy(debian.rb): #{package_list.inspect}" if $DEBUG
54
54
  system "cd #{packagedir}; sudo dpkg -i #{package_list.collect{|s| '"'+s+'"'}.join(' ')}"
55
55
  end
56
56
  end
data/lib/purple/getter.rb CHANGED
@@ -3,7 +3,7 @@ require 'uri'
3
3
  module Purple
4
4
  module Getter
5
5
  def self.new url, destdir
6
- puts "DEBUG Getter##new: url=#{url}"
6
+ puts "DEBUG Getter##new: url=#{url}" if $DEBUG
7
7
  @uri = URI.parse url
8
8
  plugin = case @uri.scheme
9
9
  when /http|ftp/
@@ -11,7 +11,7 @@ module Purple
11
11
  def get
12
12
  @thread = Thread.new do
13
13
  filename = File.basename uri.path
14
- Open3.popen3 "wget --progress dot -O '#{@destdir}/#{filename}' #{@uri.to_s} 2>&1" do
14
+ Open3.popen3 "wget --passive-ftp --progress dot -O '#{@destdir}/#{filename}' #{@uri.to_s} 2>&1" do
15
15
  |pw, pr, pe|
16
16
  parse_input pw, pr, pe
17
17
  end
@@ -25,27 +25,26 @@ module Purple
25
25
  # wget specific methods
26
26
 
27
27
  def parse_input pw, pr, pe
28
- #puts "DEBUG Getter_wget#parse_input: Start"
28
+ puts "DEBUG Getter_wget#parse_input: Start" if $DEBUG
29
29
 
30
30
  loop do
31
31
  # Start line
32
32
  2.times { pr.gets }
33
33
 
34
34
  # Host lookup
35
- #puts "DEBUG Getter_wget#parse_input: Host lookup"
35
+ puts "DEBUG Getter_wget#parse_input: Host lookup" if $DEBUG
36
36
  line = pr.gets
37
- #puts "->#{line}"
37
+ puts "->#{line}" if $DEBUG
38
38
  if line =~ /failed:/
39
39
  @status = 'Host lookup failed'
40
40
  return
41
41
  end
42
42
 
43
43
  # Connecting
44
- #puts "DEBUG Getter_wget#parse_input: Connecting"
44
+ puts "DEBUG Getter_wget#parse_input: Connecting" if $DEBUG
45
45
  line = pr.gets
46
- #puts "->#{line}"
46
+ puts "->#{line}" if $DEBUG
47
47
  md = /^Connecting to (.*?)... (.*?)$/.match line
48
- #puts "DEBUG Getter_wget#parse_input: md[2]=#{md[2].inspect}"
49
48
 
50
49
  unless 'connected.' == md[2]
51
50
  @status = 'Connection failed'
@@ -53,41 +52,51 @@ module Purple
53
52
  end
54
53
 
55
54
  # Request
56
- #puts "DEBUG Getter_wget#parse_input: Sending request"
55
+ puts "DEBUG Getter_wget#parse_input: Sending request" if $DEBUG
57
56
  line = pr.gets
58
- #puts "->#{line}"
59
- md = /HTTP request sent, awaiting response... (.*)/.match line
60
- case md[1]
61
- when '200 OK'
62
- # Okay. Continue
63
- when /^3\d{2}/
64
- # Redirection
65
- pr.gets # Location line
66
- redo
67
- else
68
- @status = md[1]
69
- return
57
+ puts "->#{line}" if $DEBUG
58
+ case line
59
+ when /HTTP request sent, awaiting response\.\.\. (.*)/
60
+ case $1
61
+ when '200 OK'
62
+ # Okay. Continue
63
+ when /^3\d{2}/
64
+ # Redirection
65
+ pr.gets # Location line
66
+ redo
67
+ else
68
+ @status = $1
69
+ return
70
+ end
71
+ when /Logging in as anonymous \.\.\. (.*)/
72
+ case $1
73
+ when 'Logged in!'
74
+ # Okay. Go ahead.
75
+ else
76
+ @status = $1
77
+ return
78
+ end
70
79
  end
71
-
72
80
  break
73
81
  end
74
82
 
75
83
  # Content details
76
- line = pr.gets
77
- #puts "->#{line}"
78
- md = /Length: (.*?) \[(.*?)\]/.match line
79
- @length = md[1].gsub(',', '').to_i
80
- @content_type = md[2]
84
+ loop do
85
+ line = pr.gets
86
+ puts "->#{line}" if $DEBUG
87
+ break if line =~ /^Length: /
88
+ end
89
+ #@length = md[1].gsub(',', '').to_i
90
+ #@content_type = md[3]
81
91
 
82
92
  # Empty line
83
93
  pr.gets
84
94
 
85
95
  # Data incoming
86
96
  pr.each do |line|
87
- #puts "->#{line}"
97
+ puts "->#{line}" if $DEBUG
88
98
 
89
99
  md = / *([0-9]+)K[ \.]+([0-9]+)% +([0-9\.,]+ KB\/s)/.match line
90
- #puts (md ? "DEBUG #{md.to_a.inspect}" : "DEBUG nil")
91
100
  if md
92
101
  @done = md[2]
93
102
  @rate = md[3]
@@ -15,7 +15,7 @@ module Purple
15
15
  def makefilename
16
16
  return @makefilename if defined? @makefilename
17
17
  @makefilename = ['GNUmakefile', 'makefile', 'Makefile'].find do |name|
18
- puts "DEBUG MakefileMaven#makefilename: testing #{File.join(@srcdir, name)}"
18
+ puts "DEBUG MakefileMaven#makefilename: testing #{File.join(@srcdir, name)}" if $DEBUG
19
19
  FileTest.exist? File.join(@srcdir, name)
20
20
  end
21
21
  end
@@ -43,7 +43,7 @@ module Purple
43
43
  while files.size > 0
44
44
  filename = File.join(@srcdir, files.shift)
45
45
  if FileTest.exist? filename
46
- puts "DEBUG MakefileMaven#makefile_contents: loop->if"
46
+ puts "DEBUG MakefileMaven#makefile_contents: loop->if" if $DEBUG
47
47
  text = File.open(filename) { |f| f.read }
48
48
  @contents << text
49
49
  text.grep(/^include /).each do |s|
@@ -52,7 +52,7 @@ module Purple
52
52
  end
53
53
  end
54
54
  end
55
- puts "DEBUG MakefileMaven#makefile_contents: #{@contents.to_a.size} lines"
55
+ puts "DEBUG MakefileMaven#makefile_contents: #{@contents.to_a.size} lines" if $DEBUG
56
56
  @contents
57
57
  end
58
58
  end
@@ -11,7 +11,7 @@ module Purple
11
11
  def self.match_filename filename
12
12
  md = nil
13
13
  REGEXPS.find { |r| md = r.match filename }
14
- #puts "DEBUG Matches#match_filename: filename=#{filename.inspect} md=#{md.to_a.inspect}"
14
+ puts "DEBUG Matches#match_filename: filename=#{filename.inspect} md=#{md.to_a.inspect}" if $DEBUG
15
15
  raise 'filename does not match pattern' if not (md and not md.to_a[0..1].include? nil)
16
16
 
17
17
  { :name => md[1], :version => md[2] }
@@ -46,7 +46,7 @@ module Purple
46
46
  package_method :make
47
47
 
48
48
  def default_prepare
49
- puts "DEBUG PackageActions#default_prepare"
49
+ puts "DEBUG PackageActions#default_prepare" if $DEBUG
50
50
  files.each do |f|
51
51
  unpack = case f
52
52
  when /gz$/; '-z'
@@ -73,7 +73,7 @@ module Purple
73
73
 
74
74
  require 'purple/makefile'
75
75
 
76
- puts "DEBUG PackageActions#default_stage: srcdir=#{srcdir}"
76
+ puts "DEBUG PackageActions#default_stage: srcdir=#{srcdir}" if $DEBUG
77
77
  mkm = MakefileMaven.new srcdir
78
78
  if mkm.uses_prefix?
79
79
  if mkm.uses_destdir?
@@ -19,9 +19,9 @@ module Purple
19
19
  end
20
20
  Thread.new do
21
21
  begin
22
- #puts "DEBUG Purple::Process::Child#start: HERE"
22
+ #puts "DEBUG Purple::Process::Child#start: HERE" if $DEBUG
23
23
  @exit_code = Process.waitpid2(pid)[1].exitstatus
24
- #puts "DEBUG Purple::Process::Child#start: status=#{@exit_code}"
24
+ #puts "DEBUG Purple::Process::Child#start: status=#{@exit_code}" if $DEBUG
25
25
  ensure
26
26
  @status = :done
27
27
  end
data/lib/purple/script.rb CHANGED
@@ -45,7 +45,7 @@ module Purple
45
45
  def self.parse string
46
46
  script = self.new
47
47
  script.instance_eval string
48
- puts "DEBUG Purple::Script##parse: cabinet=#{script.cabinet}"
48
+ puts "DEBUG Purple::Script##parse: cabinet=#{script.cabinet}" if $DEBUG
49
49
  script.cabinet
50
50
  end
51
51
 
@@ -86,10 +86,9 @@ module Purple
86
86
 
87
87
  def infer_all
88
88
  @package_scripts.each { |pkg|
89
- puts "DEBUG PurpleScript#infer_all"
89
+ puts "DEBUG PurpleScript#infer_all" if $DEBUG
90
90
  pkg.infer
91
91
  }
92
- puts "DEBUG PurpleScript#infer_all: b4end"
93
92
  infer
94
93
  end
95
94
 
@@ -116,7 +115,7 @@ module Purple
116
115
  def initialize cabinet
117
116
  @package = cabinet.create_package
118
117
  @cabinet = cabinet
119
- puts "DEBUG PackageScript#initialize: @package=#{@package}"
118
+ puts "DEBUG PackageScript#initialize: @package=#{@package}" if $DEBUG
120
119
  end
121
120
 
122
121
  callthrough :long_name, :name, :identifier, :version, :major, :minor
@@ -131,12 +130,12 @@ module Purple
131
130
  end
132
131
 
133
132
  def infer
134
- puts "DEBUG #infer"
135
- puts "DEBUG PackageScript#infer: pkg=#{pkg}"
133
+ puts "DEBUG #infer" if $DEBUG
134
+ puts "DEBUG PackageScript#infer: pkg=#{pkg}" if $DEBUG
136
135
  # Take a guess at the filename
137
136
  if 0 == pkg.files.size
138
137
  files = @cabinet.files
139
- puts "DEBUG #infer: cabinet_files=#{files.inspect}"
138
+ puts "DEBUG #infer: cabinet_files=#{files.inspect}" if $DEBUG
140
139
  if 0 == files.size
141
140
  warn 'Cabinet files section is empty. Did you not specify any urls?'
142
141
  else
@@ -151,11 +150,11 @@ module Purple
151
150
  end
152
151
  end
153
152
 
154
- #puts "DEBUG #infer: pkg.files=#{pkg.files.inspect}"
155
- #puts "DEBUG #infer: long_name=#{pkg.long_name}"
153
+ puts "DEBUG #infer: pkg.files=#{pkg.files.inspect}" if $DEBUG
154
+ puts "DEBUG #infer: long_name=#{pkg.long_name}" if $DEBUG
156
155
  # Take a guess at properties long_name, name, version, major, and minor
157
156
  md = Matches.match_filename pkg.files[0]
158
- puts "DEBUG #infer: filename match result #{md.inspect}"
157
+ puts "DEBUG #infer: filename match result #{md.inspect}" if $DEBUG
159
158
 
160
159
  pkg.long_name = "#{md[:name]}-#{md[:version]}" if not pkg.long_name
161
160
  pkg.name = md[:name] if not pkg.name
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.1
3
3
  specification_version: 1
4
4
  name: purplepkg
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.4
7
- date: 2004-11-19
6
+ version: 0.0.5
7
+ date: 2004-11-23
8
8
  summary: A simple pre-packing tool with meta-package plugin support.
9
9
  require_paths:
10
10
  - lib