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