argp-standalone: replace with a maintained fork

Remove two patches as issues fixed upstream,
submit the third one.

License-Update: argp.h is an import from glibc and
has been refreshed to the latest version. It's still
lgpl 2.1.

(From OE-Core rev: 6ecd02e4aff8222b55cd94d5214ccd76c96b7387)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2022-10-31 12:47:16 +01:00
committed by Richard Purdie
parent 295b28ceec
commit a952f1046a
4 changed files with 6 additions and 143 deletions

View File

@@ -3,18 +3,16 @@
SUMMARY = "Glibc hierarchical argument parsing standalone library"
DESCRIPTION = "Standalone version of arguments parsing functions from GLIBC"
HOMEPAGE = "http://www.lysator.liu.se/~nisse/misc/"
HOMEPAGE = "https://github.com/ericonr/argp-standalone"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://argp.h;beginline=1;endline=20;md5=008b7e53dea6f9e1d9fdef0d9cf3184a"
LIC_FILES_CHKSUM = "file://argp.h;beginline=1;endline=20;md5=464f2cfb1c35a5123f9e309d7afd79f8"
SECTION = "libs"
SRC_URI = "http://www.lysator.liu.se/~nisse/misc/argp-standalone-${PV}.tar.gz \
file://0001-throw-in-funcdef.patch \
file://0002-isprint.patch \
SRC_URI = "git://github.com/ericonr/argp-standalone;branch=master;protocol=https \
file://out_of_tree_build.patch \
"
SRC_URI[md5sum] = "720704bac078d067111b32444e24ba69"
SRC_URI[sha256sum] = "dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be"
SRCREV = "e5fe9ad9e83e6765cf8fa787f903d4c6792338b5"
S = "${WORKDIR}/git"
inherit autotools

View File

@@ -1,84 +0,0 @@
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../rng-tools/throw-in-funcdef.patch.argp-standalone
# Copyright (C) 2006 The T2 SDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- T2-COPYRIGHT-NOTE-END ---
No __THROW in function implementation.
--jsaw
Taken from buildroot
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- argp-standalone-1.4-test2/argp.h.orig 2006-01-06 02:29:59.000000000 +0100
+++ argp-standalone-1.4-test2/argp.h 2006-01-06 02:41:10.000000000 +0100
@@ -560,17 +560,17 @@
# endif
# ifndef ARGP_EI
-# define ARGP_EI extern __inline__
+# define ARGP_EI extern inline
# endif
ARGP_EI void
-__argp_usage (__const struct argp_state *__state) __THROW
+__argp_usage (__const struct argp_state *__state)
{
__argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE);
}
ARGP_EI int
-__option_is_short (__const struct argp_option *__opt) __THROW
+__option_is_short (__const struct argp_option *__opt)
{
if (__opt->flags & OPTION_DOC)
return 0;
@@ -582,7 +582,7 @@
}
ARGP_EI int
-__option_is_end (__const struct argp_option *__opt) __THROW
+__option_is_end (__const struct argp_option *__opt)
{
return !__opt->key && !__opt->name && !__opt->doc && !__opt->group;
}
--- argp-standalone-1.4-test2/argp-parse.c.orig 2006-01-06 02:47:48.000000000 +0100
+++ argp-standalone-1.4-test2/argp-parse.c 2006-01-06 02:48:16.000000000 +0100
@@ -1290,13 +1290,13 @@
/* Defined here, in case a user is not inlining the definitions in
* argp.h */
void
-__argp_usage (__const struct argp_state *__state) __THROW
+__argp_usage (__const struct argp_state *__state)
{
__argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE);
}
int
-__option_is_short (__const struct argp_option *__opt) __THROW
+__option_is_short (__const struct argp_option *__opt)
{
if (__opt->flags & OPTION_DOC)
return 0;
@@ -1310,7 +1310,7 @@
}
int
-__option_is_end (__const struct argp_option *__opt) __THROW
+__option_is_end (__const struct argp_option *__opt)
{
return !__opt->key && !__opt->name && !__opt->doc && !__opt->group;
}

View File

@@ -1,51 +0,0 @@
Subject: restrict value range passed to isprint function
According to C standards isprint argument shall be representable as an
unsigned char or be equal to EOF, otherwise the behaviour is undefined.
Passing arbitrary ints leads to segfault in nm program from elfutils.
Restrict isprint argument range to values representable by unsigned char.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Taken from buildroot
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Index: b/argp.h
===================================================================
--- a/argp.h
+++ b/argp.h
@@ -23,6 +23,7 @@
#include <stdio.h>
#include <ctype.h>
+#include <limits.h>
#define __need_error_t
#include <errno.h>
@@ -577,7 +578,7 @@
else
{
int __key = __opt->key;
- return __key > 0 && isprint (__key);
+ return __key > 0 && __key <= UCHAR_MAX && isprint (__key);
}
}
Index: b/argp-parse.c
===================================================================
--- a/argp-parse.c
+++ b/argp-parse.c
@@ -1292,7 +1292,7 @@
int __key = __opt->key;
/* FIXME: whether or not a particular key implies a short option
* ought not to be locale dependent. */
- return __key > 0 && isprint (__key);
+ return __key > 0 && __key <= UCHAR_MAX && isprint (__key);
}
}

View File

@@ -2,7 +2,7 @@ Fix the testsuite to built out of tree
in OE S != B
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
Upstream-Status: Submitted [https://github.com/ericonr/argp-standalone/pull/9]
Index: argp-standalone-1.3/testsuite/Makefile.am
===================================================================
--- argp-standalone-1.3.orig/testsuite/Makefile.am