- Tight run-time dependencies between sub-packages via %{?_isa} - Added patch for spelling mistakes in popt man page (#675567)
This commit is contained in:
parent
84622f6e36
commit
5bf4c7fd86
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
popt-1.13.tar.gz
|
||||
/popt-1.16.tar.gz
|
||||
|
@ -1,121 +0,0 @@
|
||||
diff -up popt-1.13/popt.c.alias-equal-arg popt-1.13/popt.c
|
||||
--- popt-1.13/popt.c.alias-equal-arg 2007-12-11 20:04:06.000000000 +0200
|
||||
+++ popt-1.13/popt.c 2011-06-14 11:57:21.000000000 +0300
|
||||
@@ -308,8 +308,9 @@ static int handleExec(/*@special@*/ popt
|
||||
|
||||
/* Only one of longName, shortName may be set at a time */
|
||||
static int handleAlias(/*@special@*/ poptContext con,
|
||||
- /*@null@*/ const char * longName, char shortName,
|
||||
- /*@exposed@*/ /*@null@*/ const char * nextCharArg)
|
||||
+ /*@null@*/ const char * longName, size_t longNameLen,
|
||||
+ char shortName,
|
||||
+ /*@exposed@*/ /*@null@*/ const char * nextArg)
|
||||
/*@uses con->aliases, con->numAliases, con->optionStack, con->os,
|
||||
con->os->currAlias, con->os->currAlias->option.longName @*/
|
||||
/*@modifies con @*/
|
||||
@@ -319,9 +320,11 @@ static int handleAlias(/*@special@*/ pop
|
||||
int i;
|
||||
|
||||
if (item) {
|
||||
- if (longName && (item->option.longName &&
|
||||
- !strcmp(longName, item->option.longName)))
|
||||
+ if (longName && item->option.longName
|
||||
+ && longNameLen == strlen(item->option.longName)
|
||||
+ && !strncmp(longName, item->option.longName, longNameLen))
|
||||
return 0;
|
||||
+ else
|
||||
if (shortName && shortName == item->option.shortName)
|
||||
return 0;
|
||||
}
|
||||
@@ -331,10 +334,14 @@ static int handleAlias(/*@special@*/ pop
|
||||
|
||||
for (i = con->numAliases - 1; i >= 0; i--) {
|
||||
item = con->aliases + i;
|
||||
- if (longName && !(item->option.longName &&
|
||||
- !strcmp(longName, item->option.longName)))
|
||||
- continue;
|
||||
- else if (shortName != item->option.shortName)
|
||||
+ if (longName) {
|
||||
+ if (item->option.longName == NULL)
|
||||
+ continue;
|
||||
+ if (longNameLen != strlen(item->option.longName))
|
||||
+ continue;
|
||||
+ if (strncmp(longName, item->option.longName, longNameLen))
|
||||
+ continue;
|
||||
+ } else if (shortName != item->option.shortName)
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
@@ -343,8 +350,8 @@ static int handleAlias(/*@special@*/ pop
|
||||
if ((con->os - con->optionStack + 1) == POPT_OPTION_DEPTH)
|
||||
return POPT_ERROR_OPTSTOODEEP;
|
||||
|
||||
- if (nextCharArg && *nextCharArg)
|
||||
- con->os->nextCharArg = nextCharArg;
|
||||
+ if (longName == NULL && nextArg && *nextArg)
|
||||
+ con->os->nextCharArg = nextArg;
|
||||
|
||||
con->os++;
|
||||
con->os->next = 0;
|
||||
@@ -352,8 +359,20 @@ static int handleAlias(/*@special@*/ pop
|
||||
con->os->nextArg = NULL;
|
||||
con->os->nextCharArg = NULL;
|
||||
con->os->currAlias = con->aliases + i;
|
||||
- rc = poptDupArgv(con->os->currAlias->argc, con->os->currAlias->argv,
|
||||
- &con->os->argc, &con->os->argv);
|
||||
+ { const char ** av;
|
||||
+ int ac = con->os->currAlias->argc;
|
||||
+ /* Append --foo=bar arg to alias argv array (if present). */
|
||||
+ if (longName && nextArg && *nextArg) {
|
||||
+ int i;
|
||||
+ av = alloca((ac + 1 + 1) * sizeof(*av));
|
||||
+ for (i = 0; i < ac; i++)
|
||||
+ av[i] = con->os->currAlias->argv[i];
|
||||
+ av[ac++] = nextArg;
|
||||
+ av[ac] = NULL;
|
||||
+ } else
|
||||
+ av = con->os->currAlias->argv;
|
||||
+ rc = poptDupArgv(ac, av, &con->os->argc, &con->os->argv);
|
||||
+ }
|
||||
con->os->argb = NULL;
|
||||
|
||||
return (rc ? rc : 1);
|
||||
@@ -795,13 +814,6 @@ int poptGetNextOpt(poptContext con)
|
||||
else
|
||||
singleDash = 1;
|
||||
|
||||
- /* XXX aliases with arg substitution need "--alias=arg" */
|
||||
- if (handleAlias(con, optString, '\0', NULL))
|
||||
- continue;
|
||||
-
|
||||
- if (handleExec(con, optString, '\0'))
|
||||
- continue;
|
||||
-
|
||||
/* Check for "--long=arg" option. */
|
||||
for (oe = optString; *oe && *oe != '='; oe++)
|
||||
{};
|
||||
@@ -809,6 +821,15 @@ int poptGetNextOpt(poptContext con)
|
||||
if (*oe == '=')
|
||||
longArg = oe + 1;
|
||||
|
||||
+ /* XXX aliases with arg substitution need "--alias=arg" */
|
||||
+ if (handleAlias(con, optString, optStringLen, '\0', longArg)) {
|
||||
+ longArg = NULL;
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ if (handleExec(con, optString, '\0'))
|
||||
+ continue;
|
||||
+
|
||||
opt = findOption(con->options, optString, optStringLen, '\0', &cb, &cbData,
|
||||
singleDash);
|
||||
if (!opt && !singleDash)
|
||||
@@ -834,7 +855,7 @@ int poptGetNextOpt(poptContext con)
|
||||
|
||||
con->os->nextCharArg = NULL;
|
||||
|
||||
- if (handleAlias(con, NULL, *origOptString, origOptString + 1))
|
||||
+ if (handleAlias(con, NULL, 0, *origOptString, origOptString + 1))
|
||||
continue;
|
||||
|
||||
if (handleExec(con, NULL, *origOptString)) {
|
@ -1,70 +0,0 @@
|
||||
Kludge 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.
|
||||
|
||||
diff -up popt-1.13/popt.c.execfail popt-1.13/popt.c
|
||||
--- popt-1.13/popt.c.execfail 2012-08-02 16:08:34.762315304 +0300
|
||||
+++ popt-1.13/popt.c 2012-08-02 16:11:41.352683721 +0300
|
||||
@@ -186,6 +186,7 @@ poptContext poptGetContext(const char *
|
||||
con->flags = flags;
|
||||
con->execs = NULL;
|
||||
con->numExecs = 0;
|
||||
+ con->execFail = NULL;
|
||||
con->finalArgvAlloced = argc * 2;
|
||||
con->finalArgv = calloc( con->finalArgvAlloced, sizeof(*con->finalArgv) );
|
||||
con->execAbsolute = 1;
|
||||
@@ -234,6 +235,7 @@ void poptResetContext(poptContext con)
|
||||
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++) {
|
||||
@@ -468,6 +470,7 @@ if (_popt_debug)
|
||||
/*@-nullstate@*/
|
||||
rc = execvp(argv[0], (char *const *)argv);
|
||||
/*@=nullstate@*/
|
||||
+ con->execFail = xstrdup(argv[0]);
|
||||
|
||||
exit:
|
||||
if (argv) {
|
||||
@@ -1194,11 +1197,19 @@ int poptAddItem(poptContext con, poptIte
|
||||
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)
|
||||
diff -up popt-1.13/poptint.h.execfail popt-1.13/poptint.h
|
||||
--- popt-1.13/poptint.h.execfail 2012-08-02 16:08:34.000000000 +0300
|
||||
+++ popt-1.13/poptint.h 2012-08-02 16:12:35.796500122 +0300
|
||||
@@ -78,6 +78,7 @@ struct poptContext_s {
|
||||
/*@owned@*/ /*@null@*/
|
||||
poptItem execs;
|
||||
int numExecs;
|
||||
+ char * execFail;
|
||||
/*@only@*/ /*@null@*/
|
||||
const char ** finalArgv;
|
||||
int finalArgvCount;
|
@ -1,119 +0,0 @@
|
||||
Patch by Jeff Johnson <jbj@rpm5.org> for popt >= 1.13, which reverts all POPT_fprintf()
|
||||
usage cases to avoid broken umlauts in --help output at some non-UTF8 locales. It should
|
||||
not break anything, just restore the behaviour of popt 1.12 again to not introduce a new
|
||||
regression. Clueless modified by Robert Scheck <robert@rpm5.org> to hide the last found
|
||||
two locale regression as well.
|
||||
|
||||
--- popt-1.13/popthelp.c 2007-11-04 16:46:25.000000000 +0100
|
||||
+++ popt-1.13/popthelp.c.popt_fprintf 2007-12-30 22:10:24.000000000 +0100
|
||||
@@ -281,7 +281,6 @@
|
||||
char * left;
|
||||
size_t nb = maxLeftCol + 1;
|
||||
int displaypad = 0;
|
||||
- int xx;
|
||||
|
||||
/* Make sure there's more than enough room in target buffer. */
|
||||
if (opt->longName) nb += strlen(opt->longName);
|
||||
@@ -406,9 +405,9 @@
|
||||
}
|
||||
|
||||
if (help)
|
||||
- xx = POPT_fprintf(fp," %-*s ", (int)(maxLeftCol+displaypad), left);
|
||||
+ fprintf(fp," %-*s ", (int)(maxLeftCol+displaypad), left);
|
||||
else {
|
||||
- xx = POPT_fprintf(fp," %s\n", left);
|
||||
+ fprintf(fp," %s\n", left);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -428,18 +427,19 @@
|
||||
if (ch == help) break; /* give up */
|
||||
while (ch > (help + 1) && _isspaceptr(ch))
|
||||
ch = POPT_prev_char (ch);
|
||||
- ch++;
|
||||
+ ch = POPT_next_char(ch);
|
||||
|
||||
sprintf(format, "%%.%ds\n%%%ds", (int) (ch - help), (int) indentLength);
|
||||
/*@-formatconst@*/
|
||||
- xx = POPT_fprintf(fp, format, help, " ");
|
||||
+ fprintf(fp, format, help, " ");
|
||||
/*@=formatconst@*/
|
||||
help = ch;
|
||||
- while (_isspaceptr(help) && *help) help++;
|
||||
+ while (_isspaceptr(help) && *help)
|
||||
+ help = POPT_next_char(help);
|
||||
helpLength = strlen(help);
|
||||
}
|
||||
|
||||
- if (helpLength) xx = POPT_fprintf(fp, "%s\n", help);
|
||||
+ if (helpLength) fprintf(fp, "%s\n", help);
|
||||
help = NULL;
|
||||
|
||||
out:
|
||||
@@ -553,7 +553,6 @@
|
||||
{
|
||||
const struct poptOption * opt;
|
||||
const char *sub_transdom;
|
||||
- int xx;
|
||||
|
||||
if (table == poptAliasOptions) {
|
||||
itemHelp(fp, con->aliases, con->numAliases, columns, NULL);
|
||||
@@ -577,7 +576,7 @@
|
||||
sub_transdom = translation_domain;
|
||||
|
||||
if (opt->descrip)
|
||||
- xx = POPT_fprintf(fp, "\n%s\n", D_(sub_transdom, opt->descrip));
|
||||
+ fprintf(fp, "\n%s\n", D_(sub_transdom, opt->descrip));
|
||||
|
||||
singleTableHelp(con, fp, opt->arg, columns, sub_transdom);
|
||||
}
|
||||
@@ -767,7 +766,7 @@
|
||||
translation_domain = (const char *)opt->arg;
|
||||
} else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) {
|
||||
if (done) {
|
||||
- int i;
|
||||
+ int i = done->nopts;
|
||||
if (done->opts != NULL)
|
||||
for (i = 0; i < done->nopts; i++) {
|
||||
const void * that = done->opts[i];
|
||||
--- popt-1.13/poptint.c 2007-11-04 16:56:24.000000000 +0100
|
||||
+++ popt-1.13/poptint.c.popt_fprintf 2007-12-30 22:10:24.000000000 +0100
|
||||
@@ -124,6 +124,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
+char *
|
||||
+POPT_next_char (const char *str)
|
||||
+{
|
||||
+ char *p = (char *)str;
|
||||
+
|
||||
+ while (1) {
|
||||
+ p++;
|
||||
+ if ((*p & 0xc0) != (char)0x80)
|
||||
+ return (char *)p;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
int
|
||||
POPT_fprintf (FILE* stream, const char *format, ...)
|
||||
{
|
||||
--- popt-1.13/poptint.h 2007-12-11 19:02:29.000000000 +0100
|
||||
+++ popt-1.13/poptint.h.popt_fprintf 2007-12-30 22:10:24.000000000 +0100
|
||||
@@ -144,11 +144,14 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+char *POPT_prev_char (/*@returned@*/ const char *str)
|
||||
+ /*@*/;
|
||||
+
|
||||
+char *POPT_next_char (/*@returned@*/ const char *str)
|
||||
+ /*@*/;
|
||||
+
|
||||
int POPT_fprintf (FILE* stream, const char *format, ...)
|
||||
/*@globals fileSystem @*/
|
||||
/*@modifies stream, fileSystem @*/;
|
||||
|
||||
-char *POPT_prev_char (/*@returned@*/ const char *str)
|
||||
- /*@*/;
|
||||
-
|
||||
#endif
|
71
popt-1.16-execfail.patch
Normal file
71
popt-1.16-execfail.patch
Normal file
@ -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;
|
66
popt-1.16-man-page.patch
Normal file
66
popt-1.16-man-page.patch
Normal file
@ -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>"
|
31
popt-1.16-pkgconfig.patch
Normal file
31
popt-1.16-pkgconfig.patch
Normal file
@ -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
|
45
popt.spec
45
popt.spec
@ -1,14 +1,14 @@
|
||||
Summary: C library for parsing command line parameters
|
||||
Name: popt
|
||||
Version: 1.13
|
||||
Release: 15%{?dist}
|
||||
Version: 1.16
|
||||
Release: 1%{?dist}
|
||||
License: MIT
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.rpm5.org/
|
||||
Source: http://www.rpm5.org/files/%{name}/%{name}-%{version}.tar.gz
|
||||
Patch1: popt-1.13-popt_fprintf.patch
|
||||
Patch2: popt-1.13-alias-equal-arg.patch
|
||||
Patch3: popt-1.13-execfail.patch
|
||||
Patch0: popt-1.16-pkgconfig.patch
|
||||
Patch1: popt-1.16-execfail.patch
|
||||
Patch2: popt-1.16-man-page.patch
|
||||
BuildRequires: gettext
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
@ -25,7 +25,7 @@ shell-like rules.
|
||||
%package devel
|
||||
Summary: Development files for the popt library
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}, pkgconfig
|
||||
|
||||
%description devel
|
||||
The popt-devel package includes header files and libraries necessary
|
||||
@ -35,7 +35,7 @@ API documentation of the popt library, too.
|
||||
%package static
|
||||
Summary: Static library for parsing command line parameters
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
The popt-static package includes static libraries of the popt library.
|
||||
@ -43,18 +43,23 @@ Install it if you need to link statically with libpopt.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .popt_fprintf
|
||||
%patch2 -p1 -b .alias-equal-arg
|
||||
%patch3 -p1 -b .execfail
|
||||
%patch0 -p1 -b .pkgconfig
|
||||
%patch1 -p1 -b .execfail
|
||||
%patch2 -p1 -b .man-page
|
||||
|
||||
%build
|
||||
%if 0%{?fedora} < 17 && 0%{?rhel} < 7
|
||||
%configure --libdir=/%{_lib}
|
||||
%else
|
||||
%configure
|
||||
%endif
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
|
||||
%if 0%{?fedora} < 17 && 0%{?rhel} < 7
|
||||
# Move libpopt.{so,a} to %{_libdir}
|
||||
rm -f $RPM_BUILD_ROOT/%{_lib}/libpopt.{la,so}
|
||||
pushd $RPM_BUILD_ROOT/%{_lib}
|
||||
@ -62,6 +67,10 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}
|
||||
ln -sf ../../%{_lib}/$(ls libpopt.so.?.?.?) $RPM_BUILD_ROOT%{_libdir}/libpopt.so
|
||||
popd
|
||||
mv -f $RPM_BUILD_ROOT/%{_lib}/libpopt.a $RPM_BUILD_ROOT%{_libdir}/libpopt.a
|
||||
mv -f $RPM_BUILD_ROOT/%{_lib}/pkgconfig $RPM_BUILD_ROOT%{_libdir}/pkgconfig
|
||||
%else
|
||||
rm -f $RPM_BUILD_ROOT/%{_libdir}/libpopt.la
|
||||
%endif
|
||||
|
||||
# Multiple popt configurations are possible
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/popt.d
|
||||
@ -79,23 +88,33 @@ make check
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files -f %{name}.lang
|
||||
%defattr(-,root,root)
|
||||
%defattr(-,root,root,-)
|
||||
%doc CHANGES COPYING
|
||||
%{_sysconfdir}/popt.d
|
||||
%if 0%{?fedora} < 17 && 0%{?rhel} < 7
|
||||
/%{_lib}/libpopt.so.*
|
||||
%else
|
||||
%{_libdir}/libpopt.so.*
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%defattr(-,root,root,-)
|
||||
%doc README
|
||||
%{_libdir}/libpopt.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
%{_includedir}/popt.h
|
||||
%{_mandir}/man3/popt.3*
|
||||
|
||||
%files static
|
||||
%defattr(-,root,root)
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libpopt.a
|
||||
|
||||
%changelog
|
||||
* Sun Nov 24 2013 Robert Scheck <robert@fedoraproject.org> 1.16-1
|
||||
- Upgrade to 1.16 (#448286, #999377)
|
||||
- Tight run-time dependencies between sub-packages via %%{?_isa}
|
||||
- Added patch for spelling mistakes in popt man page (#675567)
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.13-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user