Re: Why is binary avoided for Xcode MPI wrappers?

2021-05-21 Thread Ryan Schmidt



On May 21, 2021, at 09:00, Eric Borisch wrote:
> 
> On Thu, May 20, 2021 at 10:56 PM Ryan Schmidt wrote:
> 
>> rev-upgrade only checks library linkage. If you're saying that this software 
>> links with a library inside Xcode, and that the install name of that library 
>> varies by Xcode version such that the software linked with the library in 
>> one version of Xcode fails with a library file not found error when Xcode is 
>> upgraded to a new version, then yes rev-upgrade would detect that. 
>> Otherwise, no it would not.
> 
> If someone installs MacPorts without following the directions (installing 
> xcode / command line tools), they might (don't know, I haven't tried doing 
> that) end up downloading a package that tries (via mpicc / mpicxx) to run a 
> compiler that isn't there. (Since running mpicc requires the wrapped cc to be 
> present.) But looking at the binaries and libraries in mpich-default, I don't 
> think rev-upgrade would catch anything.

A compiler is a program, not a library, so you're correct that rev-upgrade 
would not notice anything about that.

The list of compilers provided by Xcode hasn't changed in a long time, as it? 
It's been only clang since Xcode 5, hasn't it?

Re: Protobuf3-cpp update woes; strategy to avoid broken dependent ports?

2021-05-21 Thread Ryan Schmidt



On May 21, 2021, at 06:59, Christopher Nielsen wrote:

> We need to figure out a better way to deal with updates to ‘protobuf3-cpp’, 
> as every time this port is updated, all dependent ports are broken. (Apart 
> from a handful that folks manually rev-bump along with it.)
> 
> The problem is that every update results in the name of the dylib being 
> incremented by one, breaking everything linked to it.
> 
> Does anyone know an easy fix?

Whoever updates protobuf3-cpp (or any other port that provides a library) is 
responsible for noticing whether the install_name has changed. If it has, that 
person is responsible for revbumping all ports that link with that library.



Re: Protobuf3-cpp update woes; strategy to avoid broken dependent ports?

2021-05-21 Thread Daniel J. Luke
On May 21, 2021, at 8:38 AM, Joshua Root  wrote:
> If it's not actually doing anything that should break binary compatibility 
> (removing symbols or changing their semantics), the fix is to stop increasing 
> the library major version for binary compatible updates. If it is, there's no 
> getting around rev bumping all dependents.

This is something that would be nice to expand macports base to handle more 
easily (although the details of the implementation might be annoying to deal 
with) - but we've managed for a /long/ time with rev-bumping all dependent 
ports.

-- 
Daniel J. Luke



Re: bash and bashdb ports

2021-05-21 Thread Rainer Müller
On 21/05/2021 14.48, Giuseppe 'ferdy' Miceli wrote:
> could someone be so kind to enlighten me about the bash port?
> 
> if i am not mistaken the bash50 sub-port is obsolete and could be removed.
> 
> i stumbled on it while installing bashdb which depends on bash50 which 
> conflicts with bash.
> 
> i worked around changing in my local repository the dependency from bash50 to 
> bash and was about to PR the modified bash and bashdb ports, but frankly 
> speaking i do not know if that would be the right think to do.
> 
> thank you very much in advance,

bashdb is not compatible with bash >= 5.0 and fails to build. This is
the only reason the bash50 subport still exists.

The situation has often been like this in the past and it took some time
until bashdb caught up to the latest bash release.

Rainer


Re: Why is binary avoided for Xcode MPI wrappers?

2021-05-21 Thread Eric Borisch
On Thu, May 20, 2021 at 10:56 PM Ryan Schmidt 
wrote:

> We have no tickets about the previous problem to study?
>

My cursory looks for them or mailing list discussions have failed. I would
tear it out for now.

> rev-upgrade only checks library linkage. If you're saying that this
software links with a library inside Xcode, and that the install name of
that library varies by Xcode version such that the software linked with the
library in one version of Xcode fails with a library file not found error
when Xcode is upgraded to a new version, then yes rev-upgrade would detect
that. Otherwise, no it would not.

If someone installs MacPorts without following the directions (installing
xcode / command line tools), they might (don't know, I haven't tried doing
that) end up downloading a package that tries (via mpicc / mpicxx) to run a
compiler that isn't there. (Since running mpicc requires the wrapped cc to
be present.) But looking at the binaries and libraries in mpich-default, I
don't think rev-upgrade would catch anything.

Thanks,
  - Eric


bash and bashdb ports

2021-05-21 Thread Giuseppe 'ferdy' Miceli
Ciao,

could someone be so kind to enlighten me about the bash port?

if i am not mistaken the bash50 sub-port is obsolete and could be removed.

i stumbled on it while installing bashdb which depends on bash50 which 
conflicts with bash.

i worked around changing in my local repository the dependency from bash50 to 
bash and was about to PR the modified bash and bashdb ports, but frankly 
speaking i do not know if that would be the right think to do.

thank you very much in advance,
— 



Re: Protobuf3-cpp update woes; strategy to avoid broken dependent ports?

2021-05-21 Thread Joshua Root

On 2021-5-21 21:59 , Christopher Nielsen wrote:

We need to figure out a better way to deal with updates to ‘protobuf3-cpp’, as 
every time this port is updated, all dependent ports are broken. (Apart from a 
handful that folks manually rev-bump along with it.)

The problem is that every update results in the name of the dylib being 
incremented by one, breaking everything linked to it.

Does anyone know an easy fix?


If it's not actually doing anything that should break binary 
compatibility (removing symbols or changing their semantics), the fix is 
to stop increasing the library major version for binary compatible 
updates. If it is, there's no getting around rev bumping all dependents.


- Josh


Re: Buildbot hardware (was: Re: Framing the MacPorts discussion)

2021-05-21 Thread Enrico Maria Crisostomo
Hi,

Thanks Ryan.

My answer is very similar to Ben’s:

  *   I’d be happy to provide you exclusive access to the resources (encrypted 
VMs, your own users, network and machine are UPS-protected, firewalled, etc.)
  *   I completely agree with you about the safety concerns: those should not 
be relaxed.
  *   I volunteered because I thought they were needed: I love MacPorts, and I 
want it to thrive.

Bye,
Enrico


From: Ben Greenfield 
Date: Friday, 21 May 2021 at 13:26
To: Ryan Schmidt 
Cc: Andrew Janke , Enrico Maria Crisostomo 
, MacPorts Developers 

Subject: Re: Buildbot hardware (was: Re: Framing the MacPorts discussion)
Hey All,

Thanks for the direction Ryan.

> On May 21, 2021, at 12:46 AM, Ryan Schmidt  wrote:
>
> On May 19, 2021, at 12:38, Andrew Janke wrote:
>
>> I have a small stack of Mac Minis I got to use as a buildbot farm for 
>> Octave.app; I might be able to have them pull double duty for MacPorts 
>> depending on your change volume.
>
>
> On May 20, 2021, at 08:10, Enrico Maria Crisostomo wrote:
>
>> I've got an iMac Pro in my LAN with 16 vCores and 64GB or RAM which is quite 
>> often idle.
>> I'm not privy with how our build system work, but if we could get to a point 
>> where agents can be added, stopped, throttled, trusted members of our 
>> community could volunteer the computational power they have at their 
>> disposal without fully dedicating a machine.
>> In my specific case: I'm happy to offer VMs on that machine to volunteer 
>> computational resources.
>
>
> On May 20, 2021, at 08:20, Ben Greenfield wrote:
>
>> I can definitely donate the facilities if not the talent.
>>
>> I have a symmetrical fiber connection and a static ip. I also have battery 
>> backup.
>> I’m in the final weeks of making the building legal and I haven’t configured 
>> the final network set-up for the building. I was going to set-up a vlan on 
>> my hp procurve switch.
>> I’m still shopping for a router to run OPNsense I think.
>>
>> I have been a mac sysadmin long time.
>
>
> There seem to be a lot of people suddenly volunteering hardware for our build 
> system. First, thank you; I didn't know we had people interested in that.
>
> Our build system has never been designed to accommodate external hardware. It 
> has always been designed as a centralized system controlled by one 
> administrator. When it was first set up in 2011-12 it was under the control 
> of our Apple administrator at macOS forge. I became the macOS forge 
> administrator temporarily in late 2015, and MacPorts left macOS forge in late 
> 2016 as that service shut down, and I recreated the buildbot system on my own 
> hardware and have run it since then.
>
> We now have one external Apple Silicon build machine hosted at another data 
> center, but it's still under my exclusive control so that I can keep 
> everything working together.
>

I would be happy to provide the same service. I don’t need a log-in and I can 
probably provide out of band power reset. The system could be on it’s own vlan.


> There are currently many situations where the build system gets into a state 
> that requires manual intervention. Because I control all the machines, I'm 
> able to make those fixes and get things back up and running quickly.
>
> We currently have all the builders we need: one for each OS version / arch 
> combination. The system was never designed to have more than that. If for 
> example we added a second macOS 11 / x86_64 builder, there could be confusion 
> and problems if the two machines have different OS / Xcode / command line 
> tools / java versions installed.
>
> There are security issues to consider. The binaries produced by our buildbot 
> workers are signed on the master with our private key. This is our "seal of 
> approval" that says we believe these binaries to be good and safe. Users 
> trust that. If we start allowing other people to run build machines, then we 
> have the problem that we do not know for certain whether those other build 
> machines are free of malware or other problems. We would be signing binaries 
> for distribution to users without being certain of their safety or 
> correctness. I'm not very comfortable with that.

Yes, that safety should be maintained.

>
> Why is this discussion happening? Why do people think we need more hardware? 
> If we need more or faster CPUs or more memory, I can make those changes to 
> the hardware I already manage.

I volunteered because it sounded like resources might be needed:).

Let me know if the free-hosting is needed.

Ben

>


Protobuf3-cpp update woes; strategy to avoid broken dependent ports?

2021-05-21 Thread Christopher Nielsen
We need to figure out a better way to deal with updates to ‘protobuf3-cpp’, as 
every time this port is updated, all dependent ports are broken. (Apart from a 
handful that folks manually rev-bump along with it.)

The problem is that every update results in the name of the dylib being 
incremented by one, breaking everything linked to it.

Does anyone know an easy fix?

Re: Buildbot hardware (was: Re: Framing the MacPorts discussion)

2021-05-21 Thread Ben Greenfield via macports-dev
Hey All,

Thanks for the direction Ryan.

> On May 21, 2021, at 12:46 AM, Ryan Schmidt  wrote:
> 
> On May 19, 2021, at 12:38, Andrew Janke wrote:
> 
>> I have a small stack of Mac Minis I got to use as a buildbot farm for 
>> Octave.app; I might be able to have them pull double duty for MacPorts 
>> depending on your change volume.
> 
> 
> On May 20, 2021, at 08:10, Enrico Maria Crisostomo wrote:
> 
>> I've got an iMac Pro in my LAN with 16 vCores and 64GB or RAM which is quite 
>> often idle.
>> I'm not privy with how our build system work, but if we could get to a point 
>> where agents can be added, stopped, throttled, trusted members of our 
>> community could volunteer the computational power they have at their 
>> disposal without fully dedicating a machine.
>> In my specific case: I'm happy to offer VMs on that machine to volunteer 
>> computational resources.
> 
> 
> On May 20, 2021, at 08:20, Ben Greenfield wrote:
> 
>> I can definitely donate the facilities if not the talent.
>> 
>> I have a symmetrical fiber connection and a static ip. I also have battery 
>> backup.
>> I’m in the final weeks of making the building legal and I haven’t configured 
>> the final network set-up for the building. I was going to set-up a vlan on 
>> my hp procurve switch.
>> I’m still shopping for a router to run OPNsense I think.
>> 
>> I have been a mac sysadmin long time.
> 
> 
> There seem to be a lot of people suddenly volunteering hardware for our build 
> system. First, thank you; I didn't know we had people interested in that.
> 
> Our build system has never been designed to accommodate external hardware. It 
> has always been designed as a centralized system controlled by one 
> administrator. When it was first set up in 2011-12 it was under the control 
> of our Apple administrator at macOS forge. I became the macOS forge 
> administrator temporarily in late 2015, and MacPorts left macOS forge in late 
> 2016 as that service shut down, and I recreated the buildbot system on my own 
> hardware and have run it since then.
> 
> We now have one external Apple Silicon build machine hosted at another data 
> center, but it's still under my exclusive control so that I can keep 
> everything working together.
> 

I would be happy to provide the same service. I don’t need a log-in and I can 
probably provide out of band power reset. The system could be on it’s own vlan.


> There are currently many situations where the build system gets into a state 
> that requires manual intervention. Because I control all the machines, I'm 
> able to make those fixes and get things back up and running quickly.
> 
> We currently have all the builders we need: one for each OS version / arch 
> combination. The system was never designed to have more than that. If for 
> example we added a second macOS 11 / x86_64 builder, there could be confusion 
> and problems if the two machines have different OS / Xcode / command line 
> tools / java versions installed.
> 
> There are security issues to consider. The binaries produced by our buildbot 
> workers are signed on the master with our private key. This is our "seal of 
> approval" that says we believe these binaries to be good and safe. Users 
> trust that. If we start allowing other people to run build machines, then we 
> have the problem that we do not know for certain whether those other build 
> machines are free of malware or other problems. We would be signing binaries 
> for distribution to users without being certain of their safety or 
> correctness. I'm not very comfortable with that.

Yes, that safety should be maintained.

> 
> Why is this discussion happening? Why do people think we need more hardware? 
> If we need more or faster CPUs or more memory, I can make those changes to 
> the hardware I already manage.

I volunteered because it sounded like resources might be needed:).

Let me know if the free-hosting is needed.

Ben

>