[MacPorts] #69837: Redesign R ports/portgroup so that a revbump is not needed after major R updates

MacPorts noreply at macports.org
Fri Apr 26 22:02:43 UTC 2024


#69837: Redesign R ports/portgroup so that a revbump is not needed after major R
updates
------------------------+--------------------
 Reporter:  ryandesign  |      Owner:  (none)
     Type:  defect      |     Status:  new
 Priority:  Normal      |  Milestone:
Component:  ports       |    Version:
 Keywords:              |       Port:  R
------------------------+--------------------
 Revbumping all 4,854 R ports after a major R update, as was done in
 [6fde9135d5a6eecb1f719535588f4812bc01431b/macports-ports] and
 [2329655ef76aaf38dcd204702ba981a6169b77b3/macports-ports], completely
 incapacitates the buildbot. It's not just that building that many ports
 will take weeks, if everything works perfectly. It's that buildbot
 (version 0.8, at least) is not designed to handle that many pending
 builds. I don't know if there's a missing SQLite index or some other
 problem but last year when this happened, with thousands of pending builds
 on each builder, it took literally hours for the buildmaster to decide
 which pending build to start next each time, during which time all the
 builders sat idle. A quick back-of-the-envelope calculation suggests that,
 left unattended, that would take a decade to resolve itself. It took me
 hours of manual work to cancel all the jobs to make the buildbot
 functional again. Oh, and last year it was only 2,047 ports.

 This time, fortunately most of the workers were busy on other builds and I
 was able to remove the commit from the queue before it was processed, and
 the ones that were already processing it had only gotten to the mirroring
 step (which by itself takes hours—not to mirror the files, just to verify
 that they're already mirrored) and were easy to cancel before the
 individual port builds got scheduled. I then loaded the list of changed
 ports into a script that I use to mass build ports in small batches (a
 script usually used to build all ports when a new macOS version is
 released) like I did last time. These batches will probably take a month
 to complete, since a new batch isn't scheduled unless the builder is
 almost idle, but at least the buildbot will be functional and building
 things during that time. The "reason" field in each batch will show how
 many ports remain to be scheduled on that builder.

 Please redesign the R ports/portgroup so that revbumping all of them at
 once is not needed again (with the exception of one final mass revbump to
 remove the R version number from the install path).

 If the version number in the install path is not the only problem and such
 a redesign is not possible, then such mass revbumps need to be coordinated
 with the buildbot administrator which would be me. I would probably need
 to be the one to merge the pull request, ensuring that GitHub webhooks are
 turned off beforehand and turned back on afterward, and then I would need
 to set up and run the batch script.

-- 
Ticket URL: <https://trac.macports.org/ticket/69837>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list