FreeBSDのportsの変数DEPENDS_TARGETはtargetを上書きするものでFORCE_PACKAGEはNO_PACKAGEをundefする
どういうことかというと実はさっぱりわかってない。なんでこんな話になるのかというとpackage&distfilesサーバを構築する際に明示的にmake installとしてしまったから。
make installとしちゃった場合は明示的にtarget(install)を指定しているのでパッケージは作られないし、FORCE_PACKAGEはあくまでNO_PACKAGEをundefする、つまりパッケージ作成には対応していませんよ、っていうのを無効にするだけ。ということなんだと思う。
まぁmake package-noinstallってやればそれでいいんだろうけども。
追記
ごめんなさい。嘘ついてました。
シェルふたつ立ち上げて/usr/ports/package/All以下を眺めていたんですが、どうも作成される前に見ていたようで、今みたらきちんとpackage作成されてました。
っていうことでpackage&distfilesサーバ作るならDEPENDS_TARGET=packageとFORCE_PACKAGE=yesは指定しておきましょう!
# DEPENDS_TARGET # - The default target to execute when a port is calling a # dependency. # Default: install #
# NO_PACKAGE - Port should not be packaged for ftp sites or CDROMs, # but distfiles can be put on ftp sites and CDROMs. # The user can override the NO_PACKAGE by specifying this from # the make command line .if defined(FORCE_PACKAGE) .undef NO_PACKAGE .endif
################################################################ # The special package-building targets # You probably won't need to touch these ################################################################ # Nobody should want to override this unless PKGNAME is simply bogus. .if !target(package-name) package-name: @${ECHO_CMD} ${PKGNAME} .endif # Build a package but don't check the package cookie .if !target(repackage) repackage: pre-repackage package pre-repackage: @${RM} -f ${PACKAGE_COOKIE} .endif # Build a package but don't check the cookie for installation, also don't # install package cookie .if !target(package-noinstall) package-noinstall: @${MKDIR} ${WRKDIR} @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} pre-package \ pre-package-script do-package post-package-script @${RM} -f ${TMPPLIST} -@${RMDIR} ${WRKDIR} .endif