Dne 30.6.2013 12:03, Axilleas Pi napsal(a):
Hey Philip,
On 06/29/2013 01:09 AM, Philip Rhoades wrote:
> Vít,
>
>
> On 2013-02-26 19:42, Vít Ondruch wrote:
>> Dne 25.2.2013 22:01, Philip Rhoades napsal(a):
>>> People,
>>>
>>> A while ago I posted a note on the Devise forum asking if anyone was
>>> going to build an RPM for Fedora but didn't get any responses at all
>>> - no-one even viewed the post! What happens with Gems in this
>>> category? Am I supposed to do anything? Add a request somewhere?
>>
>> This will get probably the same attention as the post on Devise forum.
>> Sorry.
>>
>>> Use the Gem instead of an RPM while I wait for someone to do the work
>>> for creating the RPM?
>>
>> This is definitely option.
>>
The devise gem is on the TODO list of the packaging process about
GitLab. I was planning to get it done this week. I see that one of its
dependencies (orm_adapter) is not yet packaged for Fedora so, you'll
have to package it too. If you could wait one day or two that's fine
otherwise this is a nice chance to start and learn about the packaging
process :)
>>> Should I bite the bullet and see how to produce the RPM myself?
>>
>> And this is the best possibility. You can start here [1] and I'll be
>> happy to sponsor you.
>
>
> OK, I bit the bullet - after having to sort out a problem with
> installing the dev tools on F18, I got gem2rpm to produce the spec file
> for devise and following the instructions at:
>
>
http://fedoraproject.org/wiki/How_to_create_an_RPM_package
>
> produced a lot of stuff but no SRPMS or RPMS - the issue seems to be:
>
>
> error: Installed (but unpackaged) file(s) found:
> /usr/share/gems/gems/devise-2.2.4/.gitignore
> /usr/share/gems/gems/devise-2.2.4/.travis.yml
> /usr/share/gems/gems/devise-2.2.4/.yardopts
> /usr/share/gems/gems/devise-2.2.4/CHANGELOG.rdoc
> /usr/share/gems/gems/devise-2.2.4/CONTRIBUTING.md
> /usr/share/gems/gems/devise-2.2.4/Gemfile
> /usr/share/gems/gems/devise-2.2.4/Gemfile.lock
> /usr/share/gems/gems/devise-2.2.4/MIT-LICENSE
> /usr/share/gems/gems/devise-2.2.4/README.md
> /usr/share/gems/gems/devise-2.2.4/Rakefile
> /usr/share/gems/gems/devise-2.2.4/app/controllers/devise/confirmations_controller.rb
>
>
Now, running gem2rpm you have a nice template to start working on, but
it needs further tinkering to get it working.
Here's what I have learned these past months.
After the %prep, %build, %install and %check macros there is one
called %files. According to the rpm-guide [0], the %files list
indicates to RPM which files on the build system are to be packaged.
On the other hand, the section `%files doc` denotes what the
subpackage -doc will include as well. In there you can put everything
the gem owns except for the lib/ dir and the LICENSE l(icense should
always be declared in `%files` macro). But again that is not a strict
rule and is under the packager's discretion if he wants to include
files like the Rakefile/Gemfile. These should not be marked as
documentation files (%doc).
So, in your case these sections would be like:
----------
%files
%dir %{gem_instdir}
%{gem_libdir}
%{gem_spec}
%doc %{gem_instdir}/MIT-LICENSE
%exclude %{gem_cache}
%exclude %{gem_instdir}/.*
%files doc
%doc %{gem_docdir}
%doc %{gem_instdir}/CHANGELOG.rdoc
%doc %{gem_instdir}/CONTRIBUTING.md
%doc %{gem_instdir}/README.md
%{gem_instdir}/Rakefile
%{gem_instdir}/Gemfile
%{gem_instdir}/Gemfile.lock
%{gem_instdir}/gemfiles/
%{gem_instdir}/test/
%{gem_instdir}/%{gem_name}.gemspec
That is perfect.
----------
But again, maybe devise should be packaged as an app[1] since it
contains an app folder.
No, definitely not. Application has nothing to do with app folder. Not
sure what is app folder good for in Devise, but it looks to be as a
Rails Engine or something.
Vít