[popt] patches/: Added patches from Fedora and openSUSE.
authorDavid Korth <gerbilsoft@gerbilsoft.com>
Mon, 7 Sep 2015 20:11:22 +0000 (16:11 -0400)
committerDavid Korth <gerbilsoft@gerbilsoft.com>
Mon, 7 Sep 2015 20:11:22 +0000 (16:11 -0400)
The patches haven't been applied yet. I suspect some of them aren't
necessary due to the autoconf infrastructure not being present.

extlib/popt/patches/popt-1.16-28.19.suse/SOURCES.txt [new file with mode: 0644]
extlib/popt/patches/popt-1.16-28.19.suse/popt-alignment-checks.patch [new file with mode: 0644]
extlib/popt/patches/popt-1.16-28.19.suse/popt-libc-updates.patch [new file with mode: 0644]
extlib/popt/patches/popt-1.16-6.fc23/SOURCES.txt [new file with mode: 0644]
extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-execfail.patch [new file with mode: 0644]
extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-help.patch [new file with mode: 0644]
extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-man-page.patch [new file with mode: 0644]
extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-pkgconfig.patch [new file with mode: 0644]

diff --git a/extlib/popt/patches/popt-1.16-28.19.suse/SOURCES.txt b/extlib/popt/patches/popt-1.16-28.19.suse/SOURCES.txt
new file mode 100644 (file)
index 0000000..3ac748b
--- /dev/null
@@ -0,0 +1,10 @@
+These patches are from openSUSE's popt-1.16-28.19.src.rpm.
+
+popt-alignment-checks.patch:
+- Verify alignment of parameters.
+
+popt-libc-updates.patch:
+- Changes for glibc updates.
+
+Original URL:
+- https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/p/popt-1.16-6.fc23.src.rpm
diff --git a/extlib/popt/patches/popt-1.16-28.19.suse/popt-alignment-checks.patch b/extlib/popt/patches/popt-1.16-28.19.suse/popt-alignment-checks.patch
new file mode 100644 (file)
index 0000000..a034d73
--- /dev/null
@@ -0,0 +1,74 @@
+Index: popt-1.16/configure.ac
+===================================================================
+--- popt-1.16.orig/configure.ac
++++ popt-1.16/configure.ac
+@@ -47,7 +47,7 @@ AC_SYS_LARGEFILE
+ AC_ISC_POSIX
+-AC_CHECK_HEADERS(float.h fnmatch.h glob.h langinfo.h libintl.h mcheck.h unistd.h)
++AC_CHECK_HEADERS(float.h fnmatch.h glob.h langinfo.h libintl.h mcheck.h unistd.h stdalign.h)
+ # For some systems we know that we have ld_version scripts.
+ # Use it then as default.
+Index: popt-1.16/popt.c
+===================================================================
+--- popt-1.16.orig/popt.c
++++ popt-1.16/popt.c
+@@ -25,6 +25,15 @@ extern long long int strtoll(const char
+ #include "poptint.h"
++#ifdef HAVE_STDALIGN_H
++#include <stdalign.h>
++#define ALIGNOF(x) alignof(x)
++#elif defined __GNUC__
++#define ALIGNOF(x) __alignof__(x)
++#else
++#define ALIGNOF(x) sizeof(x)
++#endif
++
+ #ifdef        MYDEBUG
+ /*@unchecked@*/
+ int _popt_debug = 0;
+@@ -977,12 +986,8 @@ static unsigned int seed = 0;
+ int poptSaveLongLong(long long * arg, unsigned int argInfo, long long aLongLong)
+ {
+-    if (arg == NULL
+-#ifdef        NOTYET
+     /* XXX Check alignment, may fail on funky platforms. */
+-     || (((unsigned long long)arg) & (sizeof(*arg)-1))
+-#endif
+-    )
++    if (arg == NULL || (((unsigned long)arg) & (ALIGNOF(*arg)-1)))
+       return POPT_ERROR_NULLARG;
+     if (aLongLong != 0 && LF_ISSET(RANDOM)) {
+@@ -1023,7 +1028,7 @@ int poptSaveLongLong(long long * arg, un
+ int poptSaveLong(long * arg, unsigned int argInfo, long aLong)
+ {
+     /* XXX Check alignment, may fail on funky platforms. */
+-    if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1)))
++    if (arg == NULL || (((unsigned long)arg) & (ALIGNOF(*arg)-1)))
+       return POPT_ERROR_NULLARG;
+     if (aLong != 0 && LF_ISSET(RANDOM)) {
+@@ -1056,7 +1061,7 @@ int poptSaveLong(long * arg, unsigned in
+ int poptSaveInt(/*@null@*/ int * arg, unsigned int argInfo, long aLong)
+ {
+     /* XXX Check alignment, may fail on funky platforms. */
+-    if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1)))
++    if (arg == NULL || (((unsigned long)arg) & (ALIGNOF(*arg)-1)))
+       return POPT_ERROR_NULLARG;
+     if (aLong != 0 && LF_ISSET(RANDOM)) {
+@@ -1089,7 +1094,7 @@ int poptSaveInt(/*@null@*/ int * arg, un
+ int poptSaveShort(/*@null@*/ short * arg, unsigned int argInfo, long aLong)
+ {
+     /* XXX Check alignment, may fail on funky platforms. */
+-    if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1)))
++    if (arg == NULL || (((unsigned long)arg) & (ALIGNOF(*arg)-1)))
+       return POPT_ERROR_NULLARG;
+     if (aLong != 0 && LF_ISSET(RANDOM)) {
diff --git a/extlib/popt/patches/popt-1.16-28.19.suse/popt-libc-updates.patch b/extlib/popt/patches/popt-1.16-28.19.suse/popt-libc-updates.patch
new file mode 100644 (file)
index 0000000..6a4ca91
--- /dev/null
@@ -0,0 +1,199 @@
+Index: configure.ac
+===================================================================
+--- configure.ac.orig
++++ configure.ac
+@@ -21,7 +21,7 @@ AC_SUBST(LT_AGE, 8)
+ ALL_LINGUAS="cs da de eo es fi fr ga gl hu id is it ja ko lv nb nl pl pt ro ru sk sl sv th tr uk vi wa zh_TW zh_CN"
+ AC_PROG_CC_STDC
+-AC_PROG_CC
++AC_USE_SYSTEM_EXTENSIONS
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
+@@ -40,13 +40,12 @@ else
+ fi
+ AC_SUBST(TARGET)
+-CFLAGS="$CFLAGS -D_GNU_SOURCE -D_REENTRANT"
++CFLAGS="$CFLAGS -D_REENTRANT"
+ AC_GCC_TRADITIONAL
+ AC_SYS_LARGEFILE
+ AC_ISC_POSIX
+-AM_C_PROTOTYPES
+ AC_CHECK_HEADERS(float.h fnmatch.h glob.h langinfo.h libintl.h mcheck.h unistd.h)
+@@ -82,7 +81,7 @@ AC_ARG_ENABLE(build-gcov,
+ AC_CHECK_FUNC(setreuid, [], [
+     AC_CHECK_LIB(ucb, setreuid, [if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi])
+ ])
+-AC_CHECK_FUNCS(getuid geteuid iconv mtrace __secure_getenv setregid stpcpy strerror vasprintf srandom)
++AC_CHECK_FUNCS(getuid geteuid iconv mtrace __secure_getenv secure_getenv setregid stpcpy strerror vasprintf srandom)
+ AM_GNU_GETTEXT([external])
+ AM_ICONV_LINK
+Index: system.h
+===================================================================
+--- system.h.orig
++++ system.h
+@@ -1,10 +1,9 @@
+ /**
+  * \file popt/system.h
+  */
++#pragma once
+-#ifdef HAVE_CONFIG_H
+ #include "config.h"
+-#endif
+ #if defined (__GLIBC__) && defined(__LCLINT__)
+ /*@-declundef@*/
+@@ -42,6 +41,7 @@ extern __const __int32_t *__ctype_touppe
+ #include <libc.h>
+ #endif
++#pragma GCC visibility push(hidden)
+ /*@-incondefs@*/
+ /*@mayexit@*/ /*@only@*/ /*@out@*/ /*@unused@*/
+ void * xmalloc (size_t size)
+@@ -77,6 +77,8 @@ static inline char * stpcpy (char *dest,
+ }
+ #endif
++#pragma GCC visibility pop
++
+ /* Memory allocation via macro defs to get meaningful locations from mtrace() */
+ #if defined(HAVE_MCHECK_H) && defined(__GNUC__)
+ #define       vmefail()       (fprintf(stderr, "virtual memory exhausted.\n"), exit(EXIT_FAILURE), NULL)
+@@ -91,8 +93,12 @@ static inline char * stpcpy (char *dest,
+ #define       xstrdup(_str)   strdup(_str)
+ #endif  /* defined(HAVE_MCHECK_H) && defined(__GNUC__) */
+-#if defined(HAVE___SECURE_GETENV) && !defined(__LCLINT__)
+-#define       getenv(_s)      __secure_getenv(_s)
++#ifndef HAVE_SECURE_GETENV
++#  ifdef HAVE___SECURE_GETENV
++#    define secure_getenv __secure_getenv
++#  else
++#    error neither secure_getenv nor __secure_getenv is available
++#  endif
+ #endif
+ #if !defined(__GNUC__) && !defined(__attribute__)
+Index: Makefile.am
+===================================================================
+--- Makefile.am.orig
++++ Makefile.am
+@@ -14,7 +14,7 @@ EXTRA_DIST = config.rpath lookup3.c auto
+ SUBDIRS = po . auto
+-AM_CPPFLAGS = -I. -I$(top_srcdir)
++AM_CPPFLAGS = -include $(top_srcdir)/system.h -I. -I$(top_srcdir)
+ noinst_HEADERS = poptint.h system.h
+@@ -37,7 +37,7 @@ noinst_SCRIPTS = testit.sh
+ TESTS_ENVIRONMENT = \
+ test1="$(top_builddir)/test1"
+-TESTS = $(top_srcdir)/testit.sh
++TESTS = testit.sh
+ include_HEADERS = popt.h
+Index: popt.c
+===================================================================
+--- popt.c.orig
++++ popt.c
+@@ -197,7 +197,7 @@ poptContext poptGetContext(const char *
+     con->execAbsolute = 1;
+     con->arg_strip = NULL;
+-    if (getenv("POSIXLY_CORRECT") || getenv("POSIX_ME_HARDER"))
++    if (secure_getenv("POSIXLY_CORRECT") || secure_getenv("POSIX_ME_HARDER"))
+       con->flags |= POPT_CONTEXT_POSIXMEHARDER;
+     if (name)
+@@ -442,7 +442,7 @@ const char * findProgramPath(/*@null@*/
+     if (strchr(argv0, '/'))
+       return xstrdup(argv0);
+-    if ((path = getenv("PATH")) == NULL || (path = xstrdup(path)) == NULL)
++    if ((path = secure_getenv("PATH")) == NULL || (path = xstrdup(path)) == NULL)
+       return NULL;
+     /* The return buffer in t is big enough for any path. */
+@@ -1706,6 +1706,7 @@ const char * poptBadOption(poptContext c
+ const char * poptStrerror(const int error)
+ {
++    char errbuf[1024];
+     switch (error) {
+       case POPT_ERROR_NOARG:
+       return POPT_("missing argument");
+@@ -1728,7 +1729,7 @@ const char * poptStrerror(const int erro
+       case POPT_ERROR_BADCONFIG:
+       return POPT_("config file failed sanity test");
+       case POPT_ERROR_ERRNO:
+-      return strerror(errno);
++      return strerror_r(errno, errbuf, sizeof errbuf);
+       default:
+       return POPT_("unknown error");
+     }
+Index: poptconfig.c
+===================================================================
+--- poptconfig.c.orig
++++ poptconfig.c
+@@ -540,7 +540,7 @@ int poptReadDefaultConfig(poptContext co
+     if (rc) goto exit;
+ #endif
+-    if ((home = getenv("HOME"))) {
++    if ((home = secure_getenv("HOME"))) {
+       char * fn = malloc(strlen(home) + 20);
+       if (fn != NULL) {
+           (void) stpcpy(stpcpy(fn, home), "/.popt");
+Index: poptint.h
+===================================================================
+--- poptint.h.orig
++++ poptint.h
+@@ -11,6 +11,8 @@
+ #include <stdint.h>
++#pragma GCC visibility push(hidden)
++
+ /**
+  * Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
+  * @param p           memory to free
+@@ -149,6 +151,8 @@ struct poptContext_s {
+     pbm_set * arg_strip;
+ };
++#pragma GCC visibility pop
++
+ #if defined(POPT_fprintf)
+ #define       POPT_dgettext   dgettext
+ #else
+@@ -182,6 +186,8 @@ extern char *nl_langinfo (nl_item __item
+ #endif
+ #endif
++#pragma GCC visibility push(hidden)
++
+ #if defined(HAVE_DCGETTEXT) && !defined(__LCLINT__)
+ char *POPT_dgettext(const char * dom, const char * str)
+       /*@*/;
+@@ -200,6 +206,8 @@ const char *POPT_next_char (/*@returned@
+ #endif
++#pragma GCC visibility pop
++
+ #if defined(ENABLE_NLS) && defined(HAVE_LIBINTL_H)
+ #include <libintl.h>
+ #endif
diff --git a/extlib/popt/patches/popt-1.16-6.fc23/SOURCES.txt b/extlib/popt/patches/popt-1.16-6.fc23/SOURCES.txt
new file mode 100644 (file)
index 0000000..28e4819
--- /dev/null
@@ -0,0 +1,16 @@
+These patches are from Fedora 23's popt-1.16-6.fc23.src.rpm.
+
+popt-1.16-execfail.patch:
+- Patch to fix poptbadOption()'s return value if an exec alias fails.
+
+popt-1.16-help.patch:
+- Fixes translations for help messages for --help and --usage.
+
+popt-1.16-man-page.patch:
+- Fixes spelling mistakes in popt's man page.
+
+popt-1.16-pkgconfig.patch:
+- Fixes the pkgconfig path on 64-bit systems.
+
+Original URL:
+- https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/p/popt-1.16-6.fc23.src.rpm
diff --git a/extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-execfail.patch b/extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-execfail.patch
new file mode 100644 (file)
index 0000000..f530fab
--- /dev/null
@@ -0,0 +1,71 @@
+Patch by Panu Matilainen <pmatilai@redhat.com> for popt <= 1.16 which kludges
+poptBadOption() to return something semi-meaningful on exec alias fail:
+
+- poptBadOption() is totally unaware of exec alias failures, and will return
+  either the first argument or last option, giving wonderfully misleading error
+  messages (#697435, #710267).
+- Remember execvp() first argument on failure and return that from
+  poptBadOption() if present to give the user a reasonable clue what exactly
+  went wrong.
+
+This patch was proposed to upstream: http://rpm5.org/community/popt-devel/0264.html
+
+--- popt-1.16/popt.c                           2010-01-19 01:39:10.000000000 +0100
++++ popt-1.16/popt.c.execfail                  2013-11-24 15:50:06.000000000 +0100
+@@ -192,6 +192,7 @@
+     con->flags = flags;
+     con->execs = NULL;
+     con->numExecs = 0;
++    con->execFail = NULL;
+     con->finalArgvAlloced = argc * 2;
+     con->finalArgv = calloc( (size_t)con->finalArgvAlloced, sizeof(*con->finalArgv) );
+     con->execAbsolute = 1;
+@@ -236,6 +237,7 @@
+     con->nextLeftover = 0;
+     con->restLeftover = 0;
+     con->doExec = NULL;
++    con->execFail = _free(con->execFail);
+     if (con->finalArgv != NULL)
+     for (i = 0; i < con->finalArgvCount; i++) {
+@@ -564,6 +566,7 @@
+ /*@-nullstate@*/
+     rc = execvp(argv[0], (char *const *)argv);
+ /*@=nullstate@*/
++    con->execFail = xstrdup(argv[0]);
+ exit:
+     if (argv) {
+@@ -1697,11 +1700,19 @@
+ const char * poptBadOption(poptContext con, unsigned int flags)
+ {
+     struct optionStackEntry * os = NULL;
++    const char *badOpt = NULL;
+-    if (con != NULL)
+-      os = (flags & POPT_BADOPTION_NOALIAS) ? con->optionStack : con->os;
++    if (con != NULL) {
++       /* Stupid hack to return something semi-meaningful from exec failure */
++       if (con->execFail) {
++           badOpt = con->execFail;
++       } else {
++           os = (flags & POPT_BADOPTION_NOALIAS) ? con->optionStack : con->os;
++           badOpt = os->argv[os->next - 1];
++       }
++    }
+-    return (os != NULL && os->argv != NULL ? os->argv[os->next - 1] : NULL);
++    return badOpt;
+ }
+ const char * poptStrerror(const int error)
+--- popt-1.16/poptint.h                                2010-01-19 01:39:10.000000000 +0100
++++ popt-1.16/poptint.h.execfail               2013-11-24 15:50:38.000000000 +0100
+@@ -132,6 +132,7 @@
+ /*@owned@*/ /*@null@*/
+     poptItem execs;
+     int numExecs;
++    char * execFail;
+ /*@only@*/ /*@null@*/
+     poptArgv finalArgv;
+     int finalArgvCount;
diff --git a/extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-help.patch b/extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-help.patch
new file mode 100644 (file)
index 0000000..85fd5ce
--- /dev/null
@@ -0,0 +1,107 @@
+Patch initially by Miloslav Trma─Ź <mitr@redhat.com> and revised by Akira Tagoh
+<tagoh@redhat.com> for popt <= 1.16 which fixes the problem that help messages
+for --help and --usage seem not translatable. There already was some i18n support
+for autohelp in popt.c, but not in popthelp.c, where it actually matters.
+
+See https://bugzilla.redhat.com/show_bug.cgi?id=734434 for further details, please.
+
+This patch was proposed to upstream: http://rpm5.org/community/popt-devel/0287.html
+
+--- popt-1.16/popthelp.c                       2009-08-28 09:06:33.000000000 +0900
++++ popt-1.16/popthelp.c.help                  2014-01-08 12:04:00.888260244 +0900
+@@ -89,7 +89,7 @@ static struct poptOption poptHelpOptions
+   { "defaults", '\0', POPT_ARG_NONE, &show_option_defaults, 0,
+       N_("Display option defaults in message"), NULL },
+ #endif
+-  { "", '\0', 0, NULL, 0, N_("Terminate options"), NULL },
++  { NULL, '\0',       0, NULL, 0, N_("Terminate options"), NULL },
+     POPT_TABLEEND
+ } ;
+@@ -527,8 +527,11 @@ static size_t maxArgWidth(const struct p
+     if (opt != NULL)
+     while (opt->longName || opt->shortName || opt->arg) {
+       if (poptArgType(opt) == POPT_ARG_INCLUDE_TABLE) {
+-          if (opt->arg)       /* XXX program error */
+-              len = maxArgWidth(opt->arg, translation_domain);
++          void * arg = opt->arg;
++          /* XXX sick hack to preserve pretense of ABI. */
++          if (arg == poptHelpOptions) arg = poptHelpOptionsI18N;
++          if (arg)    /* XXX program error */
++              len = maxArgWidth(arg, translation_domain);
+           if (len > max) max = len;
+       } else if (!F_ISSET(opt, DOC_HIDDEN)) {
+           len = sizeof("  ")-1;
+@@ -619,19 +622,22 @@ static void singleTableHelp(poptContext
+     if (table != NULL)
+     for (opt = table; opt->longName || opt->shortName || opt->arg; opt++) {
++      void * arg = opt->arg;
+       if (poptArgType(opt) != POPT_ARG_INCLUDE_TABLE)
+           continue;
+-      sub_transdom = getTableTranslationDomain(opt->arg);
++      /* XXX sick hack to preserve pretense of ABI. */
++      if (arg == poptHelpOptions) arg = poptHelpOptionsI18N;
++          sub_transdom = getTableTranslationDomain(arg);
+       if (sub_transdom == NULL)
+           sub_transdom = translation_domain;
+           
+       /* If no popt aliases/execs, skip poptAliasOption processing. */
+-      if (opt->arg == poptAliasOptions && !(con->numAliases || con->numExecs))
++      if (arg == poptAliasOptions && !(con->numAliases || con->numExecs))
+           continue;
+       if (opt->descrip)
+           xx = POPT_fprintf(fp, "\n%s\n", D_(sub_transdom, opt->descrip));
+-      singleTableHelp(con, fp, opt->arg, columns, sub_transdom);
++      singleTableHelp(con, fp, arg, columns, sub_transdom);
+     }
+ }
+@@ -808,22 +814,25 @@ static size_t singleTableUsage(poptConte
+           translation_domain = (const char *)opt->arg;
+       } else
+       if (poptArgType(opt) == POPT_ARG_INCLUDE_TABLE) {
++          void * arg = opt->arg;
++          /* XXX sick hack to preserve pretense of ABI. */
++          if (arg == poptHelpOptions) arg = poptHelpOptionsI18N;
+           if (done) {
+               int i = 0;
+               if (done->opts != NULL)
+               for (i = 0; i < done->nopts; i++) {
+                   const void * that = done->opts[i];
+-                  if (that == NULL || that != opt->arg)
++                  if (that == NULL || that != arg)
+                       /*@innercontinue@*/ continue;
+                   /*@innerbreak@*/ break;
+               }
+               /* Skip if this table has already been processed. */
+-              if (opt->arg == NULL || i < done->nopts)
++              if (arg == NULL || i < done->nopts)
+                   continue;
+               if (done->opts != NULL && done->nopts < done->maxopts)
+-                  done->opts[done->nopts++] = (const void *) opt->arg;
++                  done->opts[done->nopts++] = (const void *) arg;
+           }
+-          columns->cur = singleTableUsage(con, fp, columns, opt->arg,
++          columns->cur = singleTableUsage(con, fp, columns, arg,
+                       translation_domain, done);
+       } else
+       if ((opt->longName || opt->shortName) && !F_ISSET(opt, DOC_HIDDEN)) {
+@@ -864,9 +873,13 @@ static size_t showShortOptions(const str
+           if (!strchr(s, opt->shortName) && isprint((int)opt->shortName)
+            && opt->shortName != ' ')
+               s[strlen(s)] = opt->shortName;
+-      } else if (poptArgType(opt) == POPT_ARG_INCLUDE_TABLE)
+-          if (opt->arg)       /* XXX program error */
+-              len = showShortOptions(opt->arg, fp, s);
++      } else if (poptArgType(opt) == POPT_ARG_INCLUDE_TABLE) {
++          void * arg = opt->arg;
++          /* XXX sick hack to preserve pretense of ABI. */
++          if (arg == poptHelpOptions) arg = poptHelpOptionsI18N;
++          if (arg)    /* XXX program error */
++              len = showShortOptions(arg, fp, s);
++      }
+     } 
+     /* On return to top level, print the short options, return print length. */
diff --git a/extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-man-page.patch b/extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-man-page.patch
new file mode 100644 (file)
index 0000000..bc8dafd
--- /dev/null
@@ -0,0 +1,66 @@
+Patch by John Bradshaw <john@johnbradshaw.org> for popt <= 1.16 which fixes some
+spelling mistakes in popt man page.
+
+See https://bugzilla.redhat.com/show_bug.cgi?id=675567 for further details, please.
+This patch was proposed to upstream: http://rpm5.org/community/popt-devel/0263.html
+
+Upstream already corrected some issues with http://rpm5.org/cvs/chngview?cn=16879
+and solved the last ones with http://rpm5.org/cvs/chngview?cn=17375 now. Thus popt
+1.17 should make this patch completely obsolete.
+
+--- popt-1.16/popt.3                           2009-07-25 20:52:36.000000000 +0200
++++ popt-1.16/popt.3.man-page                  2013-11-24 15:59:58.000000000 +0100
+@@ -200,7 +200,7 @@
+ .RB "This macro includes another option table (via " POPT_ARG_INCLUDE_TABLE
+ ; see below) in the main one which provides the table entries for these
+ .RB "arguments. When " --usage " or " --help " are passed to programs which
+-use popt's automatical help, popt displays the appropriate message on 
++use popt's automatic help, popt displays the appropriate message on 
+ stderr as soon as it finds the option, and exits the program with a
+ return code of 0. If you want to use popt's automatic help generation in
+ a different way, you need to explicitly add the option entries to your programs 
+@@ -210,7 +210,7 @@
+ the argument will not be shown in help output.
+ .sp
+ If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_SHOW_DEFAULT\fR,
+-the inital value of the arg will be shown in help output.
++the initial value of the arg will be shown in help output.
+ .sp
+ The final structure in the table should have all the pointer values set
+ .RB "to " NULL " and all the arithmetic values set to 0, marking the "
+@@ -233,7 +233,7 @@
+ contain a overall description of the option table being included.
+ .sp
+ The other special option table entry type tells popt to call a function (a
+-callback) when any option in that table is found. This is especially usefull
++callback) when any option in that table is found. This is especially useful
+ when included option tables are being used, as the program which provides
+ the top-level option table doesn't need to be aware of the other options
+ which are provided by the included table. When a callback is set for
+@@ -473,7 +473,7 @@
+ .TP
+ .B POPT_ERROR_BADNUMBER
+ A conversion from a string to a number (int or long) failed due
+-to the string containing nonnumeric characters. This occurs when
++to the string containing non-numeric characters. This occurs when
+ .BR poptGetNextOpt() " is processing an argument of type " 
+ .BR POPT_ARG_INT ", " POPT_ARG_SHORT ", " POPT_ARG_LONG ", " POPT_ARG_LONGLONG ", "
+ .RB POPT_ARG_FLOAT ", or " POPT_ARG_DOUBLE "."  
+@@ -517,7 +517,7 @@
+ applications. When an error is detected from most of the functions, 
+ an error message is printed along with the error string from 
+ .BR poptStrerror() ". When an error occurs during argument parsing, "
+-code similiar to the following displays a useful error message:
++code similar to the following displays a useful error message:
+ .sp
+ .nf
+ fprintf(stderr, "%s: %s\\n",
+@@ -608,7 +608,7 @@
+ .RI "an " argv "-style array, some programs need to parse strings that "
+ are formatted identically to command lines. To facilitate this, popt 
+ provides a function that parses a string into an array of strings, 
+-using rules similiar to normal shell parsing.
++using rules similar to normal shell parsing.
+ .sp
+ .nf
+ .B "#include <popt.h>"
diff --git a/extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-pkgconfig.patch b/extlib/popt/patches/popt-1.16-6.fc23/popt-1.16-pkgconfig.patch
new file mode 100644 (file)
index 0000000..08d05c6
--- /dev/null
@@ -0,0 +1,31 @@
+Patch by Robert Scheck <robert@fedoraproject.org> for popt <= 1.16 which changes
+$(pkgconfigdir) on 64 bit systems from /usr/lib/pkgconfig to /usr/lib64/pkgconfig.
+Using $(libdir)/pkgconfig rather $(prefix)/lib/pkgconfig seems to be common when
+searching on the Internet. This patch however is not really compliant with Fedora
+/%{_lib} vs. %{_libdir} handling before the UsrMove with Fedora 17. Alternatively
+--with-pkgconfigdir or similar should be implemented.
+
+This patch was proposed to upstream: http://rpm5.org/community/popt-devel/0265.html
+
+--- popt-1.16/Makefile.in                      2010-05-04 22:55:59.000000000 +0200
++++ popt-1.16/Makefile.in.pkgconfig            2013-11-24 15:06:43.000000000 +0100
+@@ -370,7 +370,7 @@
+ libpopt_la_SOURCES = popt.c poptparse.c poptconfig.c popthelp.c poptint.c
+ libpopt_la_LDFLAGS = -no-undefined @LTLIBINTL@ @LTLIBICONV@ \
+       $(am__append_1)
+-pkgconfigdir = $(prefix)/lib/pkgconfig
++pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = popt.pc
+ man_MANS = popt.3
+ BUILT_SOURCES = popt.pc # popt.lcd
+--- popt-1.16/Makefile.am                      2010-05-04 22:55:54.000000000 +0200
++++ popt-1.16/Makefile.am.pkgconfig            2013-11-24 15:02:21.000000000 +0100
+@@ -47,7 +47,7 @@
+ libpopt_la_SOURCES = popt.c poptparse.c poptconfig.c popthelp.c poptint.c
+ libpopt_la_LDFLAGS = -no-undefined @LTLIBINTL@ @LTLIBICONV@
+-pkgconfigdir = $(prefix)/lib/pkgconfig
++pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = popt.pc
+ if HAVE_LD_VERSION_SCRIPT