在 2017年5月19日星期五 CST 下午3:06:30,Pirate Praveen 写道: > On 2017, മേയ് 18 9:35:50 PM IST, Boyuan Yang <073p...@gmail.com> wrote: > >I have several understandings on it: > > > >Option 1 > >------------ > > > >* Will not use any bundled javascript libraries, no matter minified or > >not > >* Will depend on corresponding libjs-* packages and make symlinks to > >provide > >removed javascript libraries > >* If that package does not exist, package them first > > This is the ideal option. > > >Option 2 > >------------ > > > >* Only minified javascripts are not acceptable > >* Will use tools like yui-compressor to generate minified js files > >without using > >libjs-* packages > >* Write d/copyright for unminified js files > > If the minified javascript comes with its corresponding non minified form, > its okay. Or you could provide the source in debian/missing-sources (not > 100% sure if the directory name is correct or not, but there is an option > to provide source). But it is best to minify them during build to really > make sure the min corresponds to the source file since we have the > minification tools already packaged. node-uglify is better as > yui-compressor will pull in a jdk as dependency. > >Option 3 > >------------- > > > >* An mixture of 1 & 2 > >* Use libjs-* if that lib has been packaged in Debian > >* If not packaged, use non-minified version and run processor to > >generate > >minified js files > > It should be enough for most cases. But if there are some libs that uses > browserify/webpack or babel, we have a problem (I have to keep diaspora out > of main because handlebars.js needs these). We will have to generate those > files in debian. I have been working on this and we are in a pretty good > position now. grunt and gulp are available, browserify and webpack is close > to finish. Though babel is a bit complicated as it has circular dependency > on rollup. > >I am not very familiar with Debian's JavaScript policies. Which of my > >understandings is correct? > > I hope its clear now.
Thanks a lot. If all three options are acceptable then we are already in a good position: check out the master branch on Alioth repo [1] and we already have a working build script now, (with option 3 above). I call it a "+ds1" version since actually no file in the repo is of non-DFSG. Luckily, upstream provides all non-minified javascripts files together with minified ones. I checked debian/copyright for the first round and completed it. Remaining problems: * emojione v1 as bundled in pagure is free/libre library (MIT/CC-BY-SA-4.0) but later versions (e.g., v3) restricted its use (non-commercial or pay for license). That might be a trouble if we are to package it separately. * Embedded fonts-hack-web and fonts-hack-ttf not stripped off (yet). Perhaps it's fine if we use upstream bundled fonts? * libjs-codemirror in the Debian repository is outdated. We might need a newer version to make sure pagure works correctly. * Several other js libraries not in Debian, as stated by Shengjing Zhu before. For other problems and a TODO list, see git commit a83dd06ccc and debian/TODO file. [1] https://anonscm.debian.org/git/collab-maint/pagure.git/log/ -- Boyuan Yang
signature.asc
Description: This is a digitally signed message part.