[DRE-commits] r2991 - in tools/ruby-pkg-tools/trunk: . 1/class bin debian

michi-guest at alioth.debian.org michi-guest at alioth.debian.org
Sat Sep 13 16:00:46 UTC 2008


Author: michi-guest
Date: 2008-09-13 16:00:44 +0000 (Sat, 13 Sep 2008)
New Revision: 2991

Modified:
   tools/ruby-pkg-tools/trunk/1/class/ruby-common.mk
   tools/ruby-pkg-tools/trunk/bin/pkg-ruby-get-sources
   tools/ruby-pkg-tools/trunk/debian/changelog
   tools/ruby-pkg-tools/trunk/debian/control
   tools/ruby-pkg-tools/trunk/pkg-ruby-extras.team
Log:
[ruby-pkg-tools] FTP support for pkg-ruby-get-sources, overridable LIB_PACKAGE_FILTER, team + myself


Modified: tools/ruby-pkg-tools/trunk/1/class/ruby-common.mk
===================================================================
--- tools/ruby-pkg-tools/trunk/1/class/ruby-common.mk	2008-09-13 10:15:27 UTC (rev 2990)
+++ tools/ruby-pkg-tools/trunk/1/class/ruby-common.mk	2008-09-13 16:00:44 UTC (rev 2991)
@@ -49,8 +49,8 @@
 DEB_RUBY_ARCHDIR=$(strip $(shell ruby$(cdbs_ruby_ver) -rrbconfig -e 'puts Config::CONFIG["archdir"]'))
 
 # Separate lib packages from the rest
-LIB_PACKAGE_FILTER = %-ruby $(patsubst %,\%-ruby%,$(DEB_RUBY_VERSIONS))
-LIB_DOC_PACKAGE_FILTER = %-doc
+LIB_PACKAGE_FILTER ?= %-ruby $(patsubst %,\%-ruby%,$(DEB_RUBY_VERSIONS))
+LIB_DOC_PACKAGE_FILTER ?= %-doc
 DEB_RUBY_LIB_PACKAGES := $(strip $(filter $(LIB_PACKAGE_FILTER),$(DEB_ALL_PACKAGES)))
 DEB_RUBY_REAL_LIB_PACKAGES := $(strip $(filter-out %-ruby, $(DEB_RUBY_LIB_PACKAGES)))
 DEB_RUBY_DUMMY_LIB_PACKAGES := $(strip $(filter %-ruby, $(DEB_RUBY_LIB_PACKAGES)))

Modified: tools/ruby-pkg-tools/trunk/bin/pkg-ruby-get-sources
===================================================================
--- tools/ruby-pkg-tools/trunk/bin/pkg-ruby-get-sources	2008-09-13 10:15:27 UTC (rev 2990)
+++ tools/ruby-pkg-tools/trunk/bin/pkg-ruby-get-sources	2008-09-13 16:00:44 UTC (rev 2991)
@@ -22,6 +22,7 @@
 
 require 'uri'
 require 'net/http'
+require 'net/ftp'
 require 'yaml'
 require 'getoptlong'
 require 'open-uri'
@@ -178,11 +179,13 @@
   tarball_url.strip!
 
   # follow redirection
-  begin
-    tarball_url = follow(tarball_url)
-  rescue Net::HTTPFatalError => error
-    error_msg("HTTP Error: #{error}")
-    return false
+  if /^http:/.match(tarball_url)
+    begin
+      tarball_url = follow(tarball_url)
+    rescue Net::HTTPFatalError => error
+      error_msg("HTTP Error: #{error}")
+      return false
+    end
   end
 
   if tarball_url then
@@ -211,13 +214,34 @@
   tarball_name = "#{package}_#{version}.orig.#{ext}"
   filename = File.join($target_directory,tarball_name)
 
+  puts "Downloading #{tarball_url} ..."
+  puts "(each '.' means 5% of the download)"
+  if uri.scheme == "ftp"
+    download_ftp uri, filename
+  else
+    download_http uri, filename
+  end
+
+  orig_tarball = filename.sub(ext, 'tar.gz')
+
+  case ext
+    when 'tar.bz2'
+      puts "I: Converting #{filename} to #{orig_tarball}" if $verbose
+      system "bzcat '#{filename}' | gzip -c > '#{orig_tarball}'"
+    else
+      info_msg("Nothing to do for archive type: #{ext}") if $verbose
+  end
+
+  return true
+end
+
+# retrieve a package from an HTTP server
+def download_http(uri, filename)
   Net::HTTP.start(uri.host, uri.port) { |http|
     http.request_get(uri.path) { |res|
       total = res.header.content_length
       current = 0
       last_percent = 0
-      puts "Downloading #{tarball_url} ..."
-      puts "(each '.' means 5% of the download)"
       File.open(filename,'w') { |file|
         res.read_body { |part|
 
@@ -237,18 +261,29 @@
       info_msg("Saved #{filename}") if $verbose
     }
   }
+end
 
-  orig_tarball = filename.sub(ext, 'tar.gz')
+# retrieve a package from an FTP server
+def download_ftp(uri, filename)
+  ftp = Net::FTP.open(uri.host, uri.user || "anonymous",
+                      uri.password || "pkg-ruby-get-sources", uri.port)
+  total = ftp.size(uri.path)
+  current = 0
+  last_percent = 0
+  ftp.getbinaryfile(uri.path, filename) { |part|
+    current += part.length
+    percent = ((current * 100) / total)
+    while last_percent < percent
+      last_percent += 5
+      print(".")
+      $stdout.flush
+    end
+  }
+  puts
+  info_msg("Saved #{filename}") if $verbose
 
-  case ext
-    when 'tar.bz2'
-      puts "I: Converting #{filename} to #{orig_tarball}" if $verbose
-      system "bzcat '#{filename}' | gzip -c > '#{orig_tarball}'"
-    else
-      info_msg("Nothing to do for archive type: #{ext}") if $verbose
-  end
-
-  return true
+ensure
+  ftp.close if defined? ftp
 end
 
 package, version = guess_package

Modified: tools/ruby-pkg-tools/trunk/debian/changelog
===================================================================
--- tools/ruby-pkg-tools/trunk/debian/changelog	2008-09-13 10:15:27 UTC (rev 2990)
+++ tools/ruby-pkg-tools/trunk/debian/changelog	2008-09-13 16:00:44 UTC (rev 2991)
@@ -1,9 +1,17 @@
 ruby-pkg-tools (0.15) UNRELEASED; urgency=low
 
+  [ Lucas Nussbaum ]
   * NOT RELEASED YET
 
- -- Lucas Nussbaum <lucas at lucas-nussbaum.net>  Mon, 16 Jun 2008 14:48:01 +0200
+  [ Michael Schutte ]
+  * pkg-ruby-get-sources: Support downloading from FTP servers.
+  * 1/class/ruby-common.mk: Set LIB_PACKAGE_FILTER and LIB_DOC_PACKAGE_FILTER
+    with ?= instead of =.  Individual packages might want to override these
+    settings to build, for example, empty transitional packages.
+  * Add myself to the team.
 
+ -- Michael Schutte <m.schutte.jr at gmail.com>  Sat, 13 Sep 2008 17:49:44 +0200
+
 ruby-pkg-tools (0.14) unstable; urgency=high
 
   [ Antonio Terceiro ]

Modified: tools/ruby-pkg-tools/trunk/debian/control
===================================================================
--- tools/ruby-pkg-tools/trunk/debian/control	2008-09-13 10:15:27 UTC (rev 2990)
+++ tools/ruby-pkg-tools/trunk/debian/control	2008-09-13 16:00:44 UTC (rev 2991)
@@ -2,7 +2,7 @@
 Section: devel
 Priority: optional
 Maintainer: Paul van Tilburg <paulvt at debian.org>
-Uploaders: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>, Antonio Terceiro <terceiro at softwarelivre.org>, David Moreno Garza <damog at debian.org>, David Nusinow <dnusinow at debian.org>, Esteban Manchado Velázquez <zoso at debian.org>, Arnaud Cornet <arnaud.cornet at gmail.com>, Lucas Nussbaum <lucas at lucas-nussbaum.net>, Thierry Reding <thierry at doppeltgemoppelt.de>, Marc Dequènes (Duck) <Duck at DuckCorp.org>, Ari Pollak <ari at debian.org>, Daigo Moriwaki <daigo at debian.org>, Vincent Fourmond <vincent.fourmond at 9online.fr>, Rudi Cilibrasi <cilibrar at cilibrar.com>, Patrick Ringl <patrick_ at freenet.de>, Filipe Lautert <filipelautert at celepar.pr.gov.br>, Florian Ragwitz <rafl at debian.org>, Gunnar Wolf <gwolf at debian.org>, Maxim Komar <komar at ukr.net>
+Uploaders: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>, Antonio Terceiro <terceiro at softwarelivre.org>, David Moreno Garza <damog at debian.org>, David Nusinow <dnusinow at debian.org>, Esteban Manchado Velázquez <zoso at debian.org>, Arnaud Cornet <arnaud.cornet at gmail.com>, Lucas Nussbaum <lucas at lucas-nussbaum.net>, Thierry Reding <thierry at doppeltgemoppelt.de>, Marc Dequènes (Duck) <Duck at DuckCorp.org>, Ari Pollak <ari at debian.org>, Daigo Moriwaki <daigo at debian.org>, Vincent Fourmond <vincent.fourmond at 9online.fr>, Rudi Cilibrasi <cilibrar at cilibrar.com>, Patrick Ringl <patrick_ at freenet.de>, Filipe Lautert <filipelautert at celepar.pr.gov.br>, Florian Ragwitz <rafl at debian.org>, Gunnar Wolf <gwolf at debian.org>, Maxim Komar <komar at ukr.net>, Michael Schutte <m.schutte.jr at gmail.com>
 Build-Depends: cdbs, debhelper (>= 4.1)
 Standards-Version: 3.7.3
 Vcs-Browser: http://svn.debian.org/wsvn/pkg-ruby-extras/tools/ruby-pkg-tools/trunk/

Modified: tools/ruby-pkg-tools/trunk/pkg-ruby-extras.team
===================================================================
--- tools/ruby-pkg-tools/trunk/pkg-ruby-extras.team	2008-09-13 10:15:27 UTC (rev 2990)
+++ tools/ruby-pkg-tools/trunk/pkg-ruby-extras.team	2008-09-13 16:00:44 UTC (rev 2991)
@@ -19,4 +19,5 @@
 Maxim Komar <komar at ukr.net>,
 Stig Sandbeck Mathisen <ssm at linpro.no>,
 Leandro Nunes dos Santos <leandronunes at colivre.coop.br>,
-Roberto C. Sanchez <roberto at connexer.com>
+Roberto C. Sanchez <roberto at connexer.com>,
+Michael Schutte <m.schutte.jr at gmail.com>




More information about the Pkg-ruby-extras-commits mailing list