Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Nov 2022 10:06:41 +0800
From:      Archimedes Gaviola <archimedes.gaviola@gmail.com>
To:        Xin LI <delphij@gmail.com>
Cc:        freebsd-database@freebsd.org
Subject:   Re: Include SQLite3 source upon buildworld
Message-ID:  <CAJFbk7FSXshHziwTMkiMWsNE-SG2YUmFpXvOxJ6pd7f_xvDOOw@mail.gmail.com>
In-Reply-To: <CAGMYy3u3ocKJ713m=m2qHXBTQxynMt=LWQiN99yYDo6KQuDTGg@mail.gmail.com>
References:  <CAJFbk7H4cgZn6Cy4m6uMZhZKe93mMtHb6afbVb8YDrQwJ2FBtA@mail.gmail.com> <CAGMYy3u3ocKJ713m=m2qHXBTQxynMt=LWQiN99yYDo6KQuDTGg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000e1c76f05ed8cee9e
Content-Type: text/plain; charset="UTF-8"

On Wed, Nov 16, 2022 at 1:48 AM Xin LI <delphij@gmail.com> wrote:

>
>
> On Tue, Nov 15, 2022 at 5:16 AM Archimedes Gaviola <
> archimedes.gaviola@gmail.com> wrote:
>
>> Hi,
>>
>> There's an SQLite3 source located in the /usr/src/contrib/sqlite3. Is
>> there a way to include this upon buildworld so that I can run the binary
>> after compiling?
>>
>
Hi Xin Li,


> Yes and no.
>
> Yes -- you can always compile shell.c source and link against the library;
> the code is there, just the BSD make build glues are missing.
>

Okay, nice! I'm so glad that it can be done. My goal is to make SQLite3 be
part of the base system in a customized FreeBSD build to make it embedded.
I am checking the version and it's updated 3.93.3 as I'm using the
14.0-CURRENT. I need to figure-out this BSD make and glues you've mentioned
to make this happen.

No -- the omission is intentional: the library is meant to be used by the
> base system as a "private library", which gives us the flexibility to not
> give a stable API/ABI promise and to only build with options that the base
> system needed (to reduce attack surface), so that when we make an update,
> it will be a "wholesale" update and user applications are not broken, even
> if sqlite3 update have introduced one.  Users who want sqlite3 should
> really install it from ports (databases/sqlite3) or package.
>

Oh I see, now I know its purpose. Currently, I have my system installed
with SQLite3 via package install 'pkg install sqlite3' and it works very
well but because this time I want something embeddable. It so happened that
I was checking the source and surprisingly found sqlite3. Anyway, let me
explore and try.

Thanks and best regards,
Archimedes

--000000000000e1c76f05ed8cee9e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 16, 2022 at 1:48 AM Xin L=
I &lt;<a href=3D"mailto:delphij@gmail.com">delphij@gmail.com</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr=
"><div dir=3D"ltr"><div style=3D"font-family:monospace,monospace"><br></div=
></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr"=
>On Tue, Nov 15, 2022 at 5:16 AM Archimedes Gaviola &lt;<a href=3D"mailto:a=
rchimedes.gaviola@gmail.com" target=3D"_blank">archimedes.gaviola@gmail.com=
</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
<div dir=3D"ltr"><div>Hi,</div><div><br></div><div>There&#39;s an SQLite3 s=
ource located in the=20
/usr/src/contrib/sqlite3. Is there a way to include this upon buildworld so=
 that I can run the binary after compiling?</div></div></blockquote></div><=
/div></blockquote><div><br></div><div>Hi Xin Li,</div><div></div><div>=C2=
=A0<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px =
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"=
ltr"><div class=3D"gmail_quote"><div style=3D"font-family:monospace,monospa=
ce">Yes and no.</div><div style=3D"font-family:monospace,monospace"><br></d=
iv><div style=3D"font-family:monospace,monospace">Yes -- you can always com=
pile shell.c source and link against the library; the code is there, just t=
he BSD make build glues are missing.</div></div></div></blockquote><div><br=
></div><div>Okay, nice! I&#39;m so glad that it can be done. My goal is to =
make SQLite3 be part of the base system in a customized FreeBSD build to ma=
ke it embedded. I am checking the version and it&#39;s updated 3.93.3 as I&=
#39;m using the 14.0-CURRENT. I need to figure-out this BSD make and glues =
you&#39;ve mentioned to make this happen.<br></div><div><br></div><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gma=
il_quote"><div style=3D"font-family:monospace,monospace">No -- the omission=
 is intentional: the library is meant to be used by the base system as a &q=
uot;private library&quot;, which gives us the flexibility to not give a sta=
ble API/ABI promise and to only build with options that the base system nee=
ded (to reduce attack surface), so that when we make an update, it will be =
a &quot;wholesale&quot; update and user applications are not broken, even i=
f sqlite3 update have introduced one.=C2=A0 Users who want sqlite3 should r=
eally install it from ports (databases/sqlite3) or package.</div></div></di=
v></blockquote><div><br></div><div>Oh I see, now I know its purpose. Curren=
tly, I have my system installed with SQLite3 via package install &#39;pkg i=
nstall sqlite3&#39; and it works very well but because this time I want som=
ething embeddable. It so happened that I was checking the source and surpri=
singly found sqlite3. Anyway, let me explore and try.</div><div><br></div><=
div>Thanks and best regards,</div><div>Archimedes=C2=A0 <br></div></div></d=
iv>

--000000000000e1c76f05ed8cee9e--



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