> 3. Configuration files are placed in the files directory because, by > default, the program generates them and the data directories in the same > location as the executable. To integrate the software into the system and > prevent this behavior, I created these configuration files, which are > simply the program's default configuration with modified paths for the > configuration files and data storage.
are these not files which the program is meant to update itself after learning about trackers etc from the network? : BUILD_DEPENDS = devel/git that only seems used in the Makefile in the distro, whuch you aren't using. (also even in that case it's only used if .git exists, which it doesn't). : USE_GMAKE = Yes unused in your port, you are using go.port.mk pieces to do the build and ignoring upstream's Makefile : SEPARATE_BUILD= Yes already set by go.port.mk : do-install: : ${INSTALL_PROGRAM} ${MODGO_WORKSPACE}/bin/XD ${PREFIX}/bin : ${INSTALL_DATA_DIR} ${SYSCONFDIR}/xd if that actually works for you, you're buulding ports as root. do not do that. $ make fake ===> Faking installation for xd-torrent-0.4.6 /pobj/xd-torrent-0.4.6/bin/install -c -m 755 /pobj/xd-torrent-0.4.6/go/bin/XD /pobj/xd-torrent-0.4.6/fake-amd64/usr/local/bin /pobj/xd-torrent-0.4.6/bin/install -d -m 755 /etc/xd install: /etc/xd: Permission denied *** Error 1 in . (Makefile:23 'do-install') *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3141 '/pobj/xd-torrent-0.4.6/fake-amd64/.fake_done': @cd /usr/ports/mystuff/net/x...) *** Error 2 in /usr/ports/mystuff/net/xd-torrent (/usr/ports/infrastructure/mk/bsd.port.mk:2704 'fake': @lock=xd-torrent-0.4.6; export _LOC...) : ${INSTALL_DATA} ${FILESDIR}/*.ini ${SYSCONFDIR}/xd/ same - plus if you are building as root, that would install files into /etc on the build machine, a port should not write outside of either WRKDIR or /tmp at all during build. that should be installed into a dir like ${PREFIX}/share/examples/xd-torrent for @sample to copy from : ${INSTALL_DATA_DIR} ${LOCALSTATEDIR}/xd : ${INSTALL_DATA_DIR} ${LOCALSTATEDIR}/xd/metadata : ${INSTALL_DATA_DIR} ${LOCALSTATEDIR}/xd/downloads : ${INSTALL_DATA_DIR} ${LOCALSTATEDIR}/xd/seeding same, this is writing to /var on the build machine during build. you don't need these at all, just create the dirs at package install time via @sample. : post-install: : ln -s XD ${PREFIX}/bin/XD-CLI : chmod 755 -s XD ${PREFIX}/bin/XD-CLI that chmod is a no-op, drop it. : @newgroup _xd:900 : @newuser _xd:900:900::xd-torrent account:${LOCALSTATEDIR}/xd:/sbin/nologin : @rcscript ${RCDIR}/xd : @bin bin/XD : bin/XD-CLI : @sample ${SYSCONFDIR}/xd/ : @sample ${SYSCONFDIR}/xd/torrents.ini : @sample ${SYSCONFDIR}/xd/trackers.ini read about @sample in pkg_create(8) to see what's wrong here. : @owner _xd : @group _xd : @sample ${LOCALSTATEDIR}/xd/ : @sample ${LOCALSTATEDIR}/xd/metadata/ : @sample ${LOCALSTATEDIR}/xd/downloads/ : @sample ${LOCALSTATEDIR}/xd/seeding/