This is a rather ironic piece of AutoFu as well. Clearly I can choose to create popt tables with (or without) toggles and with (or without) the other incompatibility POPT_ARG_ARGV.
In fact I do that all the time. But how long do I have to wait before I can use code that I wrote for the purpose(s) I intended? I waited 1 year (and carried along AutoFu-less retrofits with POPT_ARG_ARGV, described the issue, planned the yank, and went through the transition only to receive bug reports. The AutoFu-less POPT_ARGFLAG_TOGGLE retrofit goes something like this: #if !defined(POPT_ARGFLAG_TOGGLE) #define POPT_ARGFLAG_TOGGLE 0 #endif which (all uses I do) causes the inverse operation to drop away, leaving the enabler (or disabler) which most are used to exactly as ever. The deeper irony is that popt _USED_ to be "internal" to RPM to avoid issues like this, and similarly BeeCrypt and elfutils and neon and Berkeley DB and (now) sqlite. I don't know what the right answer is. But there is _NO_ answer in Have it your own way! that I can detect. 73 de Jeff On Apr 27, 2010, at 4:33 AM, Anders F. Björklund wrote: > RPM Package Manager, CVS Repository > http://rpm5.org/cvs/ > ____________________________________________________________________________ > > Server: rpm5.org Name: Anders F. Björklund > Root: /v/rpm/cvs Email: a...@rpm5.org > Module: rpm Date: 27-Apr-2010 10:33:20 > Branch: rpm-5_3 Handle: 2010042708332000 > > Modified files: (Branch: rpm-5_3) > rpm configure.ac > > Log: > check for manadatory minimum version of popt (1.15) > > Summary: > Revision Changes Path > 2.432.2.6 +7 -0 rpm/configure.ac > ____________________________________________________________________________ > > patch -p0 <<'@@ .' > Index: rpm/configure.ac > ============================================================================ > $ cvs diff -u -r2.432.2.5 -r2.432.2.6 configure.ac > --- rpm/configure.ac 27 Apr 2010 08:31:46 -0000 2.432.2.5 > +++ rpm/configure.ac 27 Apr 2010 08:33:20 -0000 2.432.2.6 > @@ -1167,6 +1167,13 @@ > [popt], [poptGetContext], [popt.h], > [yes,external], [], > [], [AC_MSG_ERROR([mandatory POPT library not found])]) > + PROVIDES_POPT_ARGFLAG_TOGGLE=no > + AC_MSG_CHECKING(if <popt.h> defines POPT_ARGFLAG_TOGGLE) > + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <popt.h>]], > [[printf("%d",POPT_ARGFLAG_TOGGLE)]])],[PROVIDES_POPT_ARGFLAG_TOGGLE=yes],[]) > + AC_MSG_RESULT($PROVIDES_POPT_ARGFLAG_TOGGLE) > + if test ".$PROVIDES_POPT_ARGFLAG_TOGGLE" = .no; then > + AC_MSG_ERROR([Your version of POPT is too old]) > + fi > > HAVE_RPM_COMPRESSION=no > dnl # ZLib > @@ . > ______________________________________________________________________ > RPM Package Manager http://rpm5.org > CVS Sources Repository rpm-...@rpm5.org ______________________________________________________________________ RPM Package Manager http://rpm5.org Developer Communication List rpm-devel@rpm5.org