Bug#690309: release.debian.org: unblock: rttool 1.0.3.0-3
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Hi,
Please unblock rttool.
Current rttool (= 1.0.3-2) in Wheezy depends ruby1.8 only. Thus this
cause problem for upgrade Squeeze to Wheezy (and maybe Wheezy+1 because
ruby1.8 will be dropped). The rttool (= 1.0.3.0-3) in unstable is
already take care of above problems.
I attached debdiff output. It seems bit large diffs, because
1) change upstream from (unreachable) upstream url to RubyGems.org.
2) change packaging tool from ruby-pkg-tools to gem2deb
3) update debian/changelog to new copyright format
Again change's seems bit large, but main difference are not small, and
I think "gem2deb" integration provides better integration for users.
Please unblock it.
Best Wishes,
Youhei
---
Youhei SASAKI <uwabami@gfd-dennou.org>
<uwabami@debian.or.jp>
GPG fingerprint:
4096/RSA: 66A4 EA70 4FE2 4055 8D6A C2E6 9394 F354 891D 7E07
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (80, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru rttool-1.0.3/bin/PATHCONV rttool-1.0.3.0/bin/PATHCONV
--- rttool-1.0.3/bin/PATHCONV 2009-07-25 16:04:27.000000000 +0900
+++ rttool-1.0.3.0/bin/PATHCONV 1970-01-01 09:00:00.000000000 +0900
@@ -1 +0,0 @@
-rt rt .
diff -Nru rttool-1.0.3/bin/rdrt2 rttool-1.0.3.0/bin/rdrt2
--- rttool-1.0.3/bin/rdrt2 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/bin/rdrt2 2012-06-11 18:31:53.000000000 +0900
@@ -0,0 +1,2 @@
+#!/usr/bin/env ruby
+exec "rd2", "-r", "rd/rt-filter", "--with-part=RT:rt", *ARGV
diff -Nru rttool-1.0.3/bin/rt2 rttool-1.0.3.0/bin/rt2
--- rttool-1.0.3/bin/rt2 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/bin/rt2 2012-06-11 18:31:53.000000000 +0900
@@ -0,0 +1,163 @@
+#! /usr/bin/env ruby
+=begin
+= NAME
+rt2 - converter from RT to other mark-up language.
+$Id: rt2 1532 2009-01-24 16:04:36Z rubikitch $
+= SYNOPSIS
+ rt2 [-r <visitor>] [options] <file>
+
+= DESCRIPTION
+rt2 inputs from ((|<file>|)) and outputs in (({STDOUT})). you can
+choose ((|<visitor>|)) to select output format. For example, use
+"rt/rt2html-lib.rb" to turn it into HTML.
+
+= OPTIONS
+please check the output of
+ % rt2 --help
+and
+ % rt2 -r rt/rt2html-lib.rb --help
+
+= FILES
+ * ~/.rt2rc - User configuration file.
+
+= SEE ALSO
+ruby(1)
+=end
+
+require "kconv"
+require "optparse"
+require "rt/rtparser"
+
+def Kconv.name2const(name)
+ case name
+ when "iso-2022-jp"
+ Kconv::JIS
+ when "euc-jp"
+ Kconv::EUC
+ when "shift_jis"
+ Kconv::SJIS
+ end
+end
+
+include RT
+
+# global vars
+$Visitor = nil
+$RT2_Sub_OptionParser = nil
+
+# local vars
+include_path = []
+with_part = []
+output_file = nil
+output_index = nil
+out_code = nil
+from_rto = nil
+
+# user option
+$DEFAULT_FORMAT_LIB = "rt/rt2txt-lib"
+$RC = {}
+
+
+# initialize OptionParser
+ARGV.options = OptionParser.new("Usage: #{$0} [options] rt-file > output\n") do
+ |q|
+ q.version = "1.0.3"
+ q.on_head("global options:")
+
+ q.on("-rLIB", "--require=LIB",
+ String,
+ "choose format library.") do |i|
+ # require LIB
+ require i
+ if $Visitor_Class && !$Visitor
+ $Visitor = $Visitor_Class.new()
+ if $RT2_Sub_OptionParser
+ require $RT2_Sub_OptionParser
+ $RT2_Sub_OptionParser = nil
+ end
+ end
+ end
+
+ q.on("-oNAME",
+ String,
+ "indicate base name of output file") do |i|
+ output_file = i
+ end
+
+ q.on("--out-code=KCODE",
+ String,
+ "character encoding of output.(jis|euc|sjis)") do |i|
+ case i
+ when /sjis|shift-jis/i
+ out_code = "shift_jis"
+ when /jis|iso-2022-jp/i
+ out_code = "iso-2022-jp"
+ when /euc|euc-jp/i
+ out_code = "euc-jp"
+ end
+ end
+
+ q.on("-IPATH", "--include-path=PATH",
+ String,
+ "add PATH to list of include path") do |i|
+ # add to include path
+ include_path.unshift(i)
+ end
+
+ q.on_tail("--help",
+ "print this message") do
+ STDERR.print(q.to_s)
+ exit(0)
+ end
+end # OptionParser.new
+
+# require format lib implicitly
+unless File.basename($0) == "rt2"
+ require "rt/" + File.basename($0) + "-lib.rb"
+ require $RT2_Sub_OptionParser if $RT2_Sub_OptionParser
+ # make visitor
+ $Visitor = $Visitor_Class.new()
+end
+
+begin
+ ARGV.parse!
+rescue
+ STDERR.print("Error: " + $!.inspect + "\n")
+ STDERR.print(ARGV.options.to_s)
+ exit(1)
+end
+
+unless $Visitor_Class
+ require $DEFAULT_FORMAT_LIB
+ $Visitor = $Visitor_Class.new
+end
+
+
+# file base name setup
+$Visitor.filename = output_file if output_file
+
+# character encoding
+if out_code
+ begin
+ $Visitor.charcode = out_code
+ rescue NameError
+ end
+end
+
+parsed = RTParser::parse(readlines.join)
+# output
+out = $Visitor.visit(parsed)
+
+# character encoding convert
+out = Kconv.kconv(out, Kconv.name2const(out_code), Kconv::AUTO) if out_code
+
+if output_file
+ filename = output_file + "." + $Visitor.type::OUTPUT_SUFFIX
+ file = open(filename, "w")
+ file.print(out)
+ file.close
+ STDERR.print("#{$0}: output to #{filename}...\n")
+else
+ print(out)
+end
+
diff -Nru rttool-1.0.3/debian/README.Debian rttool-1.0.3.0/debian/README.Debian
--- rttool-1.0.3/debian/README.Debian 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/README.Debian 1970-01-01 09:00:00.000000000 +0900
@@ -1,7 +0,0 @@
-RTtool for Debian
------------------
-
-RT is simple human-readble table format. RTtool is formatter for RT.
-On Debian, RTtool is split int 2 packages as follows: rttool, librt-ruby
-
- -- Youhei SASAKI <uwabami@gfd-dennou.org> Sat, 25 Jul 2009 06:12:33 +0900
diff -Nru rttool-1.0.3/debian/README.source rttool-1.0.3.0/debian/README.source
--- rttool-1.0.3/debian/README.source 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/README.source 1970-01-01 09:00:00.000000000 +0900
@@ -1,8 +0,0 @@
-README.source
-
-The source package uses quilt to manage all modifications to the upstream
-source. Changes are stored in the source package as diffs in debian/patches
-and applied during the build.
-
-See /usr/share/doc/quilt/README.source for a detailed explanation.
-
diff -Nru rttool-1.0.3/debian/changelog rttool-1.0.3.0/debian/changelog
--- rttool-1.0.3/debian/changelog 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/changelog 2012-07-04 17:15:14.000000000 +0900
@@ -1,3 +1,25 @@
+rttool (1.0.3.0-3) unstable; urgency=low
+
+ * Remove SVN $Id$ from manpage
+ - Thanks to Salvatore Bonaccorso (Closes: #680128)
+
+ -- Youhei SASAKI <uwabami@gfd-dennou.org> Wed, 04 Jul 2012 09:15:02 +0100
+
+rttool (1.0.3.0-2) unstable; urgency=low
+
+ * Team upload.
+ * Bump build dependency on gem2deb to >= 0.3.0~.
+
+ -- Paul van Tilburg <paulvt@debian.org> Wed, 27 Jun 2012 21:11:47 +0200
+
+rttool (1.0.3.0-1) unstable; urgency=low
+
+ * Switch upstream to RubyGems.org, add watch file
+ * Build using gem2deb for RubyInWheezy Transition.
+ - Add Conflict/Replace/Provides for smooth upgrade
+
+ -- Youhei SASAKI <uwabami@gfd-dennou.org> Mon, 11 Jun 2012 18:31:53 +0900
+
rttool (1.0.3-2) unstable; urgency=low
* debian/copyright: add copyright about setup.rb
diff -Nru rttool-1.0.3/debian/compat rttool-1.0.3.0/debian/compat
--- rttool-1.0.3/debian/compat 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/compat 2012-06-11 19:52:53.000000000 +0900
@@ -1 +1 @@
-5
+7
diff -Nru rttool-1.0.3/debian/control rttool-1.0.3.0/debian/control
--- rttool-1.0.3/debian/control 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/control 2012-06-28 16:01:34.000000000 +0900
@@ -1,34 +1,49 @@
Source: rttool
-Section: text
-Priority: extra
-Maintainer: Youhei SASAKI <uwabami@gfd-dennou.org>
-Build-Depends: cdbs, debhelper (>= 7),
- ruby-pkg-tools(>= 0.17), ruby1.8, ruby1.8-dev,
- rdtool, quilt
-Standards-Version: 3.8.4
-Homepage: http://www.rubyist.net/~rubikitch/computer/rttool/index.en.html
+Section: ruby
+Priority: optional
+Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
+Uploaders: Youhei SASAKI <uwabami@gfd-dennou.org>
+DM-Upload-Allowed: yes
+Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.3.0~), rdtool
+Standards-Version: 3.9.3
+Vcs-Git: git://git.debian.org/pkg-ruby-extras/rttool.git
+Vcs-Browser: http://git.debian.org/?p=pkg-ruby-extras/rttool.git;a=summary
+Homepage: http://raa.ruby-lang.org/project/rttool/
+XS-Ruby-Versions: all
Package: rttool
Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, librt-ruby1.8 (= ${source:Version}), ruby1.8
+Depends: ${misc:Depends}, ruby | ruby-interpreter, ruby-rt (= ${source:Version})
Description: RT table formatter
- RT is simple human-readble table format. RTtool is a converter form RT into
- various formats. RTtool is one of frontends of formatter for RT.
+ RT is simple human-readble table format. RTtool is a converter form RT
+ into various formats. RTtool is one of frontends of formatter for RT.
+ .
+ You can embed RT into Ruby script, and RD documents.
.
- This package provides rt2 command.
+ RTtool is one of frontends of formatter for RT. This package provides
+ rd2 command.
-Package: librt-ruby1.8
-Section: ruby
+Package: ruby-rt
Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: RTtool library for Ruby1.8
- RT is simple human-readble table format. RTtool is a converter form RT into
- various formats. RTtool is one of frontends of formatter for RT.
+XB-Ruby-Versions: ${ruby:Versions}
+Depends: ${misc:Depends}, ruby | ruby-interpreter
+Replaces: librt-ruby1.8 (<< 1.0.3-2~)
+Breaks: librt-ruby1.8 (<< 1.0.3-2~)
+Provides: librt-ruby1.8
+Description: RTTool library for Ruby
+ RT is simple human-readble table format. RTtool is a converter form RT
+ into various formats. RTtool is one of frontends of formatter for RT.
.
- This package provide rttool library for Debian's default Ruby version
- (currently 1.8.x)
-
-
-
+ You can embed RT into Ruby script, and RD documents.
+ .
+ This package contains a library which is used by RTTool.
+Package: librt-ruby1.8
+Section: oldlibs
+Priority: extra
+Architecture: all
+Depends: ${misc:Depends}, ruby-rt
+Description: Transitional package for ruby-rt
+ This is a transitional package to ease upgrades to the ruby-rttool
+ package. It can safely be removed.
diff -Nru rttool-1.0.3/debian/copyright rttool-1.0.3.0/debian/copyright
--- rttool-1.0.3/debian/copyright 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/copyright 2012-06-11 19:52:53.000000000 +0900
@@ -1,92 +1,91 @@
-This package was debianized by
- Youhei SASAKI <uwabami@gfd-dennou.org>
-
-It was downloaded from:
- http://www.rubyist.net/~rubikitch/computer/rttool/
-
-Upstream Author:
- rubikitch <rubikitch@ruby-lang.org>
-
-Copyright (C) 2001-2009 Rubikitch <rubikitch@ruby-lang.org>
-
-License: Ruby's.
-
-Ruby's License:
-
-Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
-You can redistribute it and/or modify it under either the terms of the GPL
-(see the file GPL), or the conditions below:
-
- 1. You may make and give away verbatim copies of the source form of the
- software without restriction, provided that you duplicate all of the
- original copyright notices and associated disclaimers.
-
- 2. You may modify your copy of the software in any way, provided that
- you do at least ONE of the following:
-
- a) place your modifications in the Public Domain or otherwise
- make them Freely Available, such as by posting said
- modifications to Usenet or an equivalent medium, or by allowing
- the author to include your modifications in the software.
-
- b) use the modified software only within your corporation or
- organization.
-
- c) give non-standard binaries non-standard names, with
- instructions on where to get the original software distribution.
-
- d) make other distribution arrangements with the author.
-
- 3. You may distribute the software in object code or binary form,
- provided that you do at least ONE of the following:
-
- a) distribute the binaries and library files of the software,
- together with instructions (in the manual page or equivalent)
- on where to get the original distribution.
-
- b) accompany the distribution with the machine-readable source of
- the software.
-
- c) give non-standard binaries non-standard names, with
- instructions on where to get the original software distribution.
-
- d) make other distribution arrangements with the author.
-
- 4. You may modify and include the part of the software into any other
- software (possibly commercial). But some files in the distribution
- are not written by the author, so that they are not under these terms.
-
- For the list of those files and their copying conditions, see the
- file LEGAL.
-
- 5. The scripts and library files supplied as input to or produced as
- output from the software do not automatically fall under the
- copyright of the software, but belong to whomever generated them,
- and may be sold commercially, and may be aggregated with this
- software.
-
- 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE.
-
-GNU General Public License:
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL-2'.
-
-setup.rb
---------
-This file is distributed under the terms of GNU LGPL, Lesser General Public
-License version 2 or later. The copyright holder is as follows:
-
-Copyright (c) 2000-2001 Minero Aoki
-
-
-The Debian packaging is:
-
- Copyright (C) 2009 Youhei SASAKI <uwabami@gfd-dennou.org>
-
-and is licensed under the GPL version 3,
-see `/usr/share/common-licenses/GPL-3'.
-
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: rttool
+Source: http://www.rubyist.net/~rubikitch/computer/rttool/
+
+Files: *
+Copyright: 2001-2009 Rubikitch <rubikitch@ruby-lang.org>
+License: GPL-2+ or Ruby's
+
+Files: debian/*
+Copyright: 2009-2012 Youhei SASAKI <uwabami@gfd-dennou.org>
+License: GPL-2+
+
+License: Ruby's
+ You can redistribute it and/or modify it under either the terms of the GPL
+ (see the file GPL), or the conditions below:
+ .
+ 1. You may make and give away verbatim copies of the source form of the
+ software without restriction, provided that you duplicate all of the
+ original copyright notices and associated disclaimers.
+ .
+ 2. You may modify your copy of the software in any way, provided that
+ you do at least ONE of the following:
+ .
+ a) place your modifications in the Public Domain or otherwise
+ make them Freely Available, such as by posting said
+ modifications to Usenet or an equivalent medium, or by allowing
+ the author to include your modifications in the software.
+ .
+ b) use the modified software only within your corporation or
+ organization.
+ .
+ c) give non-standard binaries non-standard names, with
+ instructions on where to get the original software distribution.
+ .
+ d) make other distribution arrangements with the author.
+ .
+ 3. You may distribute the software in object code or binary form,
+ provided that you do at least ONE of the following:
+ .
+ a) distribute the binaries and library files of the software,
+ together with instructions (in the manual page or equivalent)
+ on where to get the original distribution.
+ .
+ b) accompany the distribution with the machine-readable source of
+ the software.
+ .
+ c) give non-standard binaries non-standard names, with
+ instructions on where to get the original software distribution.
+ .
+ d) make other distribution arrangements with the author.
+ .
+ 4. You may modify and include the part of the software into any other
+ software (possibly commercial). But some files in the distribution
+ are not written by the author, so that they are not under these terms.
+ .
+ For the list of those files and their copying conditions, see the
+ file LEGAL.
+ .
+ 5. The scripts and library files supplied as input to or produced as
+ output from the software do not automatically fall under the
+ copyright of the software, but belong to whomever generated them,
+ and may be sold commercially, and may be aggregated with this
+ software.
+ .
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE.
+
+
+License: GPL-2+
+ This program is free software; you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
diff -Nru rttool-1.0.3/debian/patches/0001-Fix-Shebang.patch rttool-1.0.3.0/debian/patches/0001-Fix-Shebang.patch
--- rttool-1.0.3/debian/patches/0001-Fix-Shebang.patch 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/debian/patches/0001-Fix-Shebang.patch 2012-06-11 19:52:53.000000000 +0900
@@ -0,0 +1,32 @@
+From: Youhei SASAKI <uwabami@gfd-dennou.org>
+Date: Mon, 11 Jun 2012 19:48:58 +0900
+Subject: Fix Shebang
+
+Signed-off-by: Youhei SASAKI <uwabami@gfd-dennou.org>
+---
+ bin/rdrt2 | 2 +-
+ bin/rt2 | 3 +--
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/bin/rdrt2 b/bin/rdrt2
+index e7e75e9..71bf33a 100644
+--- a/bin/rdrt2
++++ b/bin/rdrt2
+@@ -1,2 +1,2 @@
+-#!/usr/bin/env ruby
++#!/usr/bin/ruby
+ exec "rd2", "-r", "rd/rt-filter", "--with-part=RT:rt", *ARGV
+diff --git a/bin/rt2 b/bin/rt2
+index 523b005..eb6edf5 100644
+--- a/bin/rt2
++++ b/bin/rt2
+@@ -1,8 +1,7 @@
+-#! /usr/bin/env ruby
++#! /usr/bin/ruby
+ =begin
+ = NAME
+ rt2 - converter from RT to other mark-up language.
+-$Id: rt2 1532 2009-01-24 16:04:36Z rubikitch $
+ = SYNOPSIS
+ rt2 [-r <visitor>] [options] <file>
+
diff -Nru rttool-1.0.3/debian/patches/change-shebang rttool-1.0.3.0/debian/patches/change-shebang
--- rttool-1.0.3/debian/patches/change-shebang 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/patches/change-shebang 1970-01-01 09:00:00.000000000 +0900
@@ -1,8 +0,0 @@
---- rttool-1.0.3.orig/bin/rt/rt2
-+++ rttool-1.0.3/bin/rt/rt2
-@@ -1,4 +1,4 @@
--#! /usr/bin/env ruby
-+#!/usr/bin/ruby1.8
- =begin
- = NAME
- rt2 - converter from RT to other mark-up language.
diff -Nru rttool-1.0.3/debian/patches/series rttool-1.0.3.0/debian/patches/series
--- rttool-1.0.3/debian/patches/series 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/patches/series 2012-06-11 19:52:53.000000000 +0900
@@ -1 +1 @@
-change-shebang
+0001-Fix-Shebang.patch
diff -Nru rttool-1.0.3/debian/rt2.1 rttool-1.0.3.0/debian/rt2.1
--- rttool-1.0.3/debian/rt2.1 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/debian/rt2.1 2012-07-04 17:13:06.000000000 +0900
@@ -0,0 +1,34 @@
+.\" DO NOT MODIFY THIS FILE! it was generated by rd2
+.TH RT2 1 "July 2012"
+.SH NAME
+.PP
+rt2 \- converter from RT to other mark\-up language.
+.SH SYNOPSIS
+.nf
+\& rt2 [\-r <visitor>] [options] <file>
+.fi
+.SH DESCRIPTION
+.PP
+rt2 inputs from <file> and outputs in \&\fBSTDOUT\fP. you can
+choose <visitor> to select output format. For example, use
+"rt/rt2html\-lib.rb" to turn it into HTML.
+.SH OPTIONS
+.PP
+please check the output of
+.nf
+\& % rt2 \-\-help
+.fi
+.PP
+and
+.nf
+\& % rt2 \-r rt/rt2html\-lib.rb \-\-help
+.fi
+.SH FILES
+.IP
+.B
+\(bu
+~/.rt2rc \- User configuration file.
+.SH SEE ALSO
+.PP
+ruby(1)
+
diff -Nru rttool-1.0.3/debian/rttool.manpages rttool-1.0.3.0/debian/rttool.manpages
--- rttool-1.0.3/debian/rttool.manpages 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/debian/rttool.manpages 2012-06-11 19:52:53.000000000 +0900
@@ -0,0 +1 @@
+debian/*.1
diff -Nru rttool-1.0.3/debian/ruby-rt.docs rttool-1.0.3.0/debian/ruby-rt.docs
--- rttool-1.0.3/debian/ruby-rt.docs 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/debian/ruby-rt.docs 2012-06-11 19:52:53.000000000 +0900
@@ -0,0 +1,2 @@
+rttool.en.rd
+rttool.ja.rd
diff -Nru rttool-1.0.3/debian/ruby-tests.rb rttool-1.0.3.0/debian/ruby-tests.rb
--- rttool-1.0.3/debian/ruby-tests.rb 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/debian/ruby-tests.rb 2012-06-11 19:52:53.000000000 +0900
@@ -0,0 +1,4 @@
+require 'rbconfig' unless defined? RbConfig
+ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
+system("#{ruby} -Ilib:test test/test-rt2html-lib.rb")
+system("#{ruby} -Ilib:test test/test-rtparser.rb")
diff -Nru rttool-1.0.3/debian/rules rttool-1.0.3.0/debian/rules
--- rttool-1.0.3/debian/rules 2012-10-12 20:55:00.000000000 +0900
+++ rttool-1.0.3.0/debian/rules 2012-07-04 17:13:42.000000000 +0900
@@ -1,31 +1,16 @@
#!/usr/bin/make -f
+%:
+ dh $@ --buildsystem=ruby --with ruby
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/rules/patchsys-quilt.mk
-include /usr/share/ruby-pkg-tools/1/class/ruby-setup-rb.mk
+override_dh_auto_install:
+ dh_auto_install
+ rm -fr $(CURDIR)/debian/rttool/usr/bin/*
+ install -m755 bin/rt2 $(CURDIR)/debian/rttool/usr/bin/rt2
+ install -d $(CURDIR)/debian/ruby-rt/usr/lib
+ mv $(CURDIR)/debian/rttool/usr/lib/ $(CURDIR)/debian/ruby-rt/usr
-manpages := debian/rt*.1
+override_dh_installchangelogs:
+ dh_installchangelogs $(CURDIR)/ChangeLog
-DEB_COMPRESS_EXCLUDE := .rd .html
-DEB_DH_INSTALLCHANGELOGS_ALL := -k
-DEB_INSTALL_DOCS_ALL := rttool.ja.html rttool.en.html rttool.ja.rd rttool.en.rd
-DEB_INSTALL_EXAMPLES_rttool := examples/*
-DEB_RUBY_CONFIG_ARGS := --installdirs=std --shebang=never
-
-# Add here any variable or target overrides you need.
-
-build/rttool::
- rd2 -r rd/rd2man-lib.rb bin/rt/rt2 > debian/rt2.1
-
-install/librt-ruby1.8::
- rm -rf $(CURDIR)/debian/librt-ruby1.8/usr/bin
- rm -rf $(CURDIR)/debian/librt-ruby1.8/usr/lib/ruby/1.8/PATHCONV
-
-install/rttool::
- install -d $(CURDIR)/debian/rttool/usr/bin
- install -m755 bin/rt/rt2 $(CURDIR)/debian/rttool/usr/bin/
- install -d $(CURDIR)/debian/rttool/usr/share/man/man1
- install -m664 debian/rt2.1 debian/rttool/usr/share/man/man1/
-
-clean::
- rm -f debian/*.1
+override_dh_auto_clean:
+ dh_auto_clean
diff -Nru rttool-1.0.3/debian/source/format rttool-1.0.3.0/debian/source/format
--- rttool-1.0.3/debian/source/format 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/debian/source/format 2012-06-11 19:52:53.000000000 +0900
@@ -0,0 +1 @@
+3.0 (quilt)
diff -Nru rttool-1.0.3/debian/watch rttool-1.0.3.0/debian/watch
--- rttool-1.0.3/debian/watch 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/debian/watch 2012-06-11 19:52:53.000000000 +0900
@@ -0,0 +1,2 @@
+version=3
+http://pkg-ruby-extras.alioth.debian.org/cgi-bin/gemwatch/rttool .*/rttool-(.*).tar.gz
diff -Nru rttool-1.0.3/lib/PATHCONV rttool-1.0.3.0/lib/PATHCONV
--- rttool-1.0.3/lib/PATHCONV 2009-07-25 16:04:27.000000000 +0900
+++ rttool-1.0.3.0/lib/PATHCONV 1970-01-01 09:00:00.000000000 +0900
@@ -1,2 +0,0 @@
-rt rt rt
-rd rd rd
diff -Nru rttool-1.0.3/metadata.yml rttool-1.0.3.0/metadata.yml
--- rttool-1.0.3/metadata.yml 1970-01-01 09:00:00.000000000 +0900
+++ rttool-1.0.3.0/metadata.yml 2012-06-11 18:31:53.000000000 +0900
@@ -0,0 +1,84 @@
+--- !ruby/object:Gem::Specification
+name: rttool
+version: !ruby/object:Gem::Version
+ version: 1.0.3.0
+platform: ruby
+authors:
+- rubikitch
+- Kazuhiro NISHIYAMA
+autorequire:
+bindir: bin
+cert_chain: []
+
+date: 2009-01-28 00:00:00 +09:00
+default_executable:
+dependencies: []
+
+description:
+email: zn@mbf.nifty.com
+executables:
+- rdrt2
+- rt2
+extensions: []
+
+extra_rdoc_files: []
+
+files:
+- ChangeLog
+- GPL
+- bin/rdrt2
+- bin/rt/rdrt2
+- bin/rt/rt2
+- bin/rt2
+- examples/easiest.html
+- examples/easiest.rt
+- examples/escape.html
+- examples/escape.rt
+- examples/rttest.html
+- examples/rttest.rd
+- examples/test1.html
+- examples/test1.rt
+- examples/test2.html
+- examples/test2.rt
+- lib/rd/rt-filter.rb
+- lib/rt/rt2html-lib.rb
+- lib/rt/rt2txt-lib.rb
+- lib/rt/rtparser.rb
+- lib/rt/rtvisitor.rb
+- lib/rt/w3m.rb
+- rttool.en.html
+- rttool.en.rd
+- rttool.ja.html
+- rttool.ja.rd
+- test/rttool-sub.rb
+- test/test-rt2html-lib.rb
+- test/test-rtparser.rb
+- test/test.rb
+has_rdoc: false
+homepage: http://raa.ruby-lang.org/project/rttool/
+post_install_message:
+rdoc_options: []
+
+require_paths:
+- lib
+required_ruby_version: !ruby/object:Gem::Requirement
+ requirements:
+ - - ">="
+ - !ruby/object:Gem::Version
+ version: "0"
+ version:
+required_rubygems_version: !ruby/object:Gem::Requirement
+ requirements:
+ - - ">="
+ - !ruby/object:Gem::Version
+ version: "0"
+ version:
+requirements: []
+
+rubyforge_project: rwiki
+rubygems_version: 1.0.1
+signing_key:
+specification_version: 2
+summary: Simple table generator
+test_files: []
+
diff -Nru rttool-1.0.3/setup.rb rttool-1.0.3.0/setup.rb
--- rttool-1.0.3/setup.rb 2009-07-25 16:04:27.000000000 +0900
+++ rttool-1.0.3.0/setup.rb 1970-01-01 09:00:00.000000000 +0900
@@ -1,795 +0,0 @@
-#
-# setup.rb
-#
-# Copyright (c) 2000,2001 Minero Aoki <aamine@loveruby.net>
-#
-# This program is free software.
-# You can distribute/modify this program under the terms of
-# the GNU General Public License version 2 or later.
-#
-
-require 'tempfile'
-if i = ARGV.index(/\A--rbconfig=/) then
- file = $'
- ARGV.delete_at(i)
- require file
-else
- require 'rbconfig'
-end
-
-
-class InstallError < StandardError; end
-
-
-class Installer
-
- Version = '2.1.0'
- Copyright = 'Copyright (c) 2000,2001 Minero Aoki'
-
-
- TASKS = [
- [ 'config', 'save your config configurations' ],
- [ 'setup', 'compiles extention or else' ],
- [ 'install', 'installs packages' ],
- [ 'clean', "does `make clean' for each extention" ],
- [ 'dryrun', 'does test run' ],
- [ 'show', 'shows current configuration' ]
- ]
-
- FILETYPES = %w( bin lib ext share )
-
-
- def initialize( root, argv )
- @root_dir = File.expand_path(root)
- @curr_dir = ''
- @argv = argv
-
- @config = ConfigTable.create
- @task = nil
- @task_args = nil
- @verbose = true
- @hooks = []
-
- @no_harm = false ###tmp
- end
-
- attr :root_dir
- attr :config
- attr :task
- attr :task_args
-
- attr :verbose
- attr :no_harm
-
-
- def execute
- @task = parsearg( @argv )
- @task_args = @argv
- parsearg_TASK @task, @argv
-
- @config = ConfigTable.load unless @task == 'config'
- check_package_configuration unless @task == 'clean'
- load_hooks
-
- case @task
- when 'config', 'setup', 'install', 'clean'
- tryto @task
- when 'show'
- do_show
- when 'dryrun'
- do_dryrun
- else
- raise 'must not happen'
- end
- end
-
- def tryto( task )
- $stderr.printf "setup.rb: entering %s phase...\n", task
- begin
- run_hook 'pre', task
- __send__ 'do_' + task
- run_hook 'post', task
- rescue
- $stderr.printf "%s failed\n", task
- raise
- end
- $stderr.printf "setup.rb: %s done.\n", task
- end
-
- def load_hooks
- install_packages.each do |pack|
- hookfile = "#{@root_dir}/setup/#{pack}.rb"
- if File.exist? hookfile then
- load hookfile
- @hooks.push Object.const_get( "InstallerHook_#{pack}" ).new( self )
- end
- end
- end
-
- def run_hook( state, task )
- mid = "#{state}_#{task}".intern
- @hooks.each do |hook|
- hook.__send__ mid if hook.respond_to? mid
- end
- end
-
-
- ###
- ### processing arguments
- ###
-
- def parsearg( argv )
- task_re = /\A(?:#{TASKS.collect {|i| i[0] }.join '|'})\z/
- arg = argv.shift
-
- case arg
- when /\A\w+\z/
- task_re === arg or raise InstallError, "wrong task: #{arg}"
- return arg
-
- when '-h', '--help'
- print_usage $stdout
- exit 0
-
- when '-v', '--version'
- puts "setup.rb version #{Version}"
- exit 0
-
- when '--copyright'
- puts Copyright
- exit 0
-
- else
- raise InstallError, "unknown global option '#{arg}'"
- end
- end
-
-
- def parsearg_TASK( task, argv )
- mid = "parsearg_#{task}"
- if respond_to? mid, true then
- __send__ mid, argv
- else
- argv.empty? or
- raise InstallError, "#{task}: unknown options: #{argv.join ' '}"
- end
- end
-
- def parsearg_config( args )
- @config_args = {}
- re = /\A--(#{ConfigTable.keys.join '|'})=/
- args.each do |i|
- m = re.match(i) or raise InstallError, "config: unknown option #{i}"
- @config_args[ m[1] ] = m.post_match
- end
- end
-
- def parsearg_install( args )
- @no_harm = false
- args.each do |i|
- if i == '--no-harm' then
- @no_harm = true
- else
- raise InstallError, "install: unknown option #{i}"
- end
- end
- end
-
- def parsearg_dryrun( args )
- @dryrun_args = args
- end
-
-
- def print_usage( out )
- out.puts
- out.puts 'Usage:'
- out.puts ' ruby setup.rb <global option>'
- out.puts ' ruby setup.rb <task> [<task options>]'
-
- out.puts
- out.puts 'Tasks:'
- TASKS.each do |name, desc|
- out.printf " %-10s %s\n", name, desc
- end
-
- fmt = " %-20s %s\n"
- out.puts
- out.puts 'Global options:'
- out.printf fmt, '-h,--help', 'print this message'
- out.printf fmt, '-v,--version', 'print version'
- out.printf fmt, '--copyright', 'print copyright'
-
- out.puts
- out.puts 'Options for config:'
- ConfigTable::DESCRIPTER.each do |name, (default, arg, desc, default2)|
- default = default2 || default
- out.printf " %-20s %s [%s]\n", "--#{name}=#{arg}", desc, default
- end
- out.printf " %-20s %s [%s]\n",
- '--rbconfig=path', 'your rbconfig.rb to load', "running ruby's"
-
- out.puts
- out.puts 'Options for install:'
- out.printf " %-20s %s [%s]\n",
- '--no-harm', 'only display what to do if given', 'off'
-
- out.puts
- out.puts 'This archive includes:'
- out.print ' ', packages().join(' '), "\n"
-
- out.puts
- end
-
-
- ###
- ### tasks
- ###
-
- def do_config
- @config_args.each do |k,v|
- @config[k] = v
- end
- @config.save
- end
-
- def do_show
- ConfigTable.each_name do |k|
- v = @config.noproc_get(k)
- if not v or v.empty? then
- v = '(not specified)'
- end
- printf "%-10s %s\n", k, v
- end
- end
-
- def do_setup
- foreach_package_in( 'bin' ) do
- Dir.foreach( current_directory ) do |fname|
- next unless File.file? "#{current_directory}/#{fname}"
- add_rubypath "#{current_directory}/#{fname}"
- end
- end
-
- foreach_package_in( 'ext' ) do
- clean
- extconf
- make
- end
- end
-
- def do_install
- foreach_package_in( 'bin' ) do |targ, *dummy|
- install_bin
- end
-
- foreach_package_in( 'lib' ) do |targ, topfile|
- install_rb targ
- if topfile then
- create_topfile targ, topfile
- end
- end
-
- foreach_package_in( 'ext' ) do |targ, *dummy|
- install_so targ
- end
-
- foreach_package_in( 'share' ) do |targ, *dummy|
- install_dat targ
- end
- end
-
- def do_clean
- Dir.glob( 'ext/*' ).each do |name|
- if dir? name then
- chdir( name ) {
- clean
- }
- end
- end
- rmf ConfigTable::SAVE_FILE
- end
-
- def do_dryrun
- unless dir? 'tmp' then
- $stderr.puts 'setup.rb: setting up temporaly environment...'
- @verbose = $DEBUG
- begin
- @config['bin-dir'] = isdir(File.expand_path('.'), 'tmp', 'bin')
- @config['rb-dir'] = isdir(File.expand_path('.'), 'tmp', 'lib')
- @config['so-dir'] = isdir(File.expand_path('.'), 'tmp', 'ext')
- @config['data-dir'] = isdir(File.expand_path('.'), 'tmp', 'share')
- do_install
- rescue
- rmrf 'tmp'
- $stderr.puts '[BUG] setup.rb: cannot prepare tmp/ for dryrun'
- raise
- end
- end
-
- exec @config['ruby-prog'], '-I./tmp/lib', '-I./tmp/ext', * @dryrun_args
- end
-
-
- ###
- ### lib
- ###
-
- #
- # config
- #
-
- class ConfigTable
-
- c = ::Config::CONFIG
-
- rubypath = c['bindir'] + '/' + c['ruby_install_name']
-
- major = c['MAJOR'].to_i
- minor = c['MINOR'].to_i
- teeny = c['TEENY'].to_i
- version = "#{major}.#{minor}"
-
- DESCRIPTER = [
- [ 'prefix', [ c['prefix'],
- 'path',
- 'path prefix' ] ],
- [ 'std-ruby', [ c['rubylibdir'],
- 'path',
- 'directory for standard ruby libraries' ] ],
- [ 'site-ruby', [ c['sitelibdir'],
- 'path',
- 'directory for non-standard ruby libraries' ] ],
- [ 'bin-dir', [ c['bindir'],
- 'path',
- 'directory to install commands' ] ],
- [ 'rb-dir', [ c['sitelibdir'],
- 'path',
- 'directory to install ruby scripts' ] ],
- [ 'so-dir', [ c['sitearchdir'],
- 'path',
- 'directory to install ruby extentions' ] ],
- [ 'data-dir', [ c['datarootdir'],
- 'path',
- 'directory to install data' ] ],
- [ 'ruby-path', [ rubypath,
- 'path',
- 'path to ruby for #!' ] ],
- [ 'ruby-prog', [ rubypath,
- 'path',
- 'path to ruby for installation' ] ],
- [ 'make-prog', [ 'make',
- 'name',
- 'make program to compile ruby extentions' ] ],
- [ 'with', [ '',
- 'name,name...',
- 'package name(s) you want to install' ],
- 'ALL' ],
- [ 'without', [ '',
- 'name,name...',
- 'package name(s) you do not want to install' ] ]
- ]
-
- def self.each_name( &block )
- keys().each( &block )
- end
-
- def self.keys
- DESCRIPTER.collect {|k,*discard| k }
- end
-
-
- SAVE_FILE = 'config.save'
-
- def self.create
- c = new()
- c.init
- c
- end
-
- def self.load
- c = new()
- File.file? SAVE_FILE or raise InstallError, 'setup.rb config first'
- File.foreach( SAVE_FILE ) do |line|
- k, v = line.split( '=', 2 )
- c.noproc_set k, v.strip
- end
- c
- end
-
- def initialize
- @table = {}
- end
-
- def init
- DESCRIPTER.each do |k, (default, vname, desc, default2)|
- @table[k] = default
- end
- end
-
- def save
- File.open( SAVE_FILE, 'w' ) do |f|
- @table.each do |k, v|
- f.printf "%s=%s\n", k, v if v
- end
- end
- end
-
- def []=( k, v )
- if DESCRIPTER.assoc(k)[1][1] == 'path' then
- @table[k] = File.expand_path(v)
- else
- @table[k] = v
- end
- end
-
- def []( key )
- r = ( @table[key] and @table[key].sub( %r_\$([^/]+)_ ) { self[$1] } )
- r
- end
-
- def noproc_set( key, val )
- @table[key] = val
- end
-
- def noproc_get( key )
- @table[key]
- end
-
- end
-
-
- #
- # packages
- #
-
- def check_package_configuration
- @with = extract_dirs( @config['with'] )
- @without = extract_dirs( @config['without'] )
-
- packs = packages()
- (@with + @without).each do |i|
- if not packs.include? i and not dir? i then
- raise InstallError, "no such package or directory '#{i}'"
- end
- end
- end
-
- def extract_dirs( s )
- ret = []
- s.split(',').each do |i|
- if /[\*\?]/ === i then
- tmp = Dir.glob(i)
- tmp.delete_if {|d| not dir? d }
- if tmp.empty? then
- tmp.push i # causes error
- else
- ret.concat tmp
- end
- else
- ret.push i
- end
- end
-
- ret
- end
-
- def packages
- ret = []
- FILETYPES.each do |type|
- next unless File.directory? subpath(type)
- foreach_record( subpath(type, 'PATHCONV') ) do |dir, pack, *dummy|
- ret.push pack
- end
- end
- ret.uniq
- end
-
- def install_packages
- ret = []
- FILETYPES.each do |type|
- next unless File.directory? subpath(type)
- foreach_record( subpath(type, 'PATHCONV') ) do |dir, pack, *dummy|
- ret.push pack if install_package? pack, "#{type}/#{dir}"
- end
- end
- ret.uniq
- end
-
- def install_package?( pack, dir )
- if @with.empty? then
- not @without.include? pack and
- not @without.include? dir
- else
- @with.include? pack or
- @with.include? dir
- end
- end
-
- def foreach_record( fname )
- File.foreach( fname ) do |line|
- line.strip!
- next if line.empty?
- a = line.split(/\s+/)
- a[2] ||= '.'
- yield a
- end
- end
-
- def foreach_package_in( filetype )
- return unless dir? subpath(filetype)
-
- descripter = {}
- foreach_record( subpath(filetype, 'PATHCONV') ) do |dir, pack, targ, topfile, *dummy|
- descripter[dir] = [pack, targ, topfile]
- end
-
- Dir.foreach( subpath(filetype) ) do |dir|
- next if dir == 'CVS'
- next if dir[0] == ?.
- next unless dir? subpath(filetype, dir)
-
- descripter[dir] or raise "abs path for package '#{dir}' not exist"
- pack, targ, topfile = descripter[dir]
-
- relpath = "#{filetype}/#{dir}"
- if install_package? pack, relpath then
- mkpath relpath
- chdir( relpath ) {
- @curr_dir = relpath
- yield targ, topfile
- }
- @curr_dir = ''
- else
- $stderr.puts "setup.rb: skip #{relpath}(#{pack}) by user option"
- end
- end
- end
-
-
- #
- # setup
- #
-
- def add_rubypath( path )
- $stderr.puts %Q<setting #! line to "\#!#{@config['ruby-path']}"> if @verbose
- return if @no_harm
-
- tmpf = nil
- File.open( path ) do |f|
- first = f.gets
- return unless /\A\#!\S*ruby/ === first # reject '/usr/bin/env ruby'
-
- tmpf = Tempfile.open( 'amsetup' )
- tmpf.print first.sub( /\A\#!\s*\S+/, '#!' + @config['ruby-path'] )
- tmpf.write f.read
- tmpf.close
- end
-
- mod = File.stat( path ).mode
- tmpf.open
- File.open( File.basename(path), 'w' ) {|w|
- w.write tmpf.read
- }
- File.chmod mod, File.basename(path)
-
- tmpf.close true
- end
-
-
- #
- # install
- #
-
- def install_bin
- install_all isdir(@config['bin-dir']), 0555
- end
-
- def install_rb( dir )
- install_all isdir(@config['rb-dir'] + '/' + dir), 0644
- end
-
- def install_dat( dir )
- install_all isdir(@config['data-dir'] + '/' + dir), 0644
- end
-
- def install_all( dest, mode )
- Dir.foreach( current_directory ) do |fname|
- next if fname[0,1] == '.'
- next unless File.file? "#{current_directory}/#{fname}"
- unless File.file? fname then
- fname = "#{current_directory}/#{fname}"
- end
-
- install fname, dest, mode
- end
- end
-
- def create_topfile( name, req )
- d = isdir(@config['rb-dir'])
- $stderr.puts "creating wrapper file #{d}/#{name}.rb ..." if @verbose
- return if @no_harm
-
- File.open( "#{d}/#{name}.rb", 'w' ) do |f|
- f.puts "require '#{name}/#{req}'"
- end
- File.chmod 0644, "#{d}/#{name}.rb"
- end
-
-
- def extconf
- command "#{@config['ruby-prog']} #{current_directory}/extconf.rb"
- end
-
- def make
- command @config['make-prog']
- end
-
- def clean
- command @config['make-prog'] + ' clean' if File.file? 'Makefile'
- end
-
- def install_so( dest )
- to = isdir(File.expand_path(@config['so-dir']) + '/' + dest)
- find_so('.').each do |name|
- install name, to, 0555
- end
- end
-
- DLEXT = ::Config::CONFIG['DLEXT']
-
- def find_so( dir )
- fnames = nil
- Dir.open( dir ) {|d| fnames = d.to_a }
- exp = /\.#{DLEXT}\z/
- fnames.find_all {|fn| exp === fn } or
- raise InstallError,
- 'no ruby extention exists: have you done "ruby setup.rb setup" ?'
- end
-
- def so_dir?( dir = '.' )
- File.file? "#{dir}/MANIFEST"
- end
-
-
- #
- # file operations
- #
-
- def subpath( *pathes )
- File.join( @root_dir, *pathes )
- end
-
- def current_directory
- "#{@root_dir}/#{@curr_dir}"
- end
-
- def isdir( dn )
- mkpath dn
- dn
- end
-
- def chdir( path )
- save = Dir.pwd
- Dir.chdir path
- yield
- Dir.chdir save
- end
-
- def mkpath( dname )
- $stderr.puts "mkdir -p #{dname}" if @verbose
- return if @no_harm
-
- # does not check '/'... it's too abnormal case
- dirs = dname.split(%r_(?=/)_)
- if /\A[a-z]:\z/i === dirs[0] then
- disk = dirs.shift
- dirs[0] = disk + dirs[0]
- end
- dirs.each_index do |idx|
- path = dirs[0..idx].join('')
- Dir.mkdir path unless dir? path
- end
- end
-
- def rmf( fname )
- $stderr.puts "rm -f #{fname}" if @verbose
- return if @no_harm
-
- if File.exist? fname or File.symlink? fname then
- File.chmod 777, fname
- File.unlink fname
- end
- end
-
- def rmrf( dn )
- $stderr.puts "rm -rf #{dn}" if @verbose
- return if @no_harm
-
- Dir.chdir dn
- Dir.foreach('.') do |fn|
- next if fn == '.'
- next if fn == '..'
- if dir? fn then
- verbose_off {
- rmrf fn
- }
- else
- verbose_off {
- rmf fn
- }
- end
- end
- Dir.chdir '..'
- Dir.rmdir dn
- end
-
- def verbose_off
- save, @verbose = @verbose, false
- yield
- @verbose = save
- end
-
- def install( from, to, mode )
- $stderr.puts "install #{from} #{to}" if @verbose
- return if @no_harm
-
- if dir? to then
- to = to + '/' + File.basename(from)
- end
- str = nil
- File.open( from, 'rb' ) {|f| str = f.read }
- if diff? str, to then
- verbose_off {
- rmf to if File.exist? to
- }
- File.open( to, 'wb' ) {|f| f.write str }
- File.chmod mode, to
- end
- end
-
- def diff?( orig, comp )
- return true unless File.exist? comp
- s2 = nil
- File.open( comp, 'rb' ) {|f| s2 = f.read }
- orig != s2
- end
-
- def command( str )
- $stderr.puts str if @verbose
- system str or raise RuntimeError, "'system #{str}' failed"
- end
-
- def dir?( dname )
- # for corrupted windows stat()
- File.directory?( (dname[-1,1] == '/') ? dname : dname + '/' )
- end
-
-end
-
-
-class InstallerHook
-
- def initialize( i )
- @installer = i
- end
-
- attr :installer
-
- def package_root
- @installer.root_dir
- end
-
-end
-
-
-if $0 == __FILE__ then
- begin
- installer = Installer.new( File.dirname($0), ARGV.dup )
- installer.execute
- rescue => err
- raise if $DEBUG
- $stderr.puts err.message
- $stderr.puts 'try "ruby setup.rb --help" for usage'
- exit 1
- end
-end
Reply to: