]> git.pld-linux.org Git - packages/fpm-cookery.git/commitdiff
add support for rpm %attr
authorElan Ruusamäe <glen@delfi.ee>
Wed, 26 Aug 2015 12:06:04 +0000 (15:06 +0300)
committerElan Ruusamäe <glen@delfi.ee>
Wed, 26 Aug 2015 12:06:09 +0000 (15:06 +0300)
https://github.com/bernd/fpm-cookery/pull/120

fpm-cookery.spec
rpm-attributes.patch [new file with mode: 0644]

index 86b3e2f7cef002db6179a325c8c022bf7e0147e2..77ce461a0a5b18b353a6cceaf980ca3fc425fe77 100644 (file)
@@ -5,12 +5,13 @@
 Summary:       A tool for building software packages with fpm
 Name:          fpm-cookery
 Version:       0.29.0
-Release:       0.2
+Release:       0.5
 License:       BSD
 Group:         Development/Languages
 Source0:       http://rubygems.org/downloads/%{name}-%{version}.gem
 # Source0-md5: bd210d6acb6a0519f8d940200917eefe
 Patch0:                svn-ignore-externals.patch
+Patch1:                rpm-attributes.patch
 URL:           https://github.com/bernd/fpm-cookery
 BuildRequires: rpm-rubyprov
 BuildRequires: rpmbuild(macros) >= 1.656
@@ -40,6 +41,7 @@ A tool for building software packages with fpm.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
 
 %build
diff --git a/rpm-attributes.patch b/rpm-attributes.patch
new file mode 100644 (file)
index 0000000..c454cde
--- /dev/null
@@ -0,0 +1,58 @@
+diff --git a/lib/fpm/cookery/package/package.rb b/lib/fpm/cookery/package/package.rb
+index 4d80344..38ec07a 100644
+--- a/lib/fpm/cookery/package/package.rb
++++ b/lib/fpm/cookery/package/package.rb
+@@ -42,6 +42,9 @@ module FPM
+           # overwrite the values from package_setup().
+           @fpm.attributes.merge!(recipe.fpm_attributes)
++          # also merge fpm.attrs (for %attr flags, rpm specific)
++          @fpm.attrs.merge!(recipe.rpm_attributes)
++
+           # The input for the FPM package will be set here.
+           package_input
+diff --git a/lib/fpm/cookery/recipe.rb b/lib/fpm/cookery/recipe.rb
+index ab23ca3..628b4a2 100644
+--- a/lib/fpm/cookery/recipe.rb
++++ b/lib/fpm/cookery/recipe.rb
+@@ -42,6 +42,7 @@ module FPM
+         # class variable.
+         klass.instance_variable_set(:@fpm_attributes, self.fpm_attributes.dup)
+         klass.instance_variable_set(:@environment, self.environment.dup)
++        klass.instance_variable_set(:@rpm_attributes, self.rpm_attributes.dup)
+       end
+       def self.platforms(valid_platforms)
+@@ -101,11 +102,23 @@ module FPM
+           @fpm_attributes
+         end
++        # record attributes[foo] = bar
++        # Supports both hash and argument assignment
++        #   rpm_attributes[:attr1] = xxxx
++        #   rpm_attributes :xxxx=>1, :yyyy=>2
++        def rpm_attributes(args=nil)
++          if args.is_a?(Hash)
++            @rpm_attributes.merge!(args)
++          end
++          @rpm_attributes
++        end
++
+         def environment
+           @environment
+         end
+       end
+       @fpm_attributes = {}
++      @rpm_attributes = {}
+       @environment = FPM::Cookery::Environment.new
+       def initialize(filename, config)
+@@ -132,6 +145,7 @@ module FPM
+       def pkgdir(path = nil)   (@pkgdir   || workdir('pkg'))/path         end
+       def cachedir(path = nil) (@cachedir || workdir('cache'))/path       end
+       def fpm_attributes() self.class.fpm_attributes end
++      def rpm_attributes() self.class.rpm_attributes end
+       def environment()        self.class.environment                      end
+       # Resolve dependencies from omnibus package.
This page took 0.068667 seconds and 4 git commands to generate.