Bug#952546: bootstrap.min.js in pydoctor

2020-02-25 Thread Ian Jackson
For -devel, context is that Anthony Fok just uploaded a new upstream
version of pydoctor (a tool for extracting API docs for python
modules) in order to fix a couple of upstream bugs.  Anthony, thank
you very much for your work to help fix one of our (mutual) indirect
dependencies.

Unfortunately the new pydoctor has some DFSG issues (#952546, CC'd).

I am hoping that -devel can advise what the conventional approach is
to the package containing a sourceless copy of bootstrap.min.js.

I'm guessing that the answer is to strip the sourceless file from the
package, and have the binary package contain a symlink into the file
tree of some other package which contains an appropriate bootstrap
file ?  But is this right, and if so which package ?

I vaguely remembered this having been discussed before but I couldn't
find the conclusions written down anywhere.  I looked in quite a few
places for answers to this: I searched the lintian tags for missing
source, but they all seemed quite generic.  I tried to search -devel
archives for "bootstrap" (too many hits) and "bootstrap.min.js"
(nothing relevant).  I tried various wiki searches too.

(The d/copyright problem with epydoc should be easy if tedious to fix;
I don't understand why it wants epydoc which I thought was obsolete
but this is far from my field of expertise.)

Regards,
Ian.



Bug#952546: bootstrap.min.js in pydoctor

2020-02-25 Thread Jonas Smedegaard
Quoting Ian Jackson (2020-02-25 18:40:47)
> For -devel, context is that Anthony Fok just uploaded a new upstream 
> version of pydoctor (a tool for extracting API docs for python 
> modules) in order to fix a couple of upstream bugs.  Anthony, thank 
> you very much for your work to help fix one of our (mutual) indirect 
> dependencies.
> 
> Unfortunately the new pydoctor has some DFSG issues (#952546, CC'd).
> 
> I am hoping that -devel can advise what the conventional approach is 
> to the package containing a sourceless copy of bootstrap.min.js.
> 
> I'm guessing that the answer is to strip the sourceless file from the 
> package, and have the binary package contain a symlink into the file 
> tree of some other package which contains an appropriate bootstrap 
> file ?  But is this right, and if so which package ?
> 
> I vaguely remembered this having been discussed before but I couldn't 
> find the conclusions written down anywhere.  I looked in quite a few 
> places for answers to this: I searched the lintian tags for missing 
> source, but they all seemed quite generic.  I tried to search -devel 
> archives for "bootstrap" (too many hits) and "bootstrap.min.js" 
> (nothing relevant).  I tried various wiki searches too.

If you need Bootstrap 3.x, then add symlink to path 
/usr/share/javascript/bootstrap/js/bootstrap.min.js and depend on 
package libjs-bootstrap.

If instead you need Bootstrap 4.x, then you should do something similar 
but for some path below /usr/share/javascript/bootstrap4 and package 
libjs-bootstrap4 (I am vague here because that package apparently use a 
symlink internally requiring actually installing the package to know for 
certain which exact path it is - no, you should *not* link below 
/usr/share/nodejs as that path is not reliable).

 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc
Description: signature


Bug#952546: bootstrap.min.js in pydoctor

2020-02-25 Thread Colin Watson
On Tue, Feb 25, 2020 at 05:40:47PM +, Ian Jackson wrote:
> (The d/copyright problem with epydoc should be easy if tedious to fix;
> I don't understand why it wants epydoc which I thought was obsolete
> but this is far from my field of expertise.)

epydoc has been unmaintained for a long time, but the API documentation
of various projects (notably Twisted) still relies on its docstring
format for automatically-generated HTML documentation in a way that
would be extremely tedious to replace with something else.  As a result,
the approach that the Twisted developers ended up taking for pydoctor
was to take a copy of the bits of epydoc that they needed and port those
bits to Python 3 themselves.

(This is second-hand; I'm not on the Twisted team, but I contribute a
fair bit there and generally keep an eye on what they're doing since we
rely on Twisted at work.)

-- 
Colin Watson   [cjwat...@debian.org]



Bug#952546: bootstrap.min.js in pydoctor

2020-02-25 Thread Anthony Fok
Control: tags -1 + pending

On Tue, Feb 25, 2020 at 12:06 PM Colin Watson  wrote:
>
> On Tue, Feb 25, 2020 at 05:40:47PM +, Ian Jackson wrote:
> > (The d/copyright problem with epydoc should be easy if tedious to fix;
> > I don't understand why it wants epydoc which I thought was obsolete
> > but this is far from my field of expertise.)
>
> epydoc has been unmaintained for a long time, but the API documentation
> of various projects (notably Twisted) still relies on its docstring
> format for automatically-generated HTML documentation in a way that
> would be extremely tedious to replace with something else.  As a result,
> the approach that the Twisted developers ended up taking for pydoctor
> was to take a copy of the bits of epydoc that they needed and port those
> bits to Python 3 themselves.
>
> (This is second-hand; I'm not on the Twisted team, but I contribute a
> fair bit there and generally keep an eye on what they're doing since we
> rely on Twisted at work.)

Thank you Sean for the heads-up, and thank you Ian, Jonas and Colin
for your valuable and helpful comments.

A fix to this bug is almost ready: I have expanded d/copyright to
include the missing epydoc and bootstrap.min.css copyright info, and
added debian/missing-sources/bootstrap.css (vanilla Bootstrap v3.3.4,
equivalent to the embedded minified version, from Bootstrap CDN).

... though I discovered I foolishly uploaded an essentially empty
pydoctor binary package, and I may end up renaming it
python3-pydoctor, similar to how it was named python-pydoctor for the
Python2 version.  That's most likely why Lintian did not pick up on
the "bootstrap.min.css" missing source issue.  Jonas, thanks for
letting me know about linking to bootstrap.min.css in libjs-bootstrap;
I'll do that.

Cheers,
Anthony



Bug#952546: bootstrap.min.js in pydoctor

2020-02-25 Thread Jonas Smedegaard
Quoting Anthony Fok (2020-02-25 22:35:03)
> A fix to this bug is almost ready: I have expanded d/copyright to 
> include the missing epydoc and bootstrap.min.css copyright info, and 
> added debian/missing-sources/bootstrap.css (vanilla Bootstrap v3.3.4, 
> equivalent to the embedded minified version, from Bootstrap CDN).

If the package ships copy of bootstrap.min.css then I suggest to also 
strip that and symlink to the css in the libjs-bootstrap package.

 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc
Description: signature