On Thu, Apr 22, 2010 at 09:35:14AM +0530, Deepak Tripathi wrote: > 2) I have already created a script repack.sh to convert > gemtotar format. we can use this (if it is not buggy). its > available in svn[2]. let me know your input.
Looking at the script, I'm not sure about its purpose: #!/bin/sh # Repackage upstream source to exclude non-distributable files # should be called as "repack.sh --upstream-source <ver> # <downloaded file> (for example, via uscan) set -e set -u VER="$2" FILE="$3" PKG=`dpkg-parsechangelog|grep ^Source:|sed 's/^Source: //'` Does it need an already existing Debian package, or am I misunderstanding something? Also: # Create an extra directory to cope with rootless tarballs UP_BASE="$DIR/unpack" mkdir "$UP_BASE" gem unpack "$FILE" --target "$UP_BASE" If I try for example: $ gem unpack caper-0.2.0.gem --target $PWD/test-dir ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /var/lib/gems/1.8 directory. and test-dir/caper-0.2.0 gets created, but it's empty. When I was exploring a similar idea, I was thinking of going with: DIR=`basename "$gem" .gem` mkdir "$DIR" tar xOf "$gem" data.tar.gz | tar -C "$DIR" -xzf - And using the gem metadata to extract things like the gem name, version, etc. But then I realised that it's better to use Rubygem's library, which allows for something like: require 'rubygems/format' format = Gem::Format.from_file_by_path ARGV.first spec = format.spec puts "Gem: #{spec.name} (#{spec.version})" format.file_entries.each do |entry, data| # entry['path'] is the file's path # entry['mode'] is the file's mode # data contains the actual file data # you only need to add sanity checks and filters here and # write data to entry['path'] end It's a real pity that the gem spec does not include the license information in a machine readable format. Cheers, Marcelo -- To UNSUBSCRIBE, email to debian-ruby-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100422133352.ga30...@esk