Re: bootstrap.min.js in pydoctor
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
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
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
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
> "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
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
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
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
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
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
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
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