Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Nov 2014 08:10:09 +0100
From:      =?windows-1252?Q?Ren=E9_Ladan?= <rene@freebsd.org>
To:        Shawn Webb <lattera@gmail.com>
Cc:        chromium-list freebsd <freebsd-chromium@freebsd.org>
Subject:   Re: backing down on Chromium ...
Message-ID:  <546EE551.8030401@freebsd.org>
In-Reply-To: <8A50107E-55F9-4AD1-981A-5A52DDB5DC0A@gmail.com>
References:  <546E72B9.60700@freebsd.org> <8A50107E-55F9-4AD1-981A-5A52DDB5DC0A@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 21-11-2014 00:13, Shawn Webb wrote:
> On Nov 20, 2014, at 6:01 PM, René Ladan <rene@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@chromium.org
>> - chromium-packagers@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@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.
Thank you for your warm words :)

I should also thank George Liaskos, who helped out with patching
Chromium from the early days up to version 30.  Without him we might not
even have a Chromium port today.

Regards,
René
>
> Good luck in your future endeavors.
>
> Thanks,
>
> Shawn

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQJ8BAEBCgBmBQJUbuVRXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxMDFBNzE2QjE2MkIwMEU1NUJFREVBMDVB
REJCRjg2MTBBMzc4OUI3AAoJEK27+GEKN4m3PYkP/0kLLCCOeJTsKsUI4ViAOgju
MkrFSfgPdYbxLBAhe1ZOiBwV9BZZ8CGD7Dvnk5jGNI3hUTsib52PbeXCr1DRrNMD
+E4CuIB6Gbwsn2s9K675b3WfHwq8Ze1nZUsBvBouQmqFXUHpqbx2ycIpD5C8zbwX
eqT6x629Ky9dHyzd5Vfu9XJNQW0FjqL3+BmEBbeY2Q0K4lMpd8De181r6tez7RlT
cHWazomQOSKOt1vTXPUSiNuRd7/Q7m0EY+AZNH46PKYIi8Xj7hehc8QrF6ovKJHv
9WlZiJTD9tZdmKlXAH7GfgEcOJep57aBy1GUfvR/dgtMpx7z56ECiPABMi+P/qpr
9IjKM5o8QXLFSffbS1i7YiK1pIlMSmjF6vm4lbI24P1qfRFtXbfs6xw2bATJ8TOS
xy6R0UMp/B3iq4UUmuZpMXiQyFcamltz0+1nLWXVSQNDjLCb5fSceK5Msuj95geV
AkKP1Q8eOudQPQXe7sQMq9/F2XCZE6OQ3tnBg6afrXNpyu/7wiGA2/4t6jo4TOwd
tJ4f+DjnECk/BhS8xuv1iG1OhTY4YJjBl/Eh/jig3QbnAG9rE+Dk8ufm1z/NO9uD
IzvKDcx7s40uKPfgeGnzP1Bi+ZJ42y+Hp+q/ERdgv3asHbqtxhsYJzVju7qvDkY1
y5WDYw//lKhox5/FLsjq
=+YFz
-----END PGP SIGNATURE-----




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?546EE551.8030401>