Mercurial 1.7, cacerts, and FreeBSD

So with recent Mercurial 1.7 releases HTTPS support was tightened, so you are bound to encounter a warning in the form of: warning: bitbucket.org certificate not verified (check web.cacerts config setting).

Now, http://mercurial.selenic.com/wiki/CACertificates there are details on what to configure for certain operating systems. Given I use FreeBSD, I altered my $HOME/.hgrc as follows:

[web]
cacerts = /etc/ssl/cert.pem

For OpenBSD this should be in the same place since release 3.8. But apparently NetBSD does not have such a file in base.

And while we're at it

According to [a post by Keith Packard on the Linux kernel mailinglist](http://marc.theaimsgroup.com/?l=linux-kernel&m=115536806403908&w=2 "Re: Announcing free software graphics drivers for Intel i965"):

This module contains stuff which Intel can't publish in source form, like
Macrovision register stuff and other trade secrets. It's optional, so if you
don't want to use a binary module, you don't get to use code written by
Intel agents for these features. And, we also haven't figured out how and
when to release this binary blob, so there's no way you can use it today.
The driver remains completely functional in the absense of the binary piece,
and in fact has no reduction in functionality from previous driver releases.

So much for that idea eh?

strmode() function declaration buglet fixed

Was converting files to proper ANSI C function declarations and a user tripped over the fact that old 4.4 BSD's function prototype of strmode() had int as a parameter, whereas it has been mode_t for a long, long time (read 1994 at least).

This broke buildworld of course.

Also asked Dima Dorfman to fix this for FreeBSD (broken in 4.x, 5.x, and 6.x).

NetBSD is fixed (as was to be expected to be honest).

And OpenBSD made the parameter int everywhere with a XXX comment in the strmode.c file that it should be mode_t actually. Weird.