mizuho 0.9.19 → 0.9.20

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.tar.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJRgSgWAAoJECrHRaUKISqMkckH/1t5KU4rDgkQ1QmsRcdIMLTQ
6
- M3SAW5nABxs4lPT4iJL0YZmh19oJOcmFQRx/v2dYImv0/R8Q3LLs5gqFWG+Nwow9
7
- caW87HKLB51KIImXxYMc9rB3Gp6jB+VKgW8uVAdv5ENTaDf72ldJJFNZbzzHrD6F
8
- 6hpuDKhvbHeBIFawjdmYlKMZUACKqglCtXkxGxqhXp78IMrR+X31imAZTDj0TdXO
9
- qak10qS4OLHBLZtNYIpVj0m5lAD2uiX64/CgaolnbqIYXJLIgT0snUrueaRuPRaH
10
- ryM7sASE6WYeEdavInfjE98Q7h5qfVThT/bgmB8wMHhWBMfauB6M631ZWrxGuHE=
11
- =KT1Y
5
+ iQEcBAABAgAGBQJSqu2oAAoJECrHRaUKISqMn08H/39H2vkKwZBwTILuA5mgshAZ
6
+ VjSB4IhQcy+4pyXhRXuArO6363nJgWSWqAVuCFP2/x8rOf91ydnTF5PRRB0ONs1Q
7
+ D5BodSCZ6fya1aSexO4/kWTCJntO+SJ+x9fHdlyPJO6bhxm5N9lxxdvblwf+3T2A
8
+ PZE83Uqqimb/4OP6HqpNvDjpyWffUl6qjQbTRR6ppFexSmDroYWIU8F75a0Z2TF3
9
+ 6exS62o4ivDHboHz8ZfzZ05ZaWlEBWMYWWNvlCEfNjW2r2vYlavXjkjV8Gw4C/vl
10
+ bmsxzlRJQ5XMUPYHi0+8o4jci6AXm359cfbeBwEjAIzBAUU88E7VXbxaSoB3EmA=
11
+ =3qVe
12
12
  -----END PGP SIGNATURE-----
@@ -42,7 +42,7 @@ You can verify the authenticity of the gem by following [The Complete Guide to V
42
42
 
43
43
  Use our [PPA](https://launchpad.net/~phusion.nl/+archive/misc):
44
44
 
45
- sudo add-apt-repository ppa:user/ppa-name
45
+ sudo add-apt-repository ppa:phusion.nl/misc
46
46
  sudo apt-get update
47
47
  sudo apt-get install mizuho
48
48
 
@@ -50,12 +50,29 @@ Use our [PPA](https://launchpad.net/~phusion.nl/+archive/misc):
50
50
 
51
51
  Our Ubuntu Lucid packages are compatible with Debian 6.
52
52
 
53
- sudo sh -c 'echo deb http://ppa.launchpad.net/phusion.nl/misc/ubuntu lucid main > /etc/apt/sources.list.d/mizuho.list'
54
- sudo sh -c 'echo deb-src http://ppa.launchpad.net/phusion.nl/misc/ubuntu lucid main >> /etc/apt/sources.list.d/mizuho.list'
55
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C324F5BB38EEB5A0
53
+ sudo sh -c 'echo deb http://ppa.launchpad.net/phusion.nl/misc/ubuntu lucid main > /etc/apt/sources.list.d/phusion-misc.list'
54
+ sudo sh -c 'echo deb-src http://ppa.launchpad.net/phusion.nl/misc/ubuntu lucid main >> /etc/apt/sources.list.d/phusion-misc.list'
55
+ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2AC745A50A212A8C
56
56
  sudo apt-get update
57
57
  sudo apt-get install mizuho
58
58
 
59
+ ## Installation on RHEL, CentOS and Amazon Linux
60
+
61
+ 1. Enable EPEL: [RHEL](https://fedoraproject.org/wiki/EPEL), [CentOS](http://www.centosblog.com/enable-epel-repo-on-centos-5-and-centos-6/), [Amazon Linux](http://aws.amazon.com/amazon-linux-ami/faqs/#epel).
62
+ 2. Enable our YUM repository:
63
+
64
+ # RHEL 6, CentOS 6
65
+ curl -L https://oss-binaries.phusionpassenger.com/yumgems/phusion-misc/el.repo | \
66
+ sudo tee /etc/yum.repos.d/phusion-misc.repo
67
+
68
+ # Amazon Linux
69
+ curl -L https://oss-binaries.phusionpassenger.com/yumgems/phusion-misc/amazon.repo | \
70
+ sudo tee /etc/yum.repos.d/phusion-misc.repo
71
+
72
+ 3. Install our package:
73
+
74
+ sudo yum install rubygem-mizuho
75
+
59
76
  ## Usage
60
77
 
61
78
  First, read [the Asciidoc manual](http://www.methods.co.nz/asciidoc/userguide.html)
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ MAINTAINER_EMAIL = "hongli@phusion.nl"
9
9
 
10
10
  desc "Run unit tests"
11
11
  task :test do
12
- ruby "-S spec -f s -c test/*_spec.rb"
12
+ ruby "-Ilib -S rspec -f s -c test/*_spec.rb"
13
13
  end
14
14
 
15
15
  desc "Build, sign & upload gem"
@@ -51,13 +51,15 @@ end
51
51
 
52
52
  PKG_DIR = string_option('PKG_DIR', "pkg")
53
53
  DEBIAN_NAME = PACKAGE_NAME
54
- ALL_DISTRIBUTIONS = ["raring", "precise", "lucid"]
54
+ DEBIAN_PACKAGE_REVISION = 1
55
+ ALL_DISTRIBUTIONS = string_option('DEBIAN_DISTROS', 'saucy precise lucid').split(/[ ,]/)
55
56
  ORIG_TARBALL_FILES = lambda do
56
57
  require 'mizuho/packaging'
57
58
  Dir[*MIZUHO_FILES] - Dir[*MIZUHO_DEBIAN_EXCLUDE_FILES]
58
59
  end
59
60
 
60
- # Implements a simple preprocessor language:
61
+ # Implements a simple preprocessor language which combines elements in the C
62
+ # preprocessor with ERB:
61
63
  #
62
64
  # Today
63
65
  # #if @today == :fine
@@ -68,6 +70,7 @@ end
68
70
  # is a sad day.
69
71
  # #endif
70
72
  # Let's go walking.
73
+ # Today is <%= Time.now %>.
71
74
  #
72
75
  # When run with...
73
76
  #
@@ -78,6 +81,7 @@ end
78
81
  # Today
79
82
  # is a fine day.
80
83
  # Let's go walking.
84
+ # Today is 2013-08-11 22:37:06 +0200.
81
85
  #
82
86
  # Highlights:
83
87
  #
@@ -85,8 +89,10 @@ end
85
89
  # * Expressions are Ruby expressions, evaluated within the binding of a
86
90
  # Preprocessor::Evaluator object.
87
91
  # * Text inside #if/#elif/#else are automatically unindented.
92
+ # * ERB compatible.
88
93
  class Preprocessor
89
94
  def initialize
95
+ require 'erb' if !defined?(ERB)
90
96
  @indentation_size = 4
91
97
  @debug = boolean_option('DEBUG')
92
98
  end
@@ -100,10 +106,11 @@ class Preprocessor
100
106
  end
101
107
  the_binding = create_binding(variables)
102
108
  context = []
109
+ @filename = filename
103
110
  @lineno = 1
104
111
  @indentation = 0
105
112
 
106
- each_line(filename) do |line|
113
+ each_line(filename, the_binding) do |line|
107
114
  debug("context=#{context.inspect}, line=#{line.inspect}")
108
115
 
109
116
  name, args_string, cmd_indentation = recognize_command(line)
@@ -174,6 +181,8 @@ class Preprocessor
174
181
  else
175
182
  terminate "#endif is not allowed outside #if block"
176
183
  end
184
+ when "DEBHELPER"
185
+ output.puts(line)
177
186
  when "", nil
178
187
  # Either a comment or not a preprocessor command.
179
188
  case context.last
@@ -208,7 +217,18 @@ private
208
217
  "precise" => "12.04",
209
218
  "quantal" => "12.10",
210
219
  "raring" => "13.04",
211
- "saucy" => "13.10"
220
+ "saucy" => "13.10",
221
+ "trusty" => "14.04"
222
+ }
223
+ DEBIAN_DISTRIBUTIONS = {
224
+ "squeeze" => "20110206",
225
+ "wheezy" => "20130504"
226
+ }
227
+ REDHAT_ENTERPRISE_DISTRIBUTIONS = {
228
+ "el6" => "el6.0"
229
+ }
230
+ AMAZON_DISTRIBUTIONS = {
231
+ "amazon" => "amazon"
212
232
  }
213
233
 
214
234
  # Provides the DSL that's accessible within.
@@ -216,6 +236,12 @@ private
216
236
  def _infer_distro_table(name)
217
237
  if UBUNTU_DISTRIBUTIONS.has_key?(name)
218
238
  return UBUNTU_DISTRIBUTIONS
239
+ elsif DEBIAN_DISTRIBUTIONS.has_key?(name)
240
+ return DEBIAN_DISTRIBUTIONS
241
+ elsif REDHAT_ENTERPRISE_DISTRIBUTIONS.has_key?(name)
242
+ return REDHAT_ENTERPRISE_DISTRIBUTIONS
243
+ elsif AMAZON_DISTRIBUTIONS.has_key?(name)
244
+ return AMAZON_DISTRIBUTIONS
219
245
  end
220
246
  end
221
247
 
@@ -234,6 +260,7 @@ private
234
260
  table2 = _infer_distro_table(name)
235
261
  raise "Distribution name #{@distribution.inspect} not recognized" if !table1
236
262
  raise "Distribution name #{name.inspect} not recognized" if !table2
263
+ return false if table1 != table2
237
264
  v1 = table1[@distribution]
238
265
  v2 = table2[name]
239
266
 
@@ -257,16 +284,14 @@ private
257
284
  end
258
285
  end
259
286
 
260
- def each_line(filename)
261
- File.open(filename, 'r') do |f|
262
- while true
263
- begin
264
- line = f.readline.chomp
265
- rescue EOFError
266
- break
267
- end
268
- yield line
269
- end
287
+ def each_line(filename, the_binding)
288
+ data = File.open(filename, 'r') do |f|
289
+ erb = ERB.new(f.read, nil, "-")
290
+ erb.filename = filename
291
+ erb.result(the_binding)
292
+ end
293
+ data.each_line do |line|
294
+ yield line.chomp
270
295
  end
271
296
  end
272
297
 
@@ -274,7 +299,15 @@ private
274
299
  if line =~ /^([\s\t]*)#(.+)/
275
300
  indentation_str = $1
276
301
  command = $2
302
+
303
+ # Declare tabs as equivalent to 4 spaces. This is necessary for
304
+ # Makefiles in which the use of tabs is required.
305
+ indentation_str.gsub!("\t", " ")
306
+
277
307
  name = command.scan(/^\w+/).first
308
+ # Ignore shebangs and comments.
309
+ return if name.nil?
310
+
278
311
  args_string = command.sub(/^#{Regexp.escape(name)}[\s\t]*/, '')
279
312
  return [name, args_string, indentation_str.to_s.size]
280
313
  else
@@ -308,9 +341,24 @@ private
308
341
 
309
342
  def unindent(line)
310
343
  line =~ /^([\s\t]*)/
311
- found = $1.to_s.size
344
+ # Declare tabs as equivalent to 4 spaces. This is necessary for
345
+ # Makefiles in which the use of tabs is required.
346
+ found = $1.to_s.gsub("\t", " ").size
347
+
312
348
  if found >= @indentation
313
- return line[@indentation .. -1]
349
+ # Tab-friendly way to remove indentation.
350
+ remaining = @indentation
351
+ line = line.dup
352
+ while remaining > 0
353
+ if line[0..0] == " "
354
+ remaining -= 1
355
+ else
356
+ # This is a tab.
357
+ remaining -= 4
358
+ end
359
+ line.slice!(0, 1)
360
+ end
361
+ return line
314
362
  else
315
363
  terminate "wrong indentation: found #{found} characters, should be at least #{@indentation}"
316
364
  end
@@ -321,7 +369,7 @@ private
321
369
  end
322
370
 
323
371
  def terminate(message)
324
- abort "*** ERROR: line #{@lineno}: #{message}"
372
+ abort "*** ERROR: #{@filename} line #{@lineno}: #{message}"
325
373
  end
326
374
  end
327
375
 
@@ -364,7 +412,7 @@ def create_debian_package_dir(distribution)
364
412
  sh "mv #{root}/debian.template #{root}/debian"
365
413
  changelog = File.read("#{root}/debian/changelog")
366
414
  changelog =
367
- "#{DEBIAN_NAME} (#{PACKAGE_VERSION}-1~#{distribution}1) #{distribution}; urgency=low\n" +
415
+ "#{DEBIAN_NAME} (#{PACKAGE_VERSION}-#{DEBIAN_PACKAGE_REVISION}~#{distribution}1) #{distribution}; urgency=low\n" +
368
416
  "\n" +
369
417
  " * Package built.\n" +
370
418
  "\n" +
@@ -376,13 +424,14 @@ def create_debian_package_dir(distribution)
376
424
  end
377
425
 
378
426
  task 'debian:orig_tarball' do
379
- if File.exist?("#{PKG_DIR}/#{DEBIAN_NAME}.orig.tar.gz")
427
+ if File.exist?("#{PKG_DIR}/#{DEBIAN_NAME}_#{PACKAGE_VERSION}.orig.tar.gz")
380
428
  puts "Debian orig tarball #{PKG_DIR}/#{DEBIAN_NAME}_#{PACKAGE_VERSION}.orig.tar.gz already exists."
381
429
  else
382
430
  sh "rm -rf #{PKG_DIR}/#{DEBIAN_NAME}_#{PACKAGE_VERSION}"
383
431
  sh "mkdir -p #{PKG_DIR}/#{DEBIAN_NAME}_#{PACKAGE_VERSION}"
384
432
  recursive_copy_files(ORIG_TARBALL_FILES.call, "#{PKG_DIR}/#{DEBIAN_NAME}_#{PACKAGE_VERSION}")
385
- sh "cd #{PKG_DIR} && tar -c #{DEBIAN_NAME}_#{PACKAGE_VERSION} | gzip --best > #{DEBIAN_NAME}_#{PACKAGE_VERSION}.orig.tar.gz"
433
+ sh "cd #{PKG_DIR} && find #{DEBIAN_NAME}_#{PACKAGE_VERSION} -print0 | xargs -0 touch -d '2013-10-27 00:00:00 UTC'"
434
+ sh "cd #{PKG_DIR} && tar -c #{DEBIAN_NAME}_#{PACKAGE_VERSION} | gzip --no-name --best > #{DEBIAN_NAME}_#{PACKAGE_VERSION}.orig.tar.gz"
386
435
  end
387
436
  end
388
437
 
@@ -408,14 +457,24 @@ task 'debian:dev' do
408
457
  end
409
458
  end
410
459
 
411
- desc "Build Debian source packages to be uploaded to repositories"
412
- task 'debian:production' => 'debian:orig_tarball' do
460
+ desc "Build Debian source packages"
461
+ task 'debian:source_packages' => 'debian:orig_tarball' do
462
+ ALL_DISTRIBUTIONS.each do |distribution|
463
+ create_debian_package_dir(distribution)
464
+ end
465
+ ALL_DISTRIBUTIONS.each do |distribution|
466
+ sh "cd #{PKG_DIR}/#{distribution} && debuild -S -us -uc"
467
+ end
468
+ end
469
+
470
+ desc "Build Debian source packages to be uploaded to Launchpad"
471
+ task 'debian:launchpad' => 'debian:orig_tarball' do
413
472
  ALL_DISTRIBUTIONS.each do |distribution|
414
473
  create_debian_package_dir(distribution)
415
474
  sh "cd #{PKG_DIR}/#{distribution} && dpkg-checkbuilddeps"
416
475
  end
417
476
  ALL_DISTRIBUTIONS.each do |distribution|
418
- sh "cd #{PKG_DIR}/#{distribution} && debuild -S -k#{PACKAGE_SIGNING_KEY}"
477
+ sh "cd #{PKG_DIR}/#{distribution} && debuild -S -sa -k#{PACKAGE_SIGNING_KEY}"
419
478
  end
420
479
  end
421
480
 
@@ -429,3 +488,93 @@ task 'debian:clean' do
429
488
  end
430
489
  sh "rm -rf #{PKG_DIR}/*.debian.tar.gz"
431
490
  end
491
+
492
+
493
+ ##### RPM packaging support #####
494
+
495
+ RPM_NAME = "rubygem-mizuho"
496
+ RPMBUILD_ROOT = File.expand_path("~/rpmbuild")
497
+ MOCK_OFFLINE = boolean_option('MOCK_OFFLINE', false)
498
+ ALL_RPM_DISTROS = {
499
+ "el6" => { :mock_chroot_name => "epel-6", :distro_name => "Enterprise Linux 6" },
500
+ "amazon" => { :mock_chroot_name => "epel-6", :distro_name => "Amazon Linux" }
501
+ }
502
+
503
+ desc "Build gem for use in RPM building"
504
+ task 'rpm:gem' do
505
+ rpm_source_dir = "#{RPMBUILD_ROOT}/SOURCES"
506
+ sh "gem build #{PACKAGE_NAME}.gemspec"
507
+ sh "cp #{PACKAGE_NAME}-#{PACKAGE_VERSION}.gem #{rpm_source_dir}/"
508
+ end
509
+
510
+ desc "Build RPM for local machine"
511
+ task 'rpm:local' => 'rpm:gem' do
512
+ distro_id = `./rpm/get_distro_id.py`.strip
513
+ rpm_spec_dir = "#{RPMBUILD_ROOT}/SPECS"
514
+ spec_target_dir = "#{rpm_spec_dir}/#{distro_id}"
515
+ spec_target_file = "#{spec_target_dir}/#{RPM_NAME}.spec"
516
+
517
+ sh "mkdir -p #{spec_target_dir}"
518
+ puts "Generating #{spec_target_file}"
519
+ Preprocessor.new.start("rpm/#{RPM_NAME}.spec.template",
520
+ spec_target_file,
521
+ :distribution => distro_id)
522
+
523
+ sh "rpmbuild -ba #{spec_target_file}"
524
+ end
525
+
526
+ def create_rpm_build_task(distro_id, mock_chroot_name, distro_name)
527
+ desc "Build RPM for #{distro_name}"
528
+ task "rpm:#{distro_id}" => 'rpm:gem' do
529
+ rpm_spec_dir = "#{RPMBUILD_ROOT}/SPECS"
530
+ spec_target_dir = "#{rpm_spec_dir}/#{distro_id}"
531
+ spec_target_file = "#{spec_target_dir}/#{RPM_NAME}.spec"
532
+ maybe_offline = MOCK_OFFLINE ? "--offline" : nil
533
+
534
+ sh "mkdir -p #{spec_target_dir}"
535
+ puts "Generating #{spec_target_file}"
536
+ Preprocessor.new.start("rpm/#{RPM_NAME}.spec.template",
537
+ spec_target_file,
538
+ :distribution => distro_id)
539
+
540
+ sh "rpmbuild -bs #{spec_target_file}"
541
+ sh "mock --verbose #{maybe_offline} " +
542
+ "-r #{mock_chroot_name}-x86_64 " +
543
+ "--resultdir '#{PKG_DIR}/#{distro_id}' " +
544
+ "rebuild #{RPMBUILD_ROOT}/SRPMS/#{RPM_NAME}-#{PACKAGE_VERSION}-1#{distro_id}.src.rpm"
545
+ end
546
+ end
547
+
548
+ ALL_RPM_DISTROS.each_pair do |distro_id, info|
549
+ create_rpm_build_task(distro_id, info[:mock_chroot_name], info[:distro_name])
550
+ end
551
+
552
+ desc "Build RPMs for all distributions"
553
+ task "rpm:all" => ALL_RPM_DISTROS.keys.map { |x| "rpm:#{x}" }
554
+
555
+ desc "Publish RPMs for all distributions"
556
+ task "rpm:publish" do
557
+ server = "juvia-helper.phusion.nl"
558
+ remote_dir = "/srv/oss_binaries_passenger/yumgems/phusion-misc"
559
+ rsync = "rsync -z -r --delete --progress"
560
+
561
+ ALL_RPM_DISTROS.each_key do |distro_id|
562
+ if !File.exist?("#{PKG_DIR}/#{distro_id}")
563
+ abort "No packages built for #{distro_id}. Please run 'rake rpm:all' first."
564
+ end
565
+ end
566
+ ALL_RPM_DISTROS.each_key do |distro_id|
567
+ sh "rpm --resign --define '%_signature gpg' --define '%_gpg_name #{PACKAGE_SIGNING_KEY}' #{PKG_DIR}/#{distro_id}/*.rpm"
568
+ end
569
+ sh "#{rsync} #{server}:#{remote_dir}/latest/ #{PKG_DIR}/yumgems/"
570
+ ALL_RPM_DISTROS.each_key do |distro_id|
571
+ distro_dir = "#{PKG_DIR}/#{distro_id}"
572
+ repo_dir = "#{PKG_DIR}/yumgems/#{distro_id}"
573
+ sh "mkdir -p #{repo_dir}"
574
+ sh "cp #{distro_dir}/#{RPM_NAME}*.rpm #{repo_dir}/"
575
+ sh "createrepo #{repo_dir}"
576
+ end
577
+ sh "ssh #{server} 'rm -rf #{remote_dir}/new && cp -dpR #{remote_dir}/latest #{remote_dir}/new'"
578
+ sh "#{rsync} #{PKG_DIR}/yumgems/ #{server}:#{remote_dir}/new/"
579
+ sh "ssh #{server} 'rm -rf #{remote_dir}/previous && mv #{remote_dir}/latest #{remote_dir}/previous && mv #{remote_dir}/new #{remote_dir}/latest'"
580
+ end
@@ -2,21 +2,22 @@ Source: mizuho
2
2
  Section: text
3
3
  Priority: extra
4
4
  Maintainer: Hongli Lai <hongli@phusion.nl>
5
- Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.2.0~), sed (>= 1.0.0)
5
+ Build-Depends: debhelper (>= 7.0.50~), sed (>= 1.0.0)
6
6
  Standards-Version: 3.9.3
7
7
  Homepage: https://github.com/FooBarWidget/mizuho
8
8
  Vcs-Git: git://github.com/FooBarWidget/mizuho.git
9
9
  Vcs-Browser: https://github.com/FooBarWidget/mizuho
10
- XS-Ruby-Versions: all
11
10
 
12
11
  Package: mizuho
13
12
  Architecture: all
14
- XB-Ruby-Versions: ${ruby:Versions}
15
13
  #if is_distribution?('>= precise')
16
- Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter, ruby-nokogiri (>= 1.4.0), source-highlight, asciidoc (>= 8.6.0)
14
+ Depends: ${shlibs:Depends}, ${misc:Depends}, ruby2.0 | ruby1.9.1 | ruby1.8 | ruby-interpreter, ruby-nokogiri (>= 1.4.0), source-highlight, asciidoc (>= 8.6.0)
17
15
  #else
18
- Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter, libnokogiri-ruby (>= 1.4.0), source-highlight
16
+ Depends: ${shlibs:Depends}, ${misc:Depends}, ruby, libnokogiri-ruby (>= 1.4.0), python, source-highlight
19
17
  #endif
18
+ Breaks: ruby-mizuho
19
+ Replaces: ruby-mizuho
20
+ Provides: ruby-mizuho
20
21
  Description: Documentation formatting tool
21
22
  Converts Asciidoc input files into nicely
22
23
  outputted HTML, possibly one file per chapter.
@@ -1,3 +1,5 @@
1
+ bin/* usr/bin/
2
+ lib/* usr/lib/ruby/vendor_ruby/
1
3
  templates/* usr/share/mizuho/templates
2
4
  #if is_distribution?('< precise')
3
5
  asciidoc/* usr/share/mizuho/asciidoc
@@ -0,0 +1,14 @@
1
+ #!/bin/sh
2
+ if test -e /usr/bin/ruby; then
3
+ exec /usr/bin/ruby "$@"
4
+ elif test -e /usr/bin/ruby2.0; then
5
+ exec /usr/bin/ruby2.0 "$@"
6
+ elif test -e /usr/bin/ruby1.9.3; then
7
+ exec /usr/bin/ruby1.9.3 "$@"
8
+ elif test -e /usr/bin/ruby1.9.1; then
9
+ exec /usr/bin/ruby1.9.1 "$@"
10
+ elif test -e /usr/bin/ruby1.8; then
11
+ exec /usr/bin/ruby1.8 "$@"
12
+ else
13
+ exec ruby "$@"
14
+ fi
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/make -f
2
+ export DH_VERBOSE=1
3
+
4
+ %:
5
+ dh $@
6
+
7
+ override_dh_auto_configure:
8
+ # Do nothing
9
+
10
+ override_dh_auto_build:
11
+ # Do nothing
12
+
13
+ override_dh_install:
14
+ dh_install
15
+ sed -i 's/NATIVELY_PACKAGED = .*/NATIVELY_PACKAGED = true/' debian/mizuho/usr/lib/ruby/vendor_ruby/mizuho.rb
16
+ #if is_distribution?(">= precise")
17
+ cp debian/ruby-interpreter debian/mizuho/usr/share/mizuho/
18
+ sed -i 's/\/usr\/bin\/env ruby/\/usr\/share\/mizuho\/ruby-interpreter/' debian/mizuho/usr/bin/mizuho
19
+ sed -i 's/\/usr\/bin\/env ruby/\/usr\/share\/mizuho\/ruby-interpreter/' debian/mizuho/usr/bin/mizuho-asciidoc
20
+ #else
21
+ sed -i 's/\/usr\/bin\/env ruby/\/usr\/bin\/ruby/' debian/mizuho/usr/bin/mizuho
22
+ sed -i 's/\/usr\/bin\/env ruby/\/usr\/bin\/ruby/' debian/mizuho/usr/bin/mizuho-asciidoc
23
+ #endif
24
+
25
+ override_dh_auto_clean:
26
+ # Do nothing
@@ -19,7 +19,7 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Mizuho
22
- VERSION_STRING = "0.9.19"
22
+ VERSION_STRING = "0.9.20"
23
23
  NATIVELY_PACKAGED = false
24
24
 
25
25
  if NATIVELY_PACKAGED
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  # Extracted from https://github.com/kiyoka/fuzzy-string-match
2
3
 
3
4
  #
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  # Copyright (c) 2008-2013 Hongli Lai
2
3
  #
3
4
  # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  # Copyright (c) 2011-2013 Hongli Lai
2
3
  #
3
4
  # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -244,7 +245,7 @@ private
244
245
  # digits from left to right.
245
246
  digit_match_index = 0
246
247
  while matches.size > 1
247
- orig_digit = orig_chapter_digits[digit_match_index]
248
+ orig_digit = orig_chapter_digits[digit_match_index] || 1
248
249
 
249
250
  # Find closest digit in all matches.
250
251
  tmp = matches.min do |a, b|
@@ -19,10 +19,11 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  MIZUHO_FILES = [
22
- "README.markdown", "LICENSE.txt", "Rakefile",
22
+ "README.markdown", "LICENSE.txt", "Rakefile", "mizuho.gemspec",
23
23
  "bin/*",
24
24
  "lib/**/*",
25
25
  "debian.template/**/*",
26
+ "rpm/**/*",
26
27
  "test/*",
27
28
  "templates/*",
28
29
  "asciidoc/**/*",
@@ -32,5 +33,6 @@ MIZUHO_FILES = [
32
33
  MIZUHO_DEBIAN_EXCLUDE_FILES = [
33
34
  "Rakefile",
34
35
  "debian.template/**/*",
36
+ "rpm/**/*",
35
37
  "source-highlight/**/*",
36
38
  ]
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  # Copyright (c) 2013 Hongli Lai
2
3
  #
3
4
  # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -0,0 +1,17 @@
1
+ require File.expand_path('lib/mizuho')
2
+ require File.expand_path('lib/mizuho/packaging')
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "mizuho"
6
+ s.version = Mizuho::VERSION_STRING
7
+ s.summary = "Mizuho documentation formatting tool"
8
+ s.email = "software-signing@phusion.nl"
9
+ s.homepage = "https://github.com/FooBarWidget/mizuho"
10
+ s.description = "A documentation formatting tool. Mizuho converts Asciidoc input files into nicely outputted HTML, possibly one file per chapter. Multiple templates are supported, so you can write your own."
11
+ s.executables = ["mizuho", "mizuho-asciidoc"]
12
+ s.license = "MIT"
13
+ s.authors = ["Hongli Lai"]
14
+ s.add_dependency("nokogiri", ">= 1.4.0")
15
+ s.add_dependency("sqlite3")
16
+ s.files = Dir[*MIZUHO_FILES]
17
+ end
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env python
2
+ vars = { 'config_opts': {} }
3
+ execfile("/etc/mock/default.cfg", vars)
4
+ print(vars['config_opts']['dist'])
@@ -0,0 +1,123 @@
1
+ %global gem_name mizuho
2
+ %global gem_version <%= PACKAGE_VERSION %>
3
+
4
+ %if 0%{?fc18}
5
+ %global rubyabi 1.9.1
6
+ %endif
7
+
8
+ %if 0%{?el6}
9
+ %global rubyabi 1.8
10
+ %endif
11
+
12
+ Name: rubygem-%{gem_name}
13
+ Version: %{gem_version}
14
+ Release: 1<%= @distribution %>
15
+ Summary: Documentation formatting tool
16
+ License: MIT
17
+ Group: Applications/Text
18
+ URL: https://github.com/FooBarWidget/mizuho
19
+ Source0: https://rubygems.org/gems/%{gem_name}-%{gem_version}.gem
20
+
21
+ %if 0%{?fedora} >= 19
22
+ Requires: ruby(release)
23
+ %else
24
+ Requires: ruby(abi) = %{rubyabi}
25
+ %endif
26
+ Requires: ruby(rubygems)
27
+ Requires: rubygem-nokogiri
28
+ Requires: rubygem-sqlite3-ruby
29
+ Requires: python
30
+ Requires: source-highlight
31
+
32
+ %if 0%{?fedora} >= 19
33
+ BuildRequires: ruby(release)
34
+ %else
35
+ BuildRequires: ruby(abi) = %{rubyabi}
36
+ %endif
37
+ %if 0%{?el6}
38
+ BuildRequires: ruby(rubygems)
39
+ %else
40
+ BuildRequires: rubygems-devel
41
+ %endif
42
+ BuildRequires: rubygem-nokogiri
43
+ BuildRequires: rubygem-sqlite3-ruby
44
+
45
+ BuildArch: noarch
46
+ Provides: rubygem(%{gem_name}) = %{gem_version}-%{release}
47
+
48
+ # macros for RHEL6 compatibility:
49
+ %{!?gem_dir: %global gem_dir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)}
50
+ %{!?gem_instdir: %global gem_instdir %{gem_dir}/gems/%{gem_name}-%{gem_version}}
51
+ %{!?gem_libdir: %global gem_libdir %{gem_instdir}/lib}
52
+ %{!?gem_cache: %global gem_cache %{gem_dir}/cache/%{gem_name}-%{gem_version}.gem}
53
+ %{!?gem_spec: %global gem_spec %{gem_dir}/specifications/%{gem_name}-%{gem_version}.gemspec}
54
+ %{!?gem_docdir: %global gem_docdir %{gem_dir}/doc/%{gem_name}-%{gem_version}}
55
+ %{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitearchdir"]')}
56
+
57
+
58
+ %description
59
+ Converts Asciidoc input files into nicely outputted HTML, possibly one file per chapter.
60
+
61
+ %prep
62
+ %setup -q -c -T
63
+
64
+ %build
65
+ %if 0%{?el6}
66
+ mkdir -p .%{gem_dir}
67
+ gem install \
68
+ --local \
69
+ --install-dir .%{gem_dir} \
70
+ --bindir .%{_bindir} \
71
+ --no-rdoc --no-ri \
72
+ --force \
73
+ --backtrace \
74
+ %{SOURCE0}
75
+ %else
76
+ %gem_install -n %{SOURCE0} --no-rdoc --no-ri
77
+ %endif
78
+
79
+ %install
80
+ rm -rf %{buildroot}
81
+ mkdir -p %{buildroot}%{gem_dir}
82
+ cp -a .%{_prefix}/* %{buildroot}%{_prefix}/
83
+ #if is_distribution?(">= amazon")
84
+ # On Amazon Linux, 'ruby' is a symlink that can point to multiple alternatives.
85
+ # Lock down to the default Ruby, 1.8.
86
+ sed -i 's|/usr/bin/ruby$|/usr/bin/ruby1.8|' %{buildroot}%{_bindir}/mizuho
87
+ sed -i 's|/usr/bin/ruby$|/usr/bin/ruby1.8|' %{buildroot}%{_bindir}/mizuho-asciidoc
88
+ #endif
89
+ # RHEL 5 provides the sqlite3-ruby gem but not the sqlite3 gem, so
90
+ # we modify the spec to depend on sqlite3-ruby instead.
91
+ sed -i 's/sqlite3/sqlite3-ruby/' %{buildroot}%{gem_spec}
92
+
93
+ %check
94
+ pushd %{buildroot}%{gem_instdir}
95
+ ruby -Ilib ./bin/mizuho --help > /dev/null
96
+ popd
97
+
98
+ %clean
99
+ rm -rf %{buildroot}
100
+
101
+ %files
102
+ %defattr(-,root,root,-)
103
+ %{_bindir}/mizuho
104
+ %{_bindir}/mizuho-asciidoc
105
+ %dir %{gem_instdir}
106
+ %doc %{gem_instdir}/LICENSE.txt
107
+ %doc %{gem_instdir}/README.markdown
108
+ %{gem_instdir}/mizuho.gemspec
109
+ %{gem_instdir}/bin
110
+ %{gem_instdir}/asciidoc
111
+ %{gem_instdir}/test
112
+ %{gem_instdir}/templates
113
+ %{gem_libdir}
114
+ %exclude %{gem_instdir}/Rakefile
115
+ %exclude %{gem_instdir}/debian.template
116
+ %exclude %{gem_instdir}/rpm
117
+ %exclude %{gem_instdir}/source-highlight
118
+ %exclude %{gem_cache}
119
+ %{gem_spec}
120
+
121
+ %changelog
122
+ * Wed Dec 11 2013 Hongli Lai <hongli@phusion.nl> - 0.9.19-1<%= @distribution %>
123
+ - Initial packaging
@@ -1,7 +1,7 @@
1
1
  <div id="topbar" style="display: none">
2
2
  <div class="title">
3
- <img src="{INLINE_IMAGE:arrow-up.png}" width="11" height="10" alt="">
4
- <a href="javascript:void(Mizuho.smoothlyScrollToToc())">{TITLE}</a>
3
+ <!-- Don't put a space between the img and a. That will break the hover layout. -->
4
+ <img src="{INLINE_IMAGE:arrow-up.png}" width="11" height="10" alt=""><a href="javascript:void(Mizuho.smoothlyScrollToToc())">{TITLE}</a>
5
5
  </div>
6
6
  <a href="javascript:void(0)" id="current_section"></a>
7
7
  </div>
@@ -90,6 +90,15 @@ describe IdMap do
90
90
  @entry2.should_not be_fuzzy
91
91
  @entry3.should_not be_fuzzy
92
92
  end
93
+
94
+ specify "bug fix" do
95
+ @id_map = IdMap.new
96
+ @entry1 = @id_map.add("2.9.3. Environment variables and sudo", nil, false, false)
97
+ @entry2 = @id_map.add("2.9.8. Environment variables and sudo", nil, false, false)
98
+ @id_map.generate_associations(["14.5. Environment variables and sudo"])
99
+ @id1 = @id_map.associations["14.5. Environment variables and sudo"]
100
+ @id1.should == @entry1.id
101
+ end
93
102
  end
94
103
 
95
104
  describe "if one or more similar titles exist in the map" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mizuho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.19
4
+ version: 0.9.20
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-01 00:00:00.000000000 Z
12
+ date: 2013-12-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -56,6 +56,7 @@ files:
56
56
  - README.markdown
57
57
  - LICENSE.txt
58
58
  - Rakefile
59
+ - mizuho.gemspec
59
60
  - bin/mizuho
60
61
  - bin/mizuho-asciidoc
61
62
  - lib/mizuho/fuzzystringmatch.rb
@@ -70,8 +71,11 @@ files:
70
71
  - debian.template/control.template
71
72
  - debian.template/copyright
72
73
  - debian.template/mizuho.install.template
73
- - debian.template/rules
74
+ - debian.template/ruby-interpreter
75
+ - debian.template/rules.template
74
76
  - debian.template/source/format
77
+ - rpm/get_distro_id.py
78
+ - rpm/rubygem-mizuho.spec.template
75
79
  - test/generator_spec.rb
76
80
  - test/id_map_spec.rb
77
81
  - test/parser_spec.rb
@@ -417,7 +421,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
417
421
  version: '0'
418
422
  requirements: []
419
423
  rubyforge_project:
420
- rubygems_version: 1.8.25
424
+ rubygems_version: 1.8.23
421
425
  signing_key:
422
426
  specification_version: 3
423
427
  summary: Mizuho documentation formatting tool
metadata.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJRgSgWAAoJECrHRaUKISqM0KoIALYyey+TmESUUVaI4bANXCmv
6
- 8IEOPmzmzLgddEbEE+4Sgm9neu9lBPCTLTIJQCNxcET2CkmfvhcqCYpWj6ewQIPS
7
- W49y/TF5iMCeLrbtyehCivE7/IatPKZ5Q+hmcQzb/9k3Vq+Pvxr8KIFrDgaKM8eB
8
- prQw+g5TBEok4H0Sp0YwkKT3utx4Oj9XpvdlpXzFUlL7sYGylbKeJWGfr8uK/jxC
9
- XIJzkTiWHRf7fbKEHVn5Wvka4DgLXGqNZiVgPb4/5MZykGQMqrPgdvVmVRb7DCW4
10
- Xsqk0j0qfaxRVWgEs1rdOwwMtzFpmJ+OkDA9XrIoDHCDyCnFZlao7UjCJC6bwCc=
11
- =i2ql
5
+ iQEcBAABAgAGBQJSqu2oAAoJECrHRaUKISqM6cwH/3X4yv8+B/ABzJ1/jviSqlYL
6
+ DkpVvFUb8i5UDFwhDZKqwxc6Dw92ZLq5FPrm5rpcKmw8XklIqYPqsPIm61Wyz7Hm
7
+ +f3X362IWXGGnr1wHS4buuK9erGLgWICUTbBQeom3Ch1kI3/AJcc2RuZa0ijRMGh
8
+ EqxjqYH1SRTthaTcagRjCLqMoZOQni8/5BfmV6q3k/XcM9M/Jnz/uN+do2qiGoc0
9
+ Kg3E1qbw83gcI7ARxo4PiPFhXhU+XNEH7jcZSb51FHG+xFazSnUkH8b9EZ+50VV/
10
+ HK7aaaQBp4ysoRoGJD4aoCd4Jcf8nKdCH6XhxVUB4LHubRD67BIXEDqagnASpDA=
11
+ =COPA
12
12
  -----END PGP SIGNATURE-----
@@ -1,10 +0,0 @@
1
- #!/usr/bin/make -f
2
- export DH_VERBOSE=1
3
-
4
- %:
5
- dh $@ --buildsystem=ruby
6
-
7
- override_dh_install:
8
- dh_install
9
- sed -i 's/NATIVELY_PACKAGED = .*/NATIVELY_PACKAGED = true/' debian/mizuho/usr/lib/ruby/vendor_ruby/mizuho.rb
10
- sed -i 's/\/usr\/bin\/env ruby/\/usr\/bin\/ruby/' debian/mizuho/usr/bin/mizuho