freebsd / poudriere

Port/Package build and test system
https://github.com/freebsd/poudriere/wiki
BSD 2-Clause "Simplified" License
389 stars 161 forks source link

FEATURE REQUEST: specify packages to fetch instead of building #1067

Closed vermaden closed 1 year ago

vermaden commented 1 year ago

I have a question about Poudriere.

Is there option to - fetch for example 'lang/gcc12' as package - and then build other things you want to build in that repo?

The 'lang/gcc12' fails to build (multiple times I tried):

nunotexbsd commented 1 year ago

poudriere-devel have -b latest|quarterly that I use frequently doing testport on releases.

vermaden commented 1 year ago

Nice, I will try that right away. thank You.

vermaden commented 1 year ago

I have tried the poudriere-devel with -b latest but it still wants to build lang/gcc12.

How can I FORCE Poudriere to NOT build lang/gcc12 EVER AGAIN and always fetch it from repositories?

Thanks.

igalic commented 1 year ago

@vermaden can you test https://github.com/freebsd/poudriere/pull/1064 and see if that helps?

vermaden commented 1 year ago

After applying this patch:

I believe it works as desired and only several ports were actually compiled.

These I wanted:

security/krb5
security/sudo
security/cyrus-sasl2
security/cyrus-sasl2-gssapi
net/openldap26-client
net/samba413

These were compiled:

devel/p5-Parse-Yapp 
security/cyrus-sasl2-gssapi
net/openldap26-client   
dns/bind-tools  
databases/ldb22
net/samba413    
security/sssd@default   
security/sudo           

That is what I was looking for.

I hope this common.sh patch will make it upstream into the poudriere-devel and sometime in the future into poudriere port/package.

Regards, vermaden

vermaden commented 1 year ago

... and most important - thank You very much for you help and suggestions.

You saved me a lot of time.

patmaddox commented 1 year ago

If you want to see why it's building, when you think it should fetch: run poudriere bulk -v -n and look at the output. The things to look for are:

  1. remote / local version mismatch
  2. options wanted / remote mismatch
  3. deps wanted / remote mismatch

So at least you can check that the packages it builds makes sense. That's how I found the issue with the duplicate options and deps. With #1064, it only builds packages where there's a true version / options / deps mismatch between local and remote.