Darwin's Theories Blog

New Theories for a New Time

Ports Madness

Third-Party Software rendered Third Rate?
Whenever I have to use most ports/packaging schemes other than OpenBSD's, I am blown away by their complexity. I marvel at how easy it is to use OpenBSD's ports by contrast.

For eample, on the "easy to use" macOS, I recently upgrade a a Mac from OS 10.9 to 10.10, and MacPorts totally stopped working! I was directed to their migration page, where this abomination came into view: (from https://trac.macports.org/wiki/Migration as of 2015-04-19):

3. Reinstall ports. To reinstall your ports:
Save the list of installed ports:
port -qv installed > myports.txt
(optional) Save the list of requested ports:
port echo requested | cut -d ' ' -f 1 > requested.txt
Uninstall all installed ports:
sudo port -f uninstall installed
Clean any partially-completed builds:
sudo port clean all
Download and execute the restore_ports script. (If you installed MacPorts from source and used a custom prefix, then you'll need to use the -p option when you run restore_ports.tcl; see ./restore_ports.tcl -h.)
curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl
chmod +x restore_ports.tcl
sudo ./restore_ports.tcl myports.txt
(optional) Restore requested status: If you saved the list of requested ports, you can now restore the requested flags for your newly installed ports to their former states.
sudo port unsetrequested installed
xargs sudo port setrequested < requested.txt
Seriously? They expect users to run that?

On OpenBSD, you'd just to "pkg_add -vu" and be done. What part of "keep it simple" to these people not get? And, special thanks to Marc Espie and the rest of the ports team for totally rebuilding and maintaining the OpenBSD ports systems and to the entire team of ports maintainers!