11:37:01 <michalrud> #startmeeting Packaging Chromium for Fedora 11:37:02 <zodbot> Meeting started Tue Aug 2 11:37:01 2016 UTC. The chair is michalrud. Information about MeetBot at http://wiki.debian.org/MeetBot. 11:37:02 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 11:37:02 <zodbot> The meeting name has been set to 'packaging_chromium_for_fedora' 11:37:09 <michalrud> #meetingname flock2016 11:37:10 <zodbot> The meeting name has been set to 'flock2016' 11:37:40 <michalrud> #topic Chrome project scale 11:38:09 <michalrud> Over 200 third-party packages included in Chromium, as Windows has no package concept like Linux 11:38:17 <michalrud> Stable release every 6 weeks 11:38:23 <michalrud> over 200 comits every day 11:39:47 <michalrud> package for Fedra has ~5 custom patches that are not yet upstreamed 11:40:27 <michalrud> compiling Chromium on laptop takes a couple of hours, but on a fast machine it's ~40 minutes 11:41:36 <michalrud> Since there are ~200 patches every day, rebases are going to be hard when having custom patches 11:41:50 <michalrud> distro patches are best upstreamed 11:42:11 <michalrud> in practice, it works in case for Fedora 11:42:58 <michalrud> dealing with breakages is hard every stable release because of amount of patches 11:43:33 <michalrud> the idea is to have a place with Chromium packages from different distros 11:43:45 <michalrud> and to discuss issues and solutions so they can be reused among distros 11:43:54 <michalrud> a lot of issues are common 11:44:19 <michalrud> it's not RPM vs DEB discussion, but on the higher level issues are similar 11:44:32 <michalrud> people are invited to join chromium-packagers 11:45:40 <michalrud> Chromium will refuse to start when sandboxing is inadequate 11:45:54 <michalrud> but it won't work inside of chroot, so another laptop was needed for testing 11:46:10 <michalrud> #topic build/linux/unbundle 11:47:09 <michalrud> another directory with files for packages 11:47:28 <michalrud> Chromium developers didn't like conditionals inside of main files, so packaging stuff is separate 11:48:03 <michalrud> remove_bundled_libraries.py - python script for removing 3rd party packages, 100+ entries in actual packages 11:48:19 <michalrud> everything which is not whitelisted explicitely is removed 11:48:53 <michalrud> so you'll get a consistent list of 3rd party packages which stay, so you can see which one can get outdated 11:49:35 <michalrud> problem: shim headers: #include in source code has path to third_party/ folder 11:49:54 <michalrud> conditionals would have to be used, Chromium community is against it 11:50:19 <michalrud> also #include "" is used which uses the bundled sources instead than the ones provided by system 11:51:29 <michalrud> so they have recreated this third_party folder and created header files there, which only include the file provided by system 11:53:39 <michalrud> GYP is used in Chromium, which is able to generate project files for IDEs 11:53:56 <michalrud> GYP is Chromium-centric, and its files are hard to read 11:54:09 <michalrud> GYP is being replaced with GN (Generate Ninja) 11:54:15 <michalrud> Ninja - make replacement 11:54:40 <michalrud> GN is also better documented than GYP, which was practically undocumented 11:55:00 <michalrud> GN needs to be bootstrapped, as it is written in C++, while GYP was done in Python 11:55:13 <michalrud> GN has no support for CFLAGS as of now, unfortunately 11:55:22 <michalrud> GN is easier to understand 11:56:01 <michalrud> Notable unbundled libraries: ffmpeg, flac, libevent, libpng, zlib, yasm, snappy, libxslt, libxml, libwebp, harfbuzz-ng... 11:56:31 <michalrud> #topic Interesting ideas 11:57:27 <michalrud> Use original hunspell as Chromium is using a modified one, hunspell was originally on SVN so it was hard to contribute, but it's now on GitHub 12:00:13 <michalrud> unbundling pdfium, which is a package to view PDF files inside of Chrome, initially closed source, is based on Foxit, now open source but with some bundled libraries 12:00:59 <michalrud> creating some way to report crashes to Chromium, as distro crash reporting may have problems with multiprocess architecture of Chromium 12:01:15 <michalrud> #topic Contributions welcome 12:01:32 <michalrud> 114 unique domains of contributors mails 12:02:27 <michalrud> This included Blink, for of WebKit which is used by Chromium but also other projects 12:02:50 <michalrud> Google CLA != copyright assignment 12:03:30 <michalrud> it's very similar to Fedora Project Contributor Assignment 12:04:53 <michalrud> some people think their use case is weird and too obscure to be accepted, but there are some weird contributions as well 12:06:12 <michalrud> maybe not weird, but not too popular, like support for QNX, AIX, Solaris or S390 12:06:57 <michalrud> #topic Questions 12:07:22 <michalrud> Q: Do you do performance benchmarks? Compare it with Windows or other distributions? 12:07:58 <michalrud> A: Individual packages are not performance tested, but upstream every commit is checked and patches which introduce severe regressions are reverted 12:08:15 <michalrud> A: It's open source, so if people want to contribute, it's welcome 12:08:42 <michalrud> Q: Is there a place like a COPR repository where work in progress can be found? 12:09:01 <michalrud> A: it's included in Fedora now, so no need to 12:09:20 <michalrud> Q: Is V8 debundled? 12:09:23 <michalrud> A: V8 is bundled. 12:11:00 <michalrud> A: Both projects move at a very fast pace, the cycle is very fast 12:11:24 <michalrud> A: but there are other projects like NodeJS which use V8 which may not move as fast 12:17:07 <michalrud> Q: is Pepper Flash going to be open sourced 12:17:31 <michalrud> A: This is probably a question to Adobe, given the security bugs they may not want it 12:18:04 <michalrud> Q: Performance between bundled and debundled versions of Chromium? 12:18:33 <michalrud> A: no in-depth tests, Chrome and Chromium may be differences as Chrome can be more optimized during compile time 12:19:43 <michalrud> A (from audience): Change may be that in debundled you're using shared libraries what makes a startup time longer, but better overall performance 12:21:44 <michalrud> #endmeeting