Re: bootstrap.min.js in pydoctor

2020-03-08 Thread Anthony Fok
On Thu, Mar 5, 2020 at 3:52 AM Jonas Smedegaard  wrote:
>
> Quoting Jonathan Carter (2020-03-05 10:44:50)
> > On 2020/03/05 00:47, Sam Hartman wrote:
> I agree for the _binary_ packages but not for the _source_ package.
>
> The changelog entry which Anthony referenced¹ says this:
>
> > * Add missing embedded epydoc and Bootstrap copyright info as well as
> >   non-minified source for bootstrap.min.css (Bootstrap v3.3.4) for
> >   DFSG compliance.
> [...]
> > * Symlink to bootstrap.min.css from libjs-bootstrap instead of
> >   shipping pydoctor included bootstrap.min.css v3.3.4 from 2015
>
> As I understand the above, what was corrected for DFSG compliance was a
> verification that the code included with the _source_ package was a
> minification of css released by the Bootstrap3 project.
>
> I think that is a misunderstanding: Commonly this is indeed one way to
> ensure DFSG compliance, but in this case - as Sam pointed out - it is
> not enough.
>
> Source package must include the _source_ for the minified css, which in
> this case is _not_ non-minified css but less code.

Good point!  After reading your message, I went ahead and included the
less source code from Bootstrap 3.3.4 and made a new upload of
pydoctor, see:

* 
https://salsa.debian.org/python-team/applications/pydoctor/-/commit/f1c8209623b3b18e1d2019abcd2b1be1b04ab5d9
* 
https://tracker.debian.org/news/1107020/accepted-pydoctor-19110git2020030347424e7-1-source-into-unstable/

Cheers,

Anthony



Re: bootstrap.min.js in pydoctor

2020-03-05 Thread Jonas Smedegaard
Quoting Jonathan Carter (2020-03-05 10:44:50)
> On 2020/03/05 00:47, Sam Hartman wrote:
> > Anthony> Files:
> > Anthony> debian/missing-sources/pydoctor/templates/bootstrap.css
> > Anthony> pydoctor/templates/bootstrap.min.css Copyright: 2011-2015
> > Anthony> Twitter, Inc.  Embedded copy of normalize.css v3.0.2:
> > Anthony> 2011-2014 Nicolas Gallagher License: Expat Comment: These
> > Anthony> files are copies of vanilla Bootstrap v3.3.4 CSS files,
> > Anthony> identical to those distributed on Bootstrap CDN: *
> > Anthony> 
> > https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.css
> > Anthony> *
> > Anthony> 
> > https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css
> > 
> > Is the css file actually source code though?
> > At least for bootstrap 4, the source code is in sas and the css is not
> > the preferred form for modification.
> > I think bootstrap has been using sas for a long time, so I suspect css
> > is not source code for bootstrap 3 either.
> 
> That's not really an issue in the context of the original question,
> Anthony's answer is the correct approach here, that is, patch the
> application (or use a symlink or whatever) to use the CSS file provided
> by the libjs-bootstrap4 package.
> 
> Using the CSS file from the libjs-bootstrap4 doesn't present any kind of
> DFSG issue since that package builds the CSS file from the original sass
> sources, see:
> https://salsa.debian.org/js-team/twitter-bootstrap4/-/blob/master/debian/rules

I agree for the _binary_ packages but not for the _source_ package.

The changelog entry which Anthony referenced¹ says this:

> * Add missing embedded epydoc and Bootstrap copyright info as well as 
>   non-minified source for bootstrap.min.css (Bootstrap v3.3.4) for 
>   DFSG compliance.
[...]
> * Symlink to bootstrap.min.css from libjs-bootstrap instead of 
>   shipping pydoctor included bootstrap.min.css v3.3.4 from 2015

As I understand the above, what was corrected for DFSG compliance was a 
verification that the code included with the _source_ package was a 
minification of css released by the Bootstrap3 project.

I think that is a misunderstanding: Commonly this is indeed one way to 
ensure DFSG compliance, but in this case - as Sam pointed out - it is 
not enough.

Source package must include the _source_ for the minified css, which in 
this case is _not_ non-minified css but less code.


 - Jonas

¹ 
https://tracker.debian.org/news/1104779/accepted-pydoctor-19110git20200114c74016b-2-source-into-unstable/

-- 
 * 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


Re: bootstrap.min.js in pydoctor

2020-03-05 Thread Jonathan Carter
On 2020/03/05 00:47, Sam Hartman wrote:
> Anthony> Files:
> Anthony> debian/missing-sources/pydoctor/templates/bootstrap.css
> Anthony> pydoctor/templates/bootstrap.min.css Copyright: 2011-2015
> Anthony> Twitter, Inc.  Embedded copy of normalize.css v3.0.2:
> Anthony> 2011-2014 Nicolas Gallagher License: Expat Comment: These
> Anthony> files are copies of vanilla Bootstrap v3.3.4 CSS files,
> Anthony> identical to those distributed on Bootstrap CDN: *
> Anthony> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.css
> Anthony> *
> Anthony> 
> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css
> 
> Is the css file actually source code though?
> At least for bootstrap 4, the source code is in sas and the css is not
> the preferred form for modification.
> I think bootstrap has been using sas for a long time, so I suspect css
> is not source code for bootstrap 3 either.

That's not really an issue in the context of the original question,
Anthony's answer is the correct approach here, that is, patch the
application (or use a symlink or whatever) to use the CSS file provided
by the libjs-bootstrap4 package.

Using the CSS file from the libjs-bootstrap4 doesn't present any kind of
DFSG issue since that package builds the CSS file from the original sass
sources, see:
https://salsa.debian.org/js-team/twitter-bootstrap4/-/blob/master/debian/rules

-Jonathan



Re: bootstrap.min.js in pydoctor

2020-03-04 Thread Jonas Smedegaard
Quoting Sam Hartman (2020-03-04 23:47:00)
> > "Anthony" == Anthony Fok  writes:
> 
> Anthony> Indeed, which option is easier or more feasible depends on
> Anthony> the scenario.
> 
> Anthony> In this particular case with pydoctor, I was quite lucky
> Anthony> because its included bootstrap.min.css is exactly what
> Anthony> Twitter distributed officially, so the exact unminified
> Anthony> version was easily found:
> 
> Anthony> Files:
> Anthony> debian/missing-sources/pydoctor/templates/bootstrap.css
> Anthony> pydoctor/templates/bootstrap.min.css Copyright: 2011-2015
> Anthony> Twitter, Inc.  Embedded copy of normalize.css v3.0.2:
> Anthony> 2011-2014 Nicolas Gallagher License: Expat Comment: These
> Anthony> files are copies of vanilla Bootstrap v3.3.4 CSS files,
> Anthony> identical to those distributed on Bootstrap CDN: *
> Anthony> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.css
> Anthony> *
> Anthony> 
> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css
> 
> Is the css file actually source code though?
> At least for bootstrap 4, the source code is in sas and the css is not
> the preferred form for modification.
> I think bootstrap has been using sas for a long time, so I suspect css
> is not source code for bootstrap 3 either.

Good point, only slightly wrong: Bootstrap 3 uses less, Bootstrap 4 uses 
(scss encoding of) sass (spelled with 3 s'es).  So indeed css is _not_ 
the source, even for Booststrap 3.

 - 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


Re: bootstrap.min.js in pydoctor

2020-03-04 Thread Sam Hartman
> "Anthony" == Anthony Fok  writes:

Anthony> Indeed, which option is easier or more feasible depends on
Anthony> the scenario.

Anthony> In this particular case with pydoctor, I was quite lucky
Anthony> because its included bootstrap.min.css is exactly what
Anthony> Twitter distributed officially, so the exact unminified
Anthony> version was easily found:

Anthony> Files:
Anthony> debian/missing-sources/pydoctor/templates/bootstrap.css
Anthony> pydoctor/templates/bootstrap.min.css Copyright: 2011-2015
Anthony> Twitter, Inc.  Embedded copy of normalize.css v3.0.2:
Anthony> 2011-2014 Nicolas Gallagher License: Expat Comment: These
Anthony> files are copies of vanilla Bootstrap v3.3.4 CSS files,
Anthony> identical to those distributed on Bootstrap CDN: *
Anthony> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.css
Anthony> *
Anthony> 
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css

Is the css file actually source code though?
At least for bootstrap 4, the source code is in sas and the css is not
the preferred form for modification.
I think bootstrap has been using sas for a long time, so I suspect css
is not source code for bootstrap 3 either.

--Sam



Re: bootstrap.min.js in pydoctor

2020-02-26 Thread Anthony Fok
On Wed, Feb 26, 2020 at 3:31 AM Johannes Schauer  wrote:
>
> Quoting Daniel Leidert (2020-02-26 10:27:03)
> > Am Dienstag, den 25.02.2020, 17:40 + schrieb 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 ?
> >
> > You don't have to strip it if the unminified version is added under
> > debian/missing-sources/ with an appropriate entry in d/copyright.
> >
> > The final package however should not use it but instead rely on whatever
> > package provides bootstrap.js or its minified version.
>
> but if you add the unminified version under debian/missing-sources then it has
> to be the exact right version that produces precisely the minified version you
> have. I so far found the trouble I have to go through to verify this, is *far*
> too much compared to putting a simple Files-Excluded into debian/copyright and
> a dversionmangle and repacksuffix into my debian/watch -- especially because I
> cannot use the shipped minified version in the end anyways.

Indeed, which option is easier or more feasible depends on the scenario.

In this particular case with pydoctor, I was quite lucky because its
included bootstrap.min.css is exactly what Twitter distributed
officially, so the exact unminified version was easily found:

Files: debian/missing-sources/pydoctor/templates/bootstrap.css
   pydoctor/templates/bootstrap.min.css
Copyright: 2011-2015 Twitter, Inc.
   Embedded copy of normalize.css v3.0.2:
   2011-2014 Nicolas Gallagher
License: Expat
Comment: These files are copies of vanilla Bootstrap v3.3.4 CSS files,
 identical to those distributed on Bootstrap CDN:
  * https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.css
  * https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css

The new pydoctor upload that fixes #952546 is now in sid:

https://tracker.debian.org/news/1104779/accepted-pydoctor-19110git20200114c74016b-2-source-into-unstable/

Cheers,
Anthony



Re: bootstrap.min.js in pydoctor

2020-02-26 Thread Johannes Schauer
Quoting Daniel Leidert (2020-02-26 10:27:03)
> Am Dienstag, den 25.02.2020, 17:40 + schrieb 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 ?
> 
> You don't have to strip it if the unminified version is added under
> debian/missing-sources/ with an appropriate entry in d/copyright.
> 
> The final package however should not use it but instead rely on whatever
> package provides bootstrap.js or its minified version.

but if you add the unminified version under debian/missing-sources then it has
to be the exact right version that produces precisely the minified version you
have. I so far found the trouble I have to go through to verify this, is *far*
too much compared to putting a simple Files-Excluded into debian/copyright and
a dversionmangle and repacksuffix into my debian/watch -- especially because I
cannot use the shipped minified version in the end anyways.

Thanks!

cheers, josch

signature.asc
Description: signature


Re: bootstrap.min.js in pydoctor

2020-02-26 Thread Daniel Leidert
Am Dienstag, den 25.02.2020, 17:40 + schrieb 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 ?

You don't have to strip it if the unminified version is added under
debian/missing-sources/ with an appropriate entry in d/copyright.

The final package however should not use it but instead rely on whatever
package provides bootstrap.js or its minified version.

Regards, Daniel


signature.asc
Description: This is a digitally signed message part


Re: 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


Re: 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



Re: 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]



Re: 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