On Sun, Apr 21, 2024 at 11:56:30AM GMT, Stuart Henderson wrote:
> On 2024/04/21 11:35, Solene Rapenne wrote:
> > On Sat, Apr 20, 2024 at 10:02:38AM GMT, Solene Rapenne wrote:
> > > On Sat, Apr 20, 2024 at 09:00:30AM GMT, Sebastien Marie wrote:
> > > > Solene Rapenne <sol...@perso.pw> writes:
> > > > 
> > > > > hi, on a fresh current amd64 I had to set up dpb because it seems
> > > > > there was a libc bump at the wrong time for me :)
> > > > >
> > > > > however, now I have my working dpb (easy to setup once you understand
> > > > > it), I don't understand why dpb -R something_depending_on_rust
> > > > > always have to recompile lang/rust, in the packages directory, only
> > > > > the rust bootstrap package is changed everytime I run dpb.
> > > > >
> > > > > I'm not sure which logs I could provide though. This is quite
> > > > > annoying because lang/rust is heavy to compile and I like to trigger
> > > > > dpb every time I try a diff.
> > > > >
> > > > > Am I the only one with this issue?
> > > > 
> > > > I'm interested to know if there are any problems with the way I did
> > > > rust-bootstrap.
> > > > 
> > > > Currently, it is marked with 'always-update', because the package
> > > > content depend on the build host (system libraries are embedded in the
> > > > package for the bootstrap purpose). I expected that if the package isn't
> > > > installed (and it shouldn't in standard usage) it will not be a problem.
> > > > 
> > > > Do you have it installed ? If it isn't the case, and dpb is rebuilding
> > > > it without purpose (I assume no port depending on it), it might be a
> > > > problem in dpb, or some side effect for a subpackage having
> > > > 'always-update'.
> > > > 
> > > > I could look to remove the 'always-update' option from rust-bootstrap
> > > > without too much trouble.
> > > > 
> > > > Thanks.
> > > > -- 
> > > > Sebastien Marie
> > > 
> > > rust-bootstrap is not installed in the chroot after using dpb -R 
> > > shells/nushell
> > > that rebuilt rust-bootstrap , I don't think junking happened
> > > 
> > > I'll try without always-update
> > > 
> > 
> > dpb stopped rebuilding rust everytime since I removed always-update
> > 
> > I don't know if REVISION could be set only for bootstrap, but
> > following diff works for me
> 
> The plain REVISION bump like you've done is correct.
> 
> I would set WANTLIB-bootstrap to the list of libraries used in the
> bootstrap. That way it will be automically updated when necessary.
> (Ignore the "not needed" from check-lib-depends).
> 
> > diff --git a/lang/rust/Makefile b/lang/rust/Makefile
> > index 035767f1126..ba65386765a 100644
> > --- a/lang/rust/Makefile
> > +++ b/lang/rust/Makefile
> > @@ -17,6 +17,7 @@ COMMENT-src =             Rust source component
> >  
> >  V =                        1.77.2
> >  DISTNAME =         rustc-${V}-src
> > +REVISION =         0
> >  
> >  # rustc bootstrap version
> >  BV-aarch64 =               1.77.0-20240320
> > diff --git a/lang/rust/pkg/PLIST-bootstrap b/lang/rust/pkg/PLIST-bootstrap
> > index 17001b7230c..1b28ca27ca2 100644
> > --- a/lang/rust/pkg/PLIST-bootstrap
> > +++ b/lang/rust/pkg/PLIST-bootstrap
> > @@ -1,2 +1 @@
> > -@option always-update
> >  lib/rustc-bootstrap-${MACHINE_ARCH}.tar
> > 

I'm not entirely sure how to make a WANTLIB-boostrap,

I got an issue with a lib trying to generate it for bootstrap, so I
first checked -main using port-lib-depends-check on -main subpackage
but it reported an issue about ssh2 library, is this expected? There
is security/libssh2 and LIB_DEPENDS-main so it should be fine?

I have to admit I became a bit rusty with the ports tree :-)

ryzen$ env SUBPACKAGE=-main make port-lib-depends-check
===>  Checking files for rust-1.77.2
`/usr/ports/distfiles/rust/rustc-1.77.2-src.tar.xz' is up to date.
`/usr/ports/distfiles/rust/rustc-bootstrap-amd64-1.77.0-20240318.tar.lz' is up 
to date.
>> (SHA256) rust/rustc-1.77.2-src.tar.xz: OK
>> (SHA256) rust/rustc-bootstrap-amd64-1.77.0-20240318.tar.lz: OK
===>  Verifying specs:  c++ c++abi pthread c crypto curl m pthread ssh2 ssl z  
c++ c++abi pthread c m pthread c++ c++abi pthread c m pthread
Missing library for ssh2>=0.0
Fatal error
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2489 
'/usr/ports/pobj/rust-1.77.2/.buildwantlibs': @case X${_DEPENDS_CACHE} in  X...)
*** Error 2 in /usr/ports/lang/rust 
(/usr/ports/infrastructure/mk/bsd.port.mk:2796 
'/usr/ports/pobj/rust-1.77.2/.extract_done': @cd /usr/por...)

Reply via email to