[Fedora-packaging] New packaging guidelines for Ruby

Vít Ondruch vondruch at redhat.com
Wed Feb 29 12:21:55 UTC 2012


Dne 29.2.2012 12:43, Mo Morsi napsal(a):
>> Ok, I'll give you 3 examples:
>>
>> = Old guidelines, used from the time RubyGems were packaged for Fedora =
>>
>> %prep
>>
>> %build
>>
>> %install
>> mkdir -p %{buildroot}%{gem_dir}
>> gem install --local --install-dir %{buildroot}%{gem_dir} \
>>              --force %{SOURCE0}
>>
>>
>>
>>
>> = What we are proposing =
>>
>> %prep
>> %setup -q -c -T
>> mkdir -p .%{gem_dir}
>> gem install --local --install-dir .%{gem_dir} \
>>              --force %{SOURCE0}
>>
>> %build
>>
>> %install
>> mkdir -p %{buildroot}%{gem_dir}
>> cp -a .%{gem_dir}/* \
>>          %{buildroot}%{gem_dir}/
>>
>>
>>
>>
>> = What FPC is proposing =
>>
>> %prep
>> %setup -q -c -T
>> pushd ..
>> gem unpack %{SOURCE0}
>>
>> pushd %{gem_name}-%{version}
>> gem spec %{SOURCE0} -l --ruby>  %{gem_name}.gemspec
>>
>> gem build %{gem_name}.gemspec
>> popd
>> popd
>>
>> %build
>> mkdir -p ./%{gem_dir}
>> gem install --local --install-dir ./%{gem_dir} \
>>      --force    ../%{gem_name}-%{version}/%{gem_name}-%{version}.gem
>>
>> %install
>> mkdir -p %{buildroot}%{gem_dir}
>> cp -a .%{gem_dir}/* \
>>          %{buildroot}%{gem_dir}/
>>
>>
>> All three versions provide the same output, unless I did some mistake,
>> since I did not tested it (actually the middle one was taken directly
>> from rubygem-POpen4.spec). So which version you prefer? Please note
>> that the "gem install" will always "unpack" the gem with some
>> additional, for our case unimportant, steps. We do not distribute the
>> .gem file anywhere.
> Alternatively we can go with a hybrid of solutions 2 and 3 (your and
> FPC's proposals) where the 'gem unpack' and 'gem spec' steps are optional.

Yes, that was always part of the proposal. Apply the 3rd step only if 
necessary.

Vit

>
> The majority of gems do not need an additional modification or patching
> to be converted into a RPM. Yes these steps bring things more inline w/
> other packages, but at the expense of unnecessary additional work.
>
> If the solution is to suggest gem unpack / gem spec is used while
> allowing for it to be omitted (still need to determine if gem install
> should still be run in the %build or %install sections), package
> maintainers will have a bit more flexibility to run the steps necessary
> to build their package w/out any additional work, while at the same time
> still being more compliant and in-line w/ other Fedora practices.
>
> Thoughts?
>
> As a side node, if at all possible, please make sure to cc' both lists
> (packaging and ruby-sig) on replies as this discussion is relevant to
> both communities. Noticed alot of discussion only on the packaging list
> meaning the Fedora ruby community is missing out on alot of this.
>
> Appreciate it,
>
>    -Mo
>
>
>



More information about the packaging mailing list