tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Removing built-in support for sqlite3
Thomas Klausner <wiz%NetBSD.org@localhost> writes:
> Hi!
>
> NetBSD comes with sqlite3 in the base system. It mostly imported for
> supporting a heimdal feature (since disabled) and for apropos(1).
>
> The version is not kept up-to-date (NetBSD 10 comes with 3.26, pkgsrc
> has 3.45). Some software in pkgsrc requires features that are not
> enabled in the base system version.
>
> I'd like to remove builtin support for sqlite3 from pkgsrc (basically,
> cvs rm databases/sqlite3/builtin.mk).
>
> - We'll know what features the used sqlite3 will have, by depending on a
> (pkgsrc) version that has that feature enabled by default.
>
> - We avoid linking against both version in the same executable (if one
> dependency is happy with the older version, but something else wants
> a newer one and pulls in the pkgsrc version).
>
> - The sqlite3 package itself is small (32MB) and pulls in no other
> runtime dependencies.
In general that sounds good.
How do we deal with operating systems where libraries that are treated
as builtin include sqlite3?
An example is NetBSD 9, where:
$ ldd /usr/lib/libkrb5.so
/usr/lib/libkrb5.so:
-lhx509.6 => /usr/lib/libhx509.so.6
-lasn1.10 => /usr/lib/libasn1.so.10
-lcom_err.8 => /usr/lib/libcom_err.so.8
-lc.12 => /usr/lib/libc.so.12
-lroken.20 => /usr/lib/libroken.so.20
-lutil.7 => /usr/lib/libutil.so.7
-lcrypt.1 => /usr/lib/libcrypt.so.1
-lcrypto.14 => /usr/lib/libcrypto.so.14
-lwind.1 => /usr/lib/libwind.so.1
-lheimbase.2 => /usr/lib/libheimbase.so.2
-lsqlite3.1 => /usr/lib/libsqlite3.so.1
Are there other examples? Or is this discussion truly about NetBSD 9
heimdal?
Checking NetBSD 10, I find sqlite3 linked to
/usr/lib/libhdb.so
/usr/lib/libkadm5clnt.so
/usr/lib/libkadm5srv.so
/usr/lib/libkdc.so
I'm pretty sure these are 10 libs, because:
-r--r--r-- 1 root wheel 33848 Jan 6 2004 /usr/lib/libkadm5clnt.so.7.0
lrwxr-xr-x 1 root wheel 19 Jan 6 2004 /usr/lib/libkadm5clnt.so.7 -> libkadm5clnt.so.7.0
-r--r--r-- 1 root wheel 35724 Jan 28 2009 /usr/lib/libkadm5clnt.so.8.0
lrwxr-xr-x 1 root wheel 19 Jan 28 2009 /usr/lib/libkadm5clnt.so.8 -> libkadm5clnt.so.8.0
-r--r--r-- 1 root wheel 39060 Nov 17 2014 /usr/lib/libkadm5clnt.so.10.0
lrwxr-xr-x 1 root wheel 20 Nov 17 2014 /usr/lib/libkadm5clnt.so.10 -> libkadm5clnt.so.10.0
-r--r--r-- 1 root wheel 48191 Apr 8 2017 /usr/lib/libkadm5clnt.so.13.0
lrwxr-xr-x 1 root wheel 20 Apr 8 2017 /usr/lib/libkadm5clnt.so.13 -> libkadm5clnt.so.13.0
-r--r--r-- 1 root wheel 60304 Aug 13 2023 /usr/lib/libkadm5clnt.so.14.0
lrwxr-xr-x 1 root wheel 20 Aug 13 2023 /usr/lib/libkadm5clnt.so.14 -> libkadm5clnt.so.14.0
-r--r--r-- 1 root wheel 93060 May 7 07:14 /usr/lib/libkadm5clnt_p.a
-r--r--r-- 1 root wheel 60304 May 7 07:14 /usr/lib/libkadm5clnt.so.15.0
lrwxr-xr-x 1 root wheel 20 May 7 07:14 /usr/lib/libkadm5clnt.so.15 -> libkadm5clnt.so.15.0
lrwxr-xr-x 1 root wheel 20 May 7 07:14 /usr/lib/libkadm5clnt.so -> libkadm5clnt.so.15.0
-r--r--r-- 1 root wheel 87828 May 7 07:14 /usr/lib/libkadm5clnt.a
Possibilities are:
1) Tell people that NetBSD 9 is too crufty to use. Perhaps, formalize
this by deprecating it 4 years after 9.0 or 1 year after 10.0,
whichever is later. (Not actually kidding about the second part, but
that's out of scope.) If it's 10 too, tell them to run current.
2) For any package which bl3's a library which has sqlite on a
platform, reject that package as builtin. Thus, base heimdal will be
ignored on 9.
3) Ask that the heimdal-not-sqlite3 change be pulled up to 9, and then
tell people that they can only use pkgsrc on 9 past that date.
4) Hope that conflicts from pkgsrc sqlite and base sqlite from heimdal
aren't a big deal in practice.
5) Default disable krb options in pkgsrc, for packages that want
sqlite3, and hand the problem to the small number of users that use
those.
I think (2) is the only viable approach. It does require anybody to
configure pkgsrc heimdal to re-use base config, but that is likely not
that hard.
Home |
Main Index |
Thread Index |
Old Index