Ticket #304 (closed defect: fixed)

Opened 23 months ago

Last modified 3 months ago

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

Reported by: gerd Owned by: tibbs
Priority: minor Milestone:
Component: Bundled Library Exception Version:
Keywords: Cc: mtasaka
Blocked By: Blocking:

Description

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.

Change History

comment:1 Changed 23 months ago by gerd

Typo: So there should not exist a problem.

comment:2 Changed 23 months ago by toshio

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.

comment:3 Changed 23 months ago by spot

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.

comment:4 Changed 22 months ago by gerd

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

comment:5 Changed 4 months ago by tibbs

  • Component changed from Guideline Draft to Bundled Library Exception

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

comment:6 Changed 4 months ago by gerd

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

comment:7 Changed 4 months ago by tibbs

  • Status changed from new to meeting
  • Owner set to tibbs

comment:8 Changed 3 months ago by orion

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

comment:9 Changed 3 months ago by james

  • Status changed from meeting to needinfo

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

comment:10 Changed 3 months ago by mtasaka

  • Cc mtasaka added

comment:11 Changed 3 months ago by mtasaka

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?

comment:12 Changed 3 months ago by james

  • Status changed from needinfo to closed
  • Resolution set to fixed

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)
Note: See TracTickets for help on using tickets.