• Status New
  • Percent Complete
  • Task Type Improvement
  • Category tools → prt-get
  • Assigned To
  • Operating System CRUX
  • Severity Low
  • Priority Very Low
  • Reported Version 3.3
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 1
    • tb (08.07.2020)
  • Private
Attached to Project: CRUX
Opened by chinarulezzz - 05.03.2018
Last edited by pedja - 18.03.2019

FS#1605 - prt-get: add check for missing dependencies of installed packages.

In one release lifetime, the software can obtain new dependencies (libinput for example) and it would be good if 'prt-get' can show that. Also, some packages can be manually deleted (after installing for example), and there is no need to remember whether this package is a dependency of other port or not. We can always check where we've mistaken.

I made the patch to prt-get to check for missing dependencies of currently installed ports.
By the way, I'm not familiar with C++, and the code can look awful))

There is a usage example: https://paste.pound-python.org/show/8DqIKor5T4PegZUB2cxH/

2nd, revised version.

tb commented on 22.09.2021 11:10

+1, I'd say this needs some testing and with what Alexandr said, maybe a code review/cleanup, that I can't provide either.

Can anyone help out?

Kudos to Alexandr for offering an actual patch that can be tested. The related task FS#849 generated a lively discussion, but hardly any testable changes to prt-get itself.

That said, the necessary C++ experience is in short supply these days, so in FS#849 I suggested instead that we follow Tim's advice and make sure that new users are "helped properly" in "getting to learn our system tools" (FS#1410). I posted a link to a repository with greatly expanded manpages for prt-get and pkgadd, demonstrating the techniques of piping prt-get output to awk and grep, to obtain the results that Alexandr's patch would provide in a single command. If the manpage is expanded in this way, I think new CRUX users will be less likely to flood the mailing lists or the irc channels with complaints about failing updates.

But training new users to work around the limitations of old tools is a band-aid solution, and doesn't change the fact that patch submissions like Alexandr's can sit for years with no action. I would prefer to make our system tools more inviting for would-be contributors, and not just the handful who have C++ experience.

To the same repository linked in FS#849 I have now added a complete rewrite of prt-get, in a language that will feel more comfortable to writers of shell scripts: https://git.sdf.org/jmq/Documentation/src/branch/master/scripts/prt-auf By answering yes to the first question at the bottom of TODO in the prt-get source tree (mixed install/update mode, whichever is needed?), my rewrite does not suffer from the defect that prompted Alexandr to write his patch. But this same breaking change does entail a slight learning curve to undo years of muscle memory using the 'install' command. It should not be too hard to make the behaviour hew more closely to that of prt-get, if that is what the majority wants.

After testing my rewrite for about a week now, including a few sysup operations, I'm hoping to generate some interest among early testers. With more eyes inspecting the code, the last remaining bugs should be ironed out rather quickly.


Available keyboard shortcuts


Task Details

Task Editing