Here’s a couple of handy scripts I use that work with the GoboLinux distribution, that I find useful but that probably aren’t useful enough to be in core. I keep them in /Programs/LocalScripts along with a few others, but they work as well in ~/bin or elsewhere. They should both work in Rootless within another distribution, but I haven’t tested that (reports welcome).
- OldPrograms searches your /Programs tree for outdated versions of programs that are still installed. It also outputs the total size of each outdated version and of all outdated versions of each program. It can also print a list of pathnames suitable for saving or piping elsewhere, or execute a command on each such path.
OldPrograms --helpprovides more details on those options. It requires BC to be installed, and bash to be accessible through /bin/bash.
SuggestDuplicates does much the same thing slightly differently, and is in Scripts, so you might prefer that. The major differences in functionality are that OldPrograms calculates more detailed disk totals and supports executing an arbitrary command; SuggestDuplicates produces output suitable for executing at the shell to remove or disable a program and runs faster. I will probably merge the two at some point, and would have from the start if I’d found it then.
- NewLocalRecipes finds local recipes that are newer than the versions in the store, or for programs that have no recipes so far. It was first written in response to a request on gobolinux-users, as a long shell command, but I’ve found it useful and cleaned it up into a script. It has no special dependencies beyond the basic system.
I’m posting both scripts in the hope that they will be useful, but without any warranty that they’ll work or not break things. They’re available under the GPLv3+, and any improvements anybody makes to them will be welcome if sent to me. I have a few other scripts in LocalRecipes, but they aren’t Gobo-specific so I’ll keep them for another time.
Update: a third one I forgot
- rurl outputs the URL(s) in the recipe for the provided program. It’s useful for scripting mass fetches of archives with xargs, or for getting a valid URL automatically rather than having to replace $httpSourceforge and $ftpGnu manually.