On 2017/11/04 20:38, Andreas Kusalananda Kähäri wrote: > On Sat, Nov 04, 2017 at 08:15:48PM +0100, Andreas Kusalananda Kähäri wrote: > > On Sat, Nov 04, 2017 at 07:23:01PM +0100, Marc Espie wrote: > > > On Sat, Nov 04, 2017 at 05:46:26PM +0100, Andreas Kusalananda Kähäri > > > wrote: > > > > Hi, > > > > > > > > I tried using dpb(1) with ccache today by adding USE_CCACHE=Yes and > > > > pointing CCACHE_DIR to a sensible location owned by _pbuild: > > > > > > > > USE_CCACHE= Yes > > > > CCACHE_DIR= /extra/ccache > > > > > > > > However, it seems as if this causes dpb to just quickly run though all > > > > the ports in my list without buiding anything, or even checking the port > > > > signatures. > > > > > > > > I'm running dpb like this: > > > > > > > > doas /usr/ports/infrastructure/bin/dpb -p4 -suUR -J0 -P > > > > "$HOME/packages.txt" > > > > > > > > Is it possible to enable ccache at all for dpb? I'm using dpb since it > > > > makes it easy to keep ports up to date on -current, and I'd really want > > > > to have the ability to run with ccache to speed up the rebuilding of > > > > some > > > > of the larger ports. > > > > > > I'm not going to go debug that from scratch. > > > > > > It's likely dpb produced at least some output, like some logs. > > > So there might be an indication of why it doesn't work. > > > > > > > Sorry, the summary log, which I don't fully uderstand, seems to say > > nothing is being built because of circular dependencies between ccache > > and xz(?): > > > > x11/dbus not built textproc/xmlto -> misc/gnugetopt -> devel/gettext-tools > > -> archivers/xz -> devel/ccache -> devel/autoconf/2.69 -> devel/help2man -> > > archivers/xz > > There's a dependency cycle in the build dependencies for ccache whek > USE_CCACHE is set to "Yes": > > $ make print-build-depends > This port requires package(s) "tsort: cycle in data > tsort: devel/autoconf/2.69 > tsort: devel/ccache > tsort: cycle in data > tsort: devel/ccache > tsort: devel/metaauto > autoconf-2.69p2 ccache-3.3.4p0 metaauto-1.0p1 xz-5.2.3p0" to build. > > > My guess is that all of those port ought to have NO_CCACHE=Yes.
This was just a mistake when bulk-fixing autoconf scripts wih nested functions shortly before 6.2. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/ccache/Makefile,v retrieving revision 1.39 diff -u -p -r1.39 Makefile --- Makefile 25 Sep 2017 19:55:19 -0000 1.39 +++ Makefile 4 Nov 2017 19:47:47 -0000 @@ -17,9 +17,9 @@ WANTLIB += c m z MASTER_SITES = http://samba.org/ftp/ccache/ -CONFIGURE_STYLE = autoconf -AUTOCONF_VERSION = 2.69 +CONFIGURE_STYLE = gnu +# This port should not have dependencies. NO_CCACHE = Yes .include <bsd.port.mk> Index: patches/patch-configure =================================================================== RCS file: patches/patch-configure diff -N patches/patch-configure --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-configure 4 Nov 2017 19:47:47 -0000 @@ -0,0 +1,18 @@ +$OpenBSD$ + +Index: configure +--- configure.orig ++++ configure +@@ -4544,10 +4544,11 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include <stdlib.h> ++ void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); } + int + main () + { +-void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); } ++ + ; + return 0; + } Index: patches/patch-configure_ac =================================================================== RCS file: patches/patch-configure_ac diff -N patches/patch-configure_ac --- patches/patch-configure_ac 25 Sep 2017 19:55:19 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$OpenBSD: patch-configure_ac,v 1.1 2017/09/25 19:55:19 sthen Exp $ - -Index: configure.ac ---- configure.ac.orig -+++ configure.ac -@@ -65,8 +65,9 @@ AC_CHECK_FUNCS(utimes) - - AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [ - AC_TRY_COMPILE( -- [#include <stdlib.h>], -- [void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); }], -+ [#include <stdlib.h> -+ void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); }], -+ [], - ccache_cv_COMPAR_FN_T=yes, - ccache_cv_COMPAR_FN_T=no)]) - if test x"$ccache_cv_COMPAR_FN_T" = x"yes"; then