tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Rust broken again!



* On 2019-10-15 at 10:20 BST, Patrick Welche wrote:

> On Sun, Oct 13, 2019 at 09:43:50AM +0100, Jonathan Perkin wrote:
> > * On 2019-10-13 at 08:54 BST, Martin Husemann wrote:
> > 
> > > once again rust is not buildable for me. This is due to the fact that pkgsrc
> > > does not allow $ORIGIN shared lirbary refs.
> > 
> > ..in software built by pkgsrc, that doesn't stop you from using it in
> > the bootstrap package - see how the SmartOS rust bootstraps are built.
> > It's likely in this case that the NetBSD bootstraps simply weren't
> > built correctly or have all the libraries that they require bundled
> > with them.
> > 
> > Rest of the trolling ignored.
> 
> I think the trolling should not be ignored: the "no $ORIGIN at any
> point in the build" rule also breaks packages built using meson.

We've already ascertained that meson is utterly broken, so I don't
think we should be using it as a reason for changing (some would say
breaking) one of the most critical aspects of pkgsrc integrity.

> I can understand that pkgsrc will not want to install a binary
> containing $ORIGIN - I think checkfiles already checks for that.
> I disagree that $ORIGIN should never be used at any point in the build.

Allowing $ORIGIN would break a huge amount of the wrapper logic, which
ensures that not only are we sanitising the paths used, but also that
they are the _correct_ paths.

You can't fix things up post-build and hope for the best when you may
end up e.g. pulling in the wrong library (using a builtin when it
should be using pkgsrc, for example).

As suspected, the problem here was in the creation of the Rust
bootstrap, not in pkgsrc's $ORIGIN handling.  That leaves meson, and
we should just look at fixing that using LD_LIBRARY_PATH or similar
rather than utterly changing a core pkgsrc policy.

-- 
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com


Home | Main Index | Thread Index | Old Index