Welcome to CRUX bug tracking.
FS#1111 - Stop using a hard coded repository base directory
|
DetailsI just realised that we are setting the *local* repo dir in each .httpup file
shipped by crux.nu/portdb, like: ROOT_DIR=/usr/ports/mechaniputer etc. /usr/bin/ports explicitly sets PORTS_DIR="/usr/ports" and uses it for everything but ports -u, afaics, e.g.: port_version=`cd $PORTS_DIR/$port; . Pkgfile; echo $version-$release` I propose to a) make PORTS_DIR configurable. For now this could happen in /etc/pkgmk.conf b) comment out the destination/ROOT_DIR parts in the .rsync/.httpup files served and let the system default be /usr/ports but allow users to override this on a per repo basis (just like it is today) c) update the ports man page, post to the ML d) adjust /etc/ports/drivers/{rsync,httpup} e) adjust ports(1) to honor the different base dirs for --list and --diff The only issue I see is with older versions of ports and recently downloaded repos files from crux.nu/portdb, where the neither the repo file nor ports sets the target directory for the synced repository during ports -u. Please comment. |
This task depends upon
Note: other CRUX tools might have /usr/ports hard coded !
What's the advantage of using other directories than /usr/ports ?
I see no advantage having different base directory for ports, as the symlinks gives enough flexibility, but only as long as the ports tool remain for root use only. I see no reason not to allow users to update, build and install ports to ~/bin. But this might be another issue.