4 ms·
How is it similar? I get deprecation warnings if I update the library. I can pin the version of the library. A library is something I work with, unlike a termin
by avgcorrection 3y ago
How is it similar? I get deprecation warnings if I update the library. I can pin the version of the library. A library is something I work with, unlike a terminal program which might be written and forgotten.
Then those terminal programs get upgraded on the next system update because hey, you’re supposed to the get latest version right?
Terminal programs can do the same (`-v1`) in principle. Few do.
- samatman 3y agoA terminal program is quite easy to pin, though, just do this: - $package-manager install $program - which $program - cp $program ~/my/own/directories - $package-manager uninstall $program done. It won't ever change by accident.
- avgcorrection 3y agoNice. Then I will not hesitate to break the UI in my upcoming terminal program releases. (... they are quite well designed in my head.)
- 10000truths 3y agoNot quite that simple. You can't just pin the program itself, you also have to pin its dependencies. Which means you have to run ldd to get the libraries it loads (whether directly or transitively), and copy those too, and then you patch the program and its dependencies to set the rpath to $ORIGIN/my/own/directories, then you have to examine all the other more subtle application-level gotchas (e.g. path search order for config files, hard-coded absolute paths, etc.) and port those too. Once you're done, congratulations! You've done 50% of the work of a package manager.
- samatman 3y agoYeah, I wish this kind of thing[0] were a core POSIX tool which worked reliably on all systems and binaries. Bit of an oversight, that. [0]: https://github.com/greenpau/statifier https://github.com/greenpau/statifier