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

Reply via email to