Hi Aisha --

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, June 8, 2020 9:07 AM, Aisha Tammy <openbsd.po...@aisha.cc> wrote:

> Based on your comments, I've changed it back to using the shared
> library, though I am still building a static library as well.
>
> Thanks a lot for all your help!
>
> comments?
>
> PS: yes, uwebsockets did go from 0.17.6 to 18.1.0
>
> Aisha
>
> On 6/3/20 11:14 AM, Stuart Henderson wrote:
>
> > On 2020/06/02 15:55, Aisha Tammy wrote:
> >
> > > > All these static libraries mean that things won't get updated
> > > > automatically when a library is updated. Say you install purritobin
> > > > and there is a later security fix to usockets; purritobin won't be
> > > > updated unless you manually force it (e.g. by bumping REVISION).
> > > > The normal way of handling this with almost everything else in ports
> > > > is to use shared libraries.
> > >
> > > I totally agree but upstream has mandated that this library is to be used
> > > static only and with -flto -O3 (which Brian has removed stating 
> > > unsupported archs, thanks brian!).
> >
> > that could just be changed in the port like you did before (but then
> > actually make use of it). I don't think we honestly care about the
> > difference upstream talks about in the ticket (160k req/sec with
> > shared libs, to 215k req/sec with static+lto, on some unspecified OS).
> > https://github.com/uNetworking/uSockets/issues/99#issuecomment-627384325
> > Packagers for at least some other OS will want this too if they're
> > going to include it in their package systems.
> >
> > > Upstream have also rejected my patch to add shared libraries :( and is 
> > > adamant
> > > on using both the above flags (which was a separate issue that was 
> > > raised, to
> > > remove the flags and make them optional depending on distribution)
> > > Does ports not handle such an automated revision bump for static libraries
> > > that get updated? (am just asking, I don't know the intricacies and 
> > > details
> > > of shared/static library things)
> >
> > If there was a shared library as well you could list it as a "fake" WANTLIB
> > entry (it would show as "extra" so we add a comment to say what's going on)
> > and then it would at least get updated if the shared library version number
> > (.so.X.Y) changes though that doesn't force it for every update either.
> > Really with static libs you need to bump all the downstream users or
> > set a tight dependency on the particular version number.
> >
> > > I am not sure how to resolve this conflict...
> > > an aside: why was -O3 removed, upstream has it present and wants it to be 
> > > there?
> >
> > Higher opt levels increase risk of hitting compiler bugs (maybe only
> > on certain architectures). If the code implements anything which is
> > undefined behaviour that can cause problems with optimisers too,
> > especially at higher opt levels.
> > Ports policy is to respect what is set by the user / ports infrastructure,
> > usually -O2, but sometimes it's necessary to change that on certain arches.

I made just tiny tweaks to usockets and purritobin; just WANTLIB and BDEP/LDEP 
fixes.

Maybe it would be nice to upstream the usockets shared library building?

~Brian

Attachment: purritobin.tgz
Description: application/compressed-tar

Attachment: usockets.tgz
Description: application/compressed-tar

Reply via email to