backing down on Chromium ...

Shawn Webb lattera at gmail.com
Thu Nov 20 23:14:05 UTC 2014


On Nov 20, 2014, at 6:01 PM, René Ladan <rene at freebsd.org> wrote:

> Signed PGP part
> Hello all,
> 
> after already four years I decided to back down somewhat on Chromium.
> This is not an overnight decision, the feeling started creeping in
> several months ago.
> 
> One reason is that maintaining Chromium all the way on FreeBSD would
> seriously be a good candidate for a full-time job:
>   - keep the existing patches working, they need to be checked and
>     possibly rewritten on every major release
>   - polishing patches for upstream and tickling the upstream bots
>   - hunting down incompatibilities. This is mostly caused FreeBSD
>     masquerading as Linux and consequently Chromium assumes that e.g.
>     /proc is populated as on Linux.
>   - writing missing code for FreeBSD, including but not limited to:
>     - low-level network stuff
>     - fcvt(3)
>     - obtaining hard disk drive serial number for the Google Music (if
>       I understand correctly)
>     - obtaining detailed memory usage, proper GPU porting
>   - keeping the GitHub and ports version in sync
>   - writing VuXML entries once in a while
> Also, other things seem more interesting (e.g. FreeBSD documentation or
> other ports), and sometimes I felt more like being a Chromium than a
> FreeBSD developer.
> 
> This does mean that *you* will have to continue, but I (boldly) think
> there is enough interest for it.  This should hopefully get you started:
> - As you might know, we have an work-in-progress repository on GitHub:
>   https://github.com/gliaskos/freebsd-chromium/
> - Patches are available in the Ports Tree and on GitHub. There are also
>   experimental patches against the top-of-tree (like FreeBSD-CURRENT) at
>   https://people.freebsd.org/~rene/chromium/
> - The latter location also contains a script to generate the patches
>   (gen-diff.sh) and a script to try to build chromium in a chroot
>   (update.sh). It also contains a list of required packages (pkg-list).
>   Note that libxml2 and yasm can go once the bundled versions work.
> - Minor version updates are mostly a matter of running `make makesum`
>   and checking if the pkg-plist is still OK.  See below for major
>   version updates.
> - Notice that new upstream distribution files can take a day to appear,
>   even in the case of a security update.
> 
> Porting a new major version (for GitHub or the Ports Tree) is a
> different story though:
> - Checkout the beta branch at GitHub
> - Bump the PORTVERSION, run `make makesum`
> - Run `make checkpatch` to see which patches still apply. Temporarily
>   move Broken / orphaned patches out of the way. Repeat till
>   `make checkpatch` is fine.
> - Fix or delete the patches you just moved
> - Try to build the port. Have coffee, brain, and willpower ready...
> - If `make configure` fails, this is mostly because gyp is complaining.
>   In case a directory got accidentally deleted by the
>   remove_bundled_libraries.py script, put it back in, add it to its
>   list, and try again.
> - In case you need inspiration for a patch, try to look at the
>   corresponding Linux or MacOSX code.  A lot of times adding BSD to the
>   list suffices.
> - Once Chromium links and staging passes, run `make check-plist` and
>   `make package` to see if the package list is still OK.
> - Try to run it.
> - Once that works, you can send the patches using a PR, a website, or
>   otherwise.
> - Every six weeks or so the Beta version gets Stable, which means it is
>   time to merge the beta branch back into the master branch.
> - To get the patch for the Ports Tree, replace the old files/ directory
>   with the new one, and update Makefile, pkg-*, and distinfo
> 
> In case you feel like working with upstream:
> - See the WWW site for some hints on getting started
> - Have a modern machine ready (many cores, RAM, ZFS, ccache)
> - Check upstream on how to get the sources (chroot highly recommended
>   to not pollute your existing system).  Notice that the initial
>   checkout can is between 10 GB and 15 GB large.
> - Apply the patches from https://people.freebsd.org/~rene/chromium/
> - Run the script to try to build Chromium:
>   sh ./update.sh build nopull
>   Even more coffee, brain, and willpower recommended.
> - To update from upstream, run:
>   sh ./update.sh
>   and check for merge conflicts in the git output.
> 
> Resources:
> - https://googlechromereleases.blogspot.com/
> - chromium-dev at chromium.org
> - chromium-packagers at chromium.org
> - #chromium on FreeNode
> 
> For now I will continue to:
> - Committing VuXML entries
> - Committing new versions to the Ports Tree (e.g. as PR) and to GitHub.
>   Feel free to fork the repository.
> - Answer any questions you have.
> 
> Do mind that (at least in my experience), interest from upstream in BSD
> varies.  There might eventually be BSD bots, but that doesn't
> necessarily mean that build errors on BSD will be blocking (as they are
> on Windows / Linux / MacOSX / Android / iOS).
> 
> A good person to contact would be Pawel Hajdan Jr
> <phajdan.jr at chromium.org>
> 
> Regards,
> René

Hey René,

As someone who uses Chromium on a daily basis (and admittedly takes it for granted), I would like to give you a sincere thank you for your hard work. I’m hoping that the person who fills in your big, worn shoes will achieve the same level of awesomeness.

Good luck in your future endeavors.

Thanks,

Shawn
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-chromium/attachments/20141120/858f3d37/attachment.sig>


More information about the freebsd-chromium mailing list