Check-in [de11005c30]
Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add PEAR support |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
de11005c30c624446a41e3197c706d8a |
User & Date: | andrew@agaffney.org 2012-02-03 20:38:37 |
Context
2012-02-14
| ||
19:42 | Merge pull request #152 from agaffney/master Add support for PEAR check-in: 7c62316dd2 user: jls@semicomplete.com tags: trunk | |
2012-02-03
| ||
20:38 | Add PEAR support check-in: de11005c30 user: andrew@agaffney.org tags: trunk | |
2012-02-02
| ||
16:08 | Merge pull request #146 from zllak/bug/deb Try to make packages built from python sources sanely named. check-in: 238efb084b user: jls@semicomplete.com tags: trunk | |
Changes
Changes to lib/fpm.rb.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | require "fpm/namespace" require "fpm/builder" require "fpm/package" require "fpm/target/deb" require "fpm/target/rpm" require "fpm/target/solaris" require "fpm/target/puppet" require "fpm/source" require "fpm/source/dir" require "fpm/source/gem" require "fpm/source/python" require "fpm/source/rpm" require "fpm/source/tar" | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | require "fpm/namespace" require "fpm/builder" require "fpm/package" require "fpm/target/deb" require "fpm/target/rpm" require "fpm/target/solaris" require "fpm/target/puppet" require "fpm/source" require "fpm/source/dir" require "fpm/source/gem" require "fpm/source/pear" require "fpm/source/python" require "fpm/source/rpm" require "fpm/source/tar" |
Added lib/fpm/source/pear.rb.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | require "fpm/namespace" require "fpm/source" require "fileutils" require "fpm/util" class FPM::Source::Pear < FPM::Source def self.flags(opts, settings) opts.on("--package-prefix PREFIX", "Prefix for PEAR packages") do |package_prefix| settings.source[:package_prefix] = package_prefix end end # def flags def get_metadata @pear_package = @paths.first pear_cmd = "pear remote-info #{@pear_package}" self[:name] = %x{#{pear_cmd} | sed -ne '/^Package\s*/s/^Package\s*//p'}.chomp self[:version] = %x{#{pear_cmd} | sed -ne '/^Latest\s*/s/^Latest\s*//p'}.chomp self[:summary] = %x{#{pear_cmd} | sed -ne '/^Summary\s*/s/^Summary\s*//p'}.chomp if self[:settings][:package_prefix] self[:package_prefix] = self[:settings][:package_prefix] else self[:package_prefix] = "php-pear" end self[:name] = "#{self[:package_prefix]}-#{self[:name]}" end # def get_metadata def make_tarball!(tar_path, builddir) tmpdir = "#{tar_path}.dir" ::Dir.mkdir(tmpdir) safesystem("pear install -n -f -P #{tmpdir} #{@pear_package}") # Remove the stuff we don't want ['.depdb', '.depdblock', '.filemap', '.lock'].each { |f| safesystem("find #{tmpdir} -type f -name '#{f}' -exec rm {} \\;") } # find exits non-zero even though it works, so we have to work around that safesystem("find #{tmpdir} -type d -name '.channel*' -exec rm -rf {} \\; 2>/dev/null; exit 0") tar(tar_path, '.', tmpdir) @paths = %x{find #{tmpdir} -mindepth 1 -maxdepth 1 -type d | sed -e 's:^#{tmpdir}:.:'}.split("\n") safesystem(*["gzip", "-f", tar_path]) end end # class FPM::Source::Gem |