#304 asking for bundling exception for the package "rubygem-rdiscount"

Created 3 years ago by gerd
Modified 3 months ago

The problem is discussed in the bug report:

https://bugzilla.redhat.com/show_bug.cgi?id=964940

%{_libdir}/libmarkdown.so

and

%{_libdir}/gems/exts/rdiscount-<version>/lib/rdiscount.so

depend on building from some same C source files.

The library 'rdiscount.so' is not in search path for libraries and will only be loaded with an ruby application. So are should not be a problem. I see no way to make a better build of the rubygem-rdiscount package.

Typo: So there should not exist a problem.

I see nothing in this ticket that would justify a bundling exception. it appears that your argument is that being equivalent to static linking is a valid reason for a bundling exception.

This is not the case.

Being equivalent to static linking could be a valid reason to allow static linking. Bundling is a different issue. Please read and understand: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries and consider answering the questions in https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Standard_questions as those might help your case.

This ticket is being tabled until the reporter provides the answers to the questions in:
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Standard_questions

Once those answers are provided, we will consider this request.

Sorry, I have had no time to answer the questions earlier.

  • Has the library behaviour been modified?

Some source files have been modified. Some functions have more parameters. I do not know why.

  • Could we make the forked version the canonical version within Fedora?

No, this should not be done. It should only be used within the rubygem.

  • Are the changes useful to consumers other than the bundling application?

No

  • Is upstream keeping the base library updated or are they continuously one or more versions behind the latest upstream release?

The last time I looked at it, they use the current version.

  • What is the attitude of upstream towards bundling?

It is the standard way to building rubygems. This should also be a problem with other gems.

  • Overview of the security ramifications of bundling

There should not be a security problem. The code will used only in der ruby application.

  • Does the maintainer of the Fedora package of the library being bundled have any comments about this?

Not yet. I will a comment to package when I get the excepting of bundling.

  • Is there a plan for unbundling the library at a later time?

May be the way of building rubygems will change. May be the discount package be provide a static library and it is possible to link against this.

  • Please include any relevant documentation

URL: https://rubygems.org/gems/rdiscount

Owner:
https://rubygems.org/profiles/rtomayko
https://rubygems.org/profiles/davidfstr

bugzilla ticket:
https://bugzilla.redhat.com/show_bug.cgi?id=964940

I've no idea why this never made it to committee. Is this still relevant?

If the package should not be retired, it is still relevant.

All of the common source files between the rubygem-rdiscount package and discount are identical (in rawhide). I know nothing about rubygems, but rdiscount should build against libmarkdown instead of copying the files.
{{{
$ diff -sru discount/discount-2.1.7 rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/ | grep -vF .o | grep -F .c
Files discount/discount-2.1.7/amalloc.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/amalloc.c are identical
Files discount/discount-2.1.7/basename.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/basename.c are identical
Files discount/discount-2.1.7/Csio.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/Csio.c are identical
Files discount/discount-2.1.7/css.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/css.c are identical
Files discount/discount-2.1.7/docheader.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/docheader.c are identical
Files discount/discount-2.1.7/dumptree.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/dumptree.c are identical
Files discount/discount-2.1.7/emmatch.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/emmatch.c are identical
Files discount/discount-2.1.7/flags.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/flags.c are identical
Files discount/discount-2.1.7/generate.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/generate.c are identical
Files discount/discount-2.1.7/github_flavoured.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/github_flavoured.c are identical
Files discount/discount-2.1.7/html5.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/html5.c are identical
Only in discount/discount-2.1.7: main.c
Only in discount/discount-2.1.7: makepage.c
Files discount/discount-2.1.7/markdown.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/markdown.c are identical
Only in discount/discount-2.1.7: mkd2html.c
Files discount/discount-2.1.7/mkdio.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/mkdio.c are identical
Files discount/discount-2.1.7/mktags.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/mktags.c are identical
Files discount/discount-2.1.7/pgm_options.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/pgm_options.c are identical
Only in rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/: rdiscount.c
Files discount/discount-2.1.7/resource.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/resource.c are identical
Files discount/discount-2.1.7/setup.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/setup.c are identical
Files discount/discount-2.1.7/tags.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/tags.c are identical
Only in discount/discount-2.1.7: theme.c
Files discount/discount-2.1.7/toc.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/toc.c are identical
Only in rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/: version.c
Only in discount/discount-2.1.7: version.c.in
Files discount/discount-2.1.7/xml.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/xml.c are identical
Files discount/discount-2.1.7/xmlpage.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/xmlpage.c are identical
[orion @barry fedora]$ diff -sru discount/discount-2.1.7 rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/ | grep -vF .o | grep -F .c | sort
Files discount/discount-2.1.7/amalloc.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/amalloc.c are identical
Files discount/discount-2.1.7/basename.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/basename.c are identical
Files discount/discount-2.1.7/Csio.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/Csio.c are identical
Files discount/discount-2.1.7/css.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/css.c are identical
Files discount/discount-2.1.7/docheader.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/docheader.c are identical
Files discount/discount-2.1.7/dumptree.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/dumptree.c are identical
Files discount/discount-2.1.7/emmatch.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/emmatch.c are identical
Files discount/discount-2.1.7/flags.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/flags.c are identical
Files discount/discount-2.1.7/generate.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/generate.c are identical
Files discount/discount-2.1.7/github_flavoured.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/github_flavoured.c are identical
Files discount/discount-2.1.7/html5.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/html5.c are identical
Files discount/discount-2.1.7/markdown.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/markdown.c are identical
Files discount/discount-2.1.7/mkdio.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/mkdio.c are identical
Files discount/discount-2.1.7/mktags.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/mktags.c are identical
Files discount/discount-2.1.7/pgm_options.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/pgm_options.c are identical
Files discount/discount-2.1.7/resource.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/resource.c are identical
Files discount/discount-2.1.7/setup.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/setup.c are identical
Files discount/discount-2.1.7/tags.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/tags.c are identical
Files discount/discount-2.1.7/toc.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/toc.c are identical
Files discount/discount-2.1.7/xml.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/xml.c are identical
Files discount/discount-2.1.7/xmlpage.c and rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/xmlpage.c are identical
Only in discount/discount-2.1.7: main.c
Only in discount/discount-2.1.7: makepage.c
Only in discount/discount-2.1.7: mkd2html.c
Only in discount/discount-2.1.7: theme.c
Only in discount/discount-2.1.7: version.c.in
Only in rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/: rdiscount.c
Only in rubygem-rdiscount/rubygem-rdiscount-2.1.7.1/usr/share/gems/gems/rdiscount-2.1.7.1/ext/: version.c
}}}

We discussed this at today's meeting (http://meetbot.fedoraproject.org/fedora-meeting-1/2015-01-22/fpc.2015-01-22-17.01.txt), and didn't vote but saw no reason to grant a bundling exception

I fixed so that rubygem-rdiscount-2.1.7.1-7.fc2{2,1} uses system libmarkdown.so.

Does F-20 rubygem-rdiscount also need fixing?

We discussed this at the meeting today (http://meetbot.fedoraproject.org/fedora-meeting-1/2015-01-29/fpc.2015-01-29-17.01.txt):

  • 304 asking for bundling exception for the package


    "rubygem-rdiscount" (geppetto, 18:04:14)
  • LINK: https://fedorahosted.org/fpc/ticket/304 (geppetto, 18:04:18)
  • ACTION: Leaving F20 is fine, as long as the next update can rebase
    to the F21/F22. (geppetto, 18:06:09)
3 months ago

Metadata Update from @james:
- Issue assigned to tibbs

Login to comment on this ticket.

cancel