On 23 May 2012 15:39, Bernhard Froehlich <de...@freebsd.org> wrote: > On 23.05.2012 15:55, Pav Lucistnik wrote: >> >> Pav Lucistnik píše v st 23. 05. 2012 v 15:53 +0200: >>> >>> Bernhard Froehlich píše v st 23. 05. 2012 v 15:47 +0200: >>> > On 23.05.2012 15:39, Pav Lucistnik wrote: >>> > > Martin Wilke píše v st 23. 05. 2012 v 13:34 +0000: >>> > >> miwi 2012-05-23 13:34:12 UTC >>> > >> >>> > >> FreeBSD ports repository >>> > >> >>> > >> Modified files: >>> > >> databases/pg_filedump Makefile >>> > >> Log: >>> > >> - Switch to FETCH_DEPENDS to fix fetch during build >>> > > >>> > > How is this supposed to work? The log message makes no sense. >>> > >>> > The problem that this fixes is when you are building in jails >>> > and restrict internet access to the "fetch" target like >>> > pointyhat-west, redports.org and poudriere already do. >>> >>> Well, the restriction was put in place for a reason 1*), and now you're >>> working around that very reason. So just remove the restriction from >>> pointyhat and problem solved. >> >> >> On a second read, now I see what you're achieving. But still, the chosen >> solution seems suboptimal. > > > On the list of broken ports there are a handful of ports (including this > one) that depend on another ports code (aka working directory). Right now > those ports are written using a dirty hack like that: > > from databases/mysql-q4m: > > BUILD_DEPENDS= > ${NONEXISTENT}:${PORTSDIR}/databases/mysql${MYSQL_VER}-server:build > CONFIGURE_ARGS= --with-mysql="$$(cd > ${PORTSDIR}/databases/mysql${MYSQL_VER}-server; ${MAKE} -V WRKSRC)" > > We decided to choose the s/BUILD_DEPENDS/FETCH_DEPENDS/ solution because > it doesn't actually make the hack much worse than it already is. The > downside is that it builds during fetch which isn't nice but better than > fetch during build which is a security improvement. > > If someone comes up with a better solution without completely rewriting > all those ports I would be glad to help doing it. Right now it looks like > there are around 5-10 ports of that kind.
I'm deeply unhappy about adding ad-hoc fixes like this. Any comments about [1]? I do think that the fixes already put in should be reverted in favour of a proper solution. Alternatively something like (but more hackish): .for dep in ${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} # Check any dependencies with third tuple full, but don't duplicate. . if !empty(dep:M*\:*\:*) && empty(FETCH_DEPENDS:M*\:${dep:C,[^:]*\:([^:]*)\:[^:]*,\1}:\*) FETCH_DEPENDS+= ${dep:C,[^:]*$,fetch} . endif .endfor Which is better? Chris ==== [1] http://www.bayofrum.net/~crees/patches/bsd.port.mk-fetch-depends.diff Index: bsd.port.mk =================================================================== RCS file: /exports/cvsroot-freebsd/ports/Mk/bsd.port.mk,v retrieving revision 1.710 diff -u -r1.710 bsd.port.mk --- bsd.port.mk 23 May 2012 08:17:49 -0000 1.710 +++ bsd.port.mk 23 May 2012 17:44:52 -0000 @@ -4294,7 +4294,7 @@ _PKG_SEQ= pkg-depends _FETCH_DEP= pkg _FETCH_SEQ= fetch-depends pre-fetch pre-fetch-script \ - do-fetch post-fetch post-fetch-script + do-fetch fetch-specials post-fetch post-fetch-script _EXTRACT_DEP= fetch _EXTRACT_SEQ= check-build-conflicts extract-message checksum extract-depends \ pre-extract pre-extract-script do-extract \ @@ -5164,6 +5164,7 @@ _UNIFIED_DEPENDS=${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} _DEPEND_DIRS= ${_UNIFIED_DEPENDS:C,^[^:]*:([^:]*).*$,\1,} +_DEPEND_SPECIALS= ${_UNIFIED_DEPENDS:M*\:*\:*:C,^[^:]*:([^:]*).*$,\1,:O:u} all-depends-list: @${ALL-DEPENDS-LIST} @@ -5299,6 +5300,14 @@ done .endif +.if !target(fetch-specials) +fetch-specials: + @${ECHO_MSG} "===> Fetching all distfiles required by ${PKGNAME} for building" +. for dir in ${_DEPEND_SPECIALS} + cd $dir; ${MAKE} fetch +. endfor +.endif + .if !target(fetch-recursive) fetch-recursive: @${ECHO_MSG} "===> Fetching all distfiles for ${PKGNAME} and dependencies" _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscr...@freebsd.org"