emacs-app-devel build fail on master not detected by buildbot

Nathaniel W Griswold nate at manicmind.earth
Thu Apr 22 17:17:19 UTC 2021


While i agree with the maintainer that the port should be kept up to date, i did spend quite a bit of time investigating this issue on my machine. I hadn’t worked on a port in a while so i had to get the rust off and spend time on digging to find out what was wrong. While i wasn’t too busy today, and that’s the reason i was able to dig into it, it remains that this was an issue that has already come up and so this is actually time that i could have spent on my actual work instead. I’m sure it will happen to other people. We need a solution so it doesn’t happen again. Your recommendation to me in keeping with the maintainer’s solutions does not seem it will prevent the problem from reocurring. Additionally, the solution you previously proposed to the maintainer does not keep the package up to date with git.

Adding the ability to explicitly flag the port as ‘volatile’ or some such either directly in the Portfile or in any build meta info that exists would prevent people who are mostly just users like myself from suffering lost time in their day because of broken builds. Even if we all go to macports support when it happens and the dev team does all the work, it’s still a problem. I think this should be automated in the buildbot, or all maintainers of such ports should get some kind of regular reminder to update their port, or such ports should just have an explicit shelf life to compute future expiration date, or pretty much anything so users don’t suffer the consequences.

Do you agree?

Nate

> On Apr 22, 2021, at 9:05 AM, Aaron Madlon-Kay <amake at macports.org> wrote:
> 
> I proposed in a past PR to emacs-app-devel to use a modern git flag that lets you specify a depth based on commit date. That would be the “real” solution in the direction you’re going.
> 
> However it was rejected by the maintainer because he *wants* the current setup. If the port no longer builds because the referenced commit is more than 1,000 commits in the past, then the port is ripe for a bump. Increasing the depth or using a date-based strategy will just balloon the amount of data fetched.
> 
> So rather than increasing the depth to 3,000, I recommend you either:
> 
> - bump the commit to a recent one, or
> - file a Trac ticket so that someone else is prompted to do so
> 
> Thanks,
> Aaron
> 
> 
>> On Apr 22, 2021, at 22:29, Nathaniel W Griswold <nate at manicmind.earth> wrote:
>> 
>> I use the subport emacs-app-devel (subport of emacs) on my 10.15 Catalina system (with variants +imagemagick, +rsvg). The build failed during my last port upgrade outdated and i investigated why.
>> 
>> The external git mirror (https://github.com/emacs-mirror/emacs.git) has exceeded 1000 new commits since the commit referenced by the Portfile (80e26472206cc44837521ba594cd50e724d9af5c). Since the clone produced from the Portfile uses depth 1000, This means that port cannot check out that commit in its local checkout and the port build fails on that step.
>> 
>> I thought about it a bit and i feel like if the logic to trigger a build is already Portfile-aware this could be detected with a small change to the system. If a git clone with a —depth=${val} is found in the Portfile for a port or subport, then the build system could trigger a build periodically at some rate that doesn’t stress the build setup too much. I don’t know how many Portfiles have `git clone —depth=${val} ${repo}` git.url values but if there aren’t that many you could trigger these builds quite often.
>> 
>> I will increase the depth to 3000 for now and submit my updated Portfile.
>> 
>> Thank you
>> 
>> Nate
> 



More information about the macports-dev mailing list