Accepting request 48541 from Base:System

checked in (request 48541)

OBS-URL: https://build.opensuse.org/request/show/48541
OBS-URL: https://build.opensuse.org/package/show/Base:System/popt?expand=0&rev=20
This commit is contained in:
OBS User autobuild 2010-09-20 12:51:03 +00:00 committed by Git OBS Bridge
parent 91d15178ee
commit 3ad5b89e79
5 changed files with 128 additions and 39 deletions

119
popt-1.13-popt_fprintf.diff Normal file
View File

@ -0,0 +1,119 @@
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

3
popt-1.13.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:722b939b14e8b510bbb24e3109a075c7d86b33bec05cb583e76769df9ef2661f
size 682438

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4a37d5a7615d36964fd637479840c9b18dec9456ccc9a345277b6eae3fd3de63
size 595725

View File

@ -1,30 +1,3 @@
-------------------------------------------------------------------
Sun Sep 19 15:05:30 CEST 2010 - dimstar@opensuse.org
- Update to version 1.16:
+ Include xcode prject files in distributed tar ball
+ Build system fixes
+ Provide popt.pc
+ Extended test suite
+ Various fixes
- Changes from version 1.15:
+ Build system fixes
+ avoid displaying --[no]nofoo with POPT_ARGFLAG_TOGGLE.
+ reserve a bit for --[no]opt prefix toggling.
+ trim out escaped newline(s) from file content, other fixes.
+ check/print argv[0] in --help for NULL.
+ misc fixes
- Changes from version 1.14:
+ Build system fixes
+ permit "#define POPT_fprintf fprintf" to lose the malloc'ing
fprintf
+ Many fixes.
+ Updated translations
- Drop popt-1.13-popt_fprintf.diff: Should all be fixed upstream.
In case POPT_fprintf really still does not suffice, we can just
use "#define POPT_fprintf frptinf" and be set. The code is
prepared for this override.
-------------------------------------------------------------------
Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de

View File

@ -1,5 +1,5 @@
#
# spec file for package popt (Version 1.16)
# spec file for package popt (Version 1.13)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -18,15 +18,16 @@
Name: popt
Version: 1.16
Release: 1
Version: 1.13
Release: 7
#!BuildIgnore: rpmlint-Factory
License: MIT
Summary: A C library for parsing command line parameters
Group: System Environment/Libraries
Url: http://www.rpm5.org/
Source: popt-%{version}.tar.bz2
Source: popt-%{version}.tar.gz
Source2: baselibs.conf
Patch: popt-1.13-popt_fprintf.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -67,6 +68,7 @@ API documentation of the popt library, too.
%prep
%setup -q
%patch -p1
%build
%configure --libdir=/%{_lib}
@ -76,10 +78,6 @@ make %{?_smp_mflags}
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT/%_lib/libpopt.a
rm -f $RPM_BUILD_ROOT/%_lib/libpopt.la
%if "%{_libdir}" != "%{_prefix}/lib"
install -d -m755 %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}%{_prefix}/lib/pkgconfig/%{name}.pc %{buildroot}/%{_libdir}/pkgconfig/%{name}.pc
%endif
%clean
rm -rf $RPM_BUILD_ROOT
@ -100,6 +98,5 @@ rm -rf $RPM_BUILD_ROOT
/%{_lib}/libpopt.so
%{_includedir}/popt.h
%{_mandir}/man3/popt.3*
%{_libdir}/pkgconfig/popt.pc
%changelog