system/reiser4progs: Fix 3rd party linking.

This commit is contained in:
B. Watson 2017-02-14 16:57:26 -05:00 committed by Willy Sudiarto Raharjo
parent a1fd7aae6a
commit e35d8232be
No known key found for this signature in database
GPG key ID: 887B8374D7333381
2 changed files with 38 additions and 1 deletions

View file

@ -0,0 +1,31 @@
diff -Naur reiser4progs-1.1.0/libreiser4/profile.c reiser4progs-1.1.0.patched/libreiser4/profile.c
--- reiser4progs-1.1.0/libreiser4/profile.c 2015-08-23 13:13:59.000000000 -0400
+++ reiser4progs-1.1.0.patched/libreiser4/profile.c 2017-02-14 16:48:03.318110246 -0500
@@ -5,7 +5,8 @@
#include <reiser4/libreiser4.h>
-#include <misc/misc.h>
+#include <stdlib.h>
+#include <errno.h>
/* All default plugin ids. This is used for getting plugin id if it cannot be
obtained by usual way (get from disk structures, etc.). All these may be
@@ -332,6 +333,7 @@
reiser4_plug_t *plug;
long long int val;
uint8_t i;
+ char *error;
aal_assert("umka-924", slot != NULL);
aal_assert("umka-923", name != NULL);
@@ -354,7 +356,8 @@
}
if (defprof.pid[i].id.type == PARAM_PLUG_TYPE) {
- if ((val = misc_str2long((char *)name, 10)) == INVAL_DIG) {
+ val = strtol((char *)name, &error, 10);
+ if (errno == ERANGE || *error) {
aal_error("Invalid value \"%s\" is provided for the "
"profile slot \"%s\".", (char *)name,
defprof.pid[i].name);

View file

@ -6,7 +6,7 @@
PRGNAM=reiser4progs
VERSION=${VERSION:-1.1.0}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -52,6 +52,12 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# 20170214 bkw: Fix unresolved symbol errors when trying to link with
# -lreiser4. This doesn't affect reiser4progs itself, but allows other
# programs (in particular, partclone) to link with its library. Patched
# code originally came from the partclone maintainer.
patch -p1 < $CWD/fix_libreiser4_linking.diff
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \