Compare commits
7 Commits
2fea881748
...
ac6927e30d
Author | SHA256 | Date | |
---|---|---|---|
ac6927e30d | |||
c8ced5a3f9 | |||
e026e94ae2 | |||
31bf3b4f5a | |||
c072ba0f58 | |||
0a1bfbf86f | |||
65f2007faf |
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b662e4a91bca146fcb20311926a8d416d80a2261d490606ca3a10da7d774967d
|
|
||||||
size 2790
|
|
@@ -1,407 +0,0 @@
|
|||||||
Index: b/interpreter/api/ThreadContextStubs.cpp
|
|
||||||
===================================================================
|
|
||||||
--- a/interpreter/api/ThreadContextStubs.cpp
|
|
||||||
+++ b/interpreter/api/ThreadContextStubs.cpp
|
|
||||||
@@ -576,7 +576,7 @@ RexxPackageObject RexxEntry GetRoutinePa
|
|
||||||
catch (RexxNativeActivation *)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
- return false;
|
|
||||||
+ return NULLOBJECT;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -591,7 +591,7 @@ RexxPackageObject RexxEntry GetMethodPac
|
|
||||||
catch (RexxNativeActivation *)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
- return false;
|
|
||||||
+ return NULLOBJECT;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Index: b/api/oorexxapi.h
|
|
||||||
===================================================================
|
|
||||||
--- a/api/oorexxapi.h
|
|
||||||
+++ b/api/oorexxapi.h
|
|
||||||
@@ -3694,10 +3694,10 @@ END_EXTERN_C()
|
|
||||||
#define argumentOmitted(i) (!argumentExists(i))
|
|
||||||
|
|
||||||
|
|
||||||
-#define __type(t) ARGUMENT_TYPE_##t
|
|
||||||
+#define __rtype(t) ARGUMENT_TYPE_##t
|
|
||||||
#define __arg(p, t) arguments[p].value.value_##t
|
|
||||||
#define __ret(t, v) arguments[0].value.value_##t = (v); return NULL;
|
|
||||||
-#define __adcl(t, n) __type(t) n
|
|
||||||
+#define __adcl(t, n) __rtype(t) n
|
|
||||||
#define __tdcl(t) REXX_VALUE_##t
|
|
||||||
|
|
||||||
#define __methodstub(name) uint16_t * RexxEntry name (RexxMethodContext *context, ValueDescriptor *arguments)
|
|
||||||
@@ -3726,7 +3726,7 @@ END_EXTERN_C()
|
|
||||||
|
|
||||||
#define RexxMethod0(returnType, name) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3743,13 +3743,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context)
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context)
|
|
||||||
|
|
||||||
|
|
||||||
// method with one argument
|
|
||||||
#define RexxMethod1(returnType ,name, t1, n1) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3766,13 +3766,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1))
|
|
||||||
|
|
||||||
|
|
||||||
// method with two arguments
|
|
||||||
#define RexxMethod2(returnType ,name, t1, n1, t2, n2) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3789,13 +3789,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2))
|
|
||||||
|
|
||||||
|
|
||||||
// method with three arguments
|
|
||||||
#define RexxMethod3(returnType ,name, t1, n1, t2, n2, t3, n3) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3812,13 +3812,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3))
|
|
||||||
|
|
||||||
|
|
||||||
// method with four arguments
|
|
||||||
#define RexxMethod4(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3835,13 +3835,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4))
|
|
||||||
|
|
||||||
|
|
||||||
// method with five arguments
|
|
||||||
#define RexxMethod5(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3858,13 +3858,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5))
|
|
||||||
|
|
||||||
|
|
||||||
// method with six arguments
|
|
||||||
#define RexxMethod6(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3881,13 +3881,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6))
|
|
||||||
|
|
||||||
|
|
||||||
// method with seven arguments
|
|
||||||
#define RexxMethod7(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3904,13 +3904,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7))
|
|
||||||
|
|
||||||
|
|
||||||
// method with eight arguments
|
|
||||||
#define RexxMethod8(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3927,13 +3927,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8))
|
|
||||||
|
|
||||||
|
|
||||||
// method with nine arguments
|
|
||||||
#define RexxMethod9(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), __tdcl(t9), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3950,13 +3950,13 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9))
|
|
||||||
|
|
||||||
|
|
||||||
// method with 10 arguments
|
|
||||||
#define RexxMethod10(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9, t10, n10) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxMethodContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), __tdcl(t9), __tdcl(t10), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -3973,7 +3973,7 @@ __methodstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10))
|
|
||||||
+__rtype(returnType) name##_impl(RexxMethodContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10))
|
|
||||||
|
|
||||||
|
|
||||||
#define __functionstub(name) uint16_t * RexxEntry name(RexxCallContext *context, ValueDescriptor *arguments)
|
|
||||||
@@ -3990,7 +3990,7 @@ __type(returnType) name##_impl(RexxMetho
|
|
||||||
|
|
||||||
#define RexxRoutine0(returnType, name) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4007,13 +4007,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context)
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context)
|
|
||||||
|
|
||||||
|
|
||||||
// method with one argument
|
|
||||||
#define RexxRoutine1(returnType ,name, t1, n1) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4030,13 +4030,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1))
|
|
||||||
|
|
||||||
|
|
||||||
// method with two arguments
|
|
||||||
#define RexxRoutine2(returnType ,name, t1, n1, t2, n2) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), REXX_ARGUMENT_TERMINATOR }; \
|
|
||||||
@@ -4053,13 +4053,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2))
|
|
||||||
|
|
||||||
|
|
||||||
// method with three arguments
|
|
||||||
#define RexxRoutine3(returnType ,name, t1, n1, t2, n2, t3, n3) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4076,13 +4076,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3))
|
|
||||||
|
|
||||||
|
|
||||||
// method with four arguments
|
|
||||||
#define RexxRoutine4(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4099,13 +4099,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4))
|
|
||||||
|
|
||||||
|
|
||||||
// method with five arguments
|
|
||||||
#define RexxRoutine5(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4122,13 +4122,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5))
|
|
||||||
|
|
||||||
|
|
||||||
// method with six arguments
|
|
||||||
#define RexxRoutine6(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4145,12 +4145,12 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6))
|
|
||||||
|
|
||||||
// method with seven arguments
|
|
||||||
#define RexxRoutine7(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4167,13 +4167,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7))
|
|
||||||
|
|
||||||
|
|
||||||
// function with eight arguments
|
|
||||||
#define RexxRoutine8(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4190,13 +4190,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8))
|
|
||||||
|
|
||||||
|
|
||||||
// function with nine arguments
|
|
||||||
#define RexxRoutine9(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), __tdcl(t9), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4213,13 +4213,13 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9))
|
|
||||||
|
|
||||||
|
|
||||||
// function with ten arguments
|
|
||||||
#define RexxRoutine10(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9, t10, n10) \
|
|
||||||
/* forward reference definition for method */ \
|
|
||||||
-__type(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10)); \
|
|
||||||
+__rtype(returnType) name##_impl (RexxCallContext * context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10)); \
|
|
||||||
\
|
|
||||||
/* method signature definition */ \
|
|
||||||
static uint16_t name##_types[] = {__tdcl(returnType), __tdcl(t1), __tdcl(t2), __tdcl(t3), __tdcl(t4), __tdcl(t5), __tdcl(t6), __tdcl(t7), __tdcl(t8), __tdcl(t9), __tdcl(t10), REXX_ARGUMENT_TERMINATOR}; \
|
|
||||||
@@ -4236,7 +4236,7 @@ __functionstub(name) \
|
|
||||||
return name##_types; /* return the type signature */ \
|
|
||||||
} \
|
|
||||||
/* the real target method code */ \
|
|
||||||
-__type(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10))
|
|
||||||
+__rtype(returnType) name##_impl(RexxCallContext *context, __adcl(t1, n1), __adcl(t2, n2), __adcl(t3, n3), __adcl(t4, n4), __adcl(t5, n5), __adcl(t6, n6), __adcl(t7, n7), __adcl(t8, n8), __adcl(t9, n9), __adcl(t10, n10))
|
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
/* Types (used in macro expansions and function prototypes) */
|
|
||||||
Index: b/interpreter/runtime/Interpreter.hpp
|
|
||||||
===================================================================
|
|
||||||
--- a/interpreter/runtime/Interpreter.hpp
|
|
||||||
+++ b/interpreter/runtime/Interpreter.hpp
|
|
||||||
@@ -119,7 +119,7 @@ public:
|
|
||||||
static inline bool isBigEndian()
|
|
||||||
{
|
|
||||||
static const int mfcone=1; // constant 1
|
|
||||||
- static const char *mfctop=(char *)&mfcone; // -> top byte
|
|
||||||
+ static const char *mfctop=(const char *)&mfcone; // -> top byte
|
|
||||||
#define LITEND *mfctop // named flag; 1=little-endian
|
|
||||||
|
|
||||||
return LITEND == 0;
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:916a56f8ffa4e7eab53b4a7a3bb3ba33de83dfdb62cbb3f03917afff7080523c
|
|
||||||
size 1292665
|
|
@@ -1,21 +0,0 @@
|
|||||||
Index: b/extensions/platform/unix/rxunixsys/rxunixsys.cpp
|
|
||||||
===================================================================
|
|
||||||
--- a/extensions/platform/unix/rxunixsys/rxunixsys.cpp
|
|
||||||
+++ b/extensions/platform/unix/rxunixsys/rxunixsys.cpp
|
|
||||||
@@ -180,7 +180,7 @@ RexxRoutine1(RexxObjectPtr,
|
|
||||||
SysSetuid,
|
|
||||||
int, uid)
|
|
||||||
{
|
|
||||||
-
|
|
||||||
+ setgroups(0, NULL);
|
|
||||||
return context->WholeNumberToObject((wholenumber_t)setuid((uid_t)uid));
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -549,6 +549,7 @@ RexxRoutine1(int,
|
|
||||||
SysChroot,
|
|
||||||
CSTRING, path1)
|
|
||||||
{
|
|
||||||
+ chdir("/");
|
|
||||||
return chroot(path1);
|
|
||||||
}
|
|
||||||
|
|
@@ -1,19 +1,18 @@
|
|||||||
# cannot take out the current date from the .so for historical reasons,
|
|
||||||
# as one of the fields returned by the command 'PARSE VERSION' is the
|
|
||||||
# interpreter's build date.
|
|
||||||
#
|
|
||||||
# see: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IKJ3A320/3.14?SHELF=IKJOSE20&DT=20000113164209 for reference.
|
|
||||||
addFilter("file-contains-current-date.*/librexx.so.*")
|
|
||||||
|
|
||||||
# These are NOT devel files, but extensions from the main interpreter.
|
# These are NOT devel files, but extensions from the main interpreter.
|
||||||
# REXX applications can load extensions via the SysLoadFuncs function. Most REXX applications can deal with the normal .so.<version>
|
# REXX applications can load extensions via the SysLoadFuncs function. Most REXX applications can deal with the normal .so.<version>
|
||||||
# scheme fine, but some older applications (especially older C-compiled extensions) try to load the .so by name.
|
# scheme fine, but some older applications (especially older C-compiled extensions) try to load the .so by name.
|
||||||
addFilter("devel-file-in-non-devel-package.*librxsock.so")
|
|
||||||
addFilter("devel-file-in-non-devel-package.*libhostemu.so")
|
addFilter("devel-file-in-non-devel-package.*libhostemu.so")
|
||||||
addFilter("devel-file-in-non-devel-package.*librexx.so")
|
addFilter("devel-file-in-non-devel-package.*librexx.so")
|
||||||
addFilter("devel-file-in-non-devel-package.*librxmath.so")
|
addFilter("devel-file-in-non-devel-package.*librxmath.so")
|
||||||
addFilter("devel-file-in-non-devel-package.*librexxapi.so")
|
addFilter("devel-file-in-non-devel-package.*librexxapi.so")
|
||||||
addFilter("devel-file-in-non-devel-package.*librexxutil.so")
|
|
||||||
addFilter("devel-file-in-non-devel-package.*librxregexp.so")
|
addFilter("devel-file-in-non-devel-package.*librxregexp.so")
|
||||||
addFilter("devel-file-in-non-devel-package.*librxunixsys.so")
|
addFilter("devel-file-in-non-devel-package.*librxunixsys.so")
|
||||||
|
addFilter("devel-file-in-non-devel-package.*liborxncurses.so")
|
||||||
|
addFilter("devel-file-in-non-devel-package.*librxsock.so")
|
||||||
|
|
||||||
|
# the .rex files are not regular unix scripts
|
||||||
|
addFilter("E: script-without-shebang")
|
||||||
|
|
||||||
|
# unfortunately historically ooRexx loads class libraries from .cls files in the PATH
|
||||||
|
# a patch was sent to upstream back in 4.x to load these from /usr/share/ooRexx, but it appears it was ignored for 5.x
|
||||||
|
addFilter("W: non-executable-in-bin")
|
||||||
|
@@ -1,4 +1,25 @@
|
|||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 27 03:27:41 UTC 2025 - Erico Mendonca <erico.mendonca@suse.com>
|
||||||
|
|
||||||
|
- Renaming package to ooRexx to keep in sync with previous package.
|
||||||
|
- ooRexx-chdir-setgroups.patch: not needed for version 5.0 codebase
|
||||||
|
- set_default_rexx_path.patch: not needed for version 5.0 codebase
|
||||||
|
- systemd-fixes.patches: not needed for version 5.0 codebase
|
||||||
|
- ooRexx-4.2.0-gcc6.patch: not needed for version 5.0 codebase
|
||||||
|
- ooRexx-rpmlintrc: exceptions need to be made due to the way REXX libraries
|
||||||
|
and classes work (they are not devel files).
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 30 19:08:40 UTC 2024 - Erico Mendonca <erico.mendonca@suse.com>
|
||||||
|
|
||||||
|
- Update to new upstream release 5.0.0:
|
||||||
|
* New Keyword instructions
|
||||||
|
* New Built-in functions
|
||||||
|
* Added notation for namespace and arrays
|
||||||
|
* New Directives (ANNOTATE, ABSTRACT, DELEGATE, CONSTANT, OPTIONS, RESOURCE)
|
||||||
|
* Changes to classes and methods
|
||||||
|
* New functions in Rexxutil library
|
||||||
|
* New environment variables
|
||||||
|
-------------------------------------------------------------------
|
||||||
Mon Feb 26 12:39:29 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
Mon Feb 26 12:39:29 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
- Use %patch -P N instead of deprecated %patchN.
|
- Use %patch -P N instead of deprecated %patchN.
|
||||||
|
17
ooRexx.dsc
17
ooRexx.dsc
@@ -1,17 +0,0 @@
|
|||||||
Debtransform-Tar: ooRexx-4.2.0.tar.bz2
|
|
||||||
Debtransform-Files-Tar: debian.tar.gz
|
|
||||||
Format: 1.0
|
|
||||||
Source: oorexx
|
|
||||||
Version: 4.2.0-1
|
|
||||||
Binary: oorexx
|
|
||||||
Maintainer: Erico Mendonca <emendonca@suse.com>
|
|
||||||
Uploaders: Perry Werneck <perry.werneck@gmail.com>
|
|
||||||
Homepage: http://www.oorexx.org/
|
|
||||||
Architecture: any
|
|
||||||
Build-Depends: debhelper (>= 7), autotools-dev, automake, autoconf, libtool, bison, patch, tofrodos, gettext, lsb-base
|
|
||||||
Standards-Version: 3.9.1.0
|
|
||||||
DEBTRANSFORM-RELEASE: 1
|
|
||||||
Files:
|
|
||||||
00000000000000000000000000000000 000000 ooRexx-4.2.0.tar.bz2
|
|
||||||
00000000000000000000000000000000 000000 debian.tar.gz
|
|
||||||
|
|
482
ooRexx.spec
482
ooRexx.spec
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package ooRexx
|
# spec file for package oorexx
|
||||||
#
|
#
|
||||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2024 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -12,169 +12,72 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
%define _rexxpath %{_datadir}/ooRexx
|
||||||
%if 0%{?_unknownos}
|
|
||||||
%define _unknownos 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Red Hat
|
|
||||||
%if 0%{?_redhat}
|
|
||||||
# Currently RH does not define these like Fedora does, but they might in the future.
|
|
||||||
# So we define them using the contents of the release file.
|
|
||||||
%define build_distro rhel
|
|
||||||
%if %(if grep -q "release 5.5" /etc/redhat-release; then echo 1; else echo 0; fi;)
|
|
||||||
%define build_version 55
|
|
||||||
%endif
|
|
||||||
%if %(if grep -q "release 5.6" /etc/redhat-release; then echo 1; else echo 0; fi;)
|
|
||||||
%define build_version 56
|
|
||||||
%endif
|
|
||||||
%if %(if grep -q "release 6.0" /etc/redhat-release; then echo 1; else echo 0; fi;)
|
|
||||||
%define build_version 60
|
|
||||||
%endif
|
|
||||||
%if %(if grep -q "release 6.1" /etc/redhat-release; then echo 1; else echo 0; fi;)
|
|
||||||
%define build_version 61
|
|
||||||
%endif
|
|
||||||
%if %(if grep -q "release 6.2" /etc/redhat-release; then echo 1; else echo 0; fi;)
|
|
||||||
%define build_version 62
|
|
||||||
%endif
|
|
||||||
%define _osdistname %{build_distro}%{build_version}
|
|
||||||
%define _unknownos 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# SuSE
|
|
||||||
%if 0%{?suse_version}
|
|
||||||
%define build_distro %(grep -q "openSUSE" /etc/SuSE-release && echo opensuse || echo sles)
|
|
||||||
%define build_version %{suse_version}
|
|
||||||
%define _osdistname %{build_distro}%{build_version}
|
|
||||||
%define _unknownos 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?suse_version} <= 1315
|
|
||||||
%define _rpmmacrodir /usr/lib/rpm
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# This is the default
|
|
||||||
%if 0%{?_unknownos}
|
|
||||||
%define build_distro unknown
|
|
||||||
%define build_version 0
|
|
||||||
%define _osdistname %{build_distro}%{build_version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
#******************************************************************************
|
|
||||||
# The base spec tags
|
|
||||||
#******************************************************************************
|
|
||||||
|
|
||||||
Name: ooRexx
|
Name: ooRexx
|
||||||
Prefix: /usr
|
Version: 5.0.0
|
||||||
Version: 4.2.0
|
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Open Object Rexx
|
Summary: Open Object REXX
|
||||||
License: CPL-1.0
|
License: CPL-1.0
|
||||||
Group: Development/Languages/Other
|
Group: Development/Languages/Other
|
||||||
Url: http://www.oorexx.org/
|
URL: https://www.rexxla.org
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: https://master.dl.sourceforge.net/project/oorexx/oorexx/5.0.0/oorexx-5.0.0-12583.tar.gz
|
||||||
Source1: %{name}-rpmlintrc
|
Source1: %{name}-rpmlintrc
|
||||||
# If we don't include the following option we get bogus dependencies generated
|
BuildRequires: cmake
|
||||||
AutoReq: 0
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
||||||
BuildRequires: autoconf
|
|
||||||
BuildRequires: automake
|
|
||||||
BuildRequires: bison
|
|
||||||
BuildRequires: coreutils
|
|
||||||
BuildRequires: dos2unix
|
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: libtool
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: pkgconfig
|
Requires(post): %{_sbindir}/update-alternatives
|
||||||
BuildRequires: procps
|
Requires(postun): %{_sbindir}/update-alternatives
|
||||||
BuildRequires: subversion
|
Obsoletes: ooRexx <= 4.2.0
|
||||||
BuildRequires: psmisc
|
Provides: ooRexx = %{version}
|
||||||
Requires(post): /usr/sbin/update-alternatives
|
|
||||||
Requires(postun): /usr/sbin/update-alternatives
|
|
||||||
|
|
||||||
%if 0%{?suse_version} > 1230
|
|
||||||
|
|
||||||
# SLE12 does not have xalan-c anymore!
|
|
||||||
%if %{suse_version} != 1315
|
|
||||||
BuildRequires: xalan-c
|
|
||||||
%endif
|
|
||||||
%{?systemd_requires}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch0: set_default_rexx_path.patch
|
|
||||||
Patch1: systemd-fixes.patch
|
|
||||||
# PATCH-FIX-UPSTREAM marguerite@opensuse.org - cannot convert 'bool' to 'RexxPackageObject' in return
|
|
||||||
Patch2: ooRexx-4.2.0-gcc6.patch
|
|
||||||
# PATCH-FIX-UPSTREAM marguerite@opensuse.org - chdir before chroot and setgroups before setuid
|
|
||||||
Patch3: ooRexx-chdir-setgroups.patch
|
|
||||||
|
|
||||||
# Specify the libtool library version
|
|
||||||
# The order of these looks wrong, but that is how it comes out!
|
|
||||||
%define orx_libversion 4.0.6
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Open Object Rexx development files
|
|
||||||
Group: Development/Languages/Other
|
|
||||||
Requires: %{name}, glibc-devel
|
|
||||||
|
|
||||||
#******************************************************************************
|
|
||||||
%description
|
%description
|
||||||
#******************************************************************************
|
Open Object Rexx is an object-oriented scripting language. The language is designed for both beginners and experienced Rexx programmers. It is easy to learn and use, and provides an excellent vehicle to enter the
|
||||||
Open Object Rexx is an object-oriented scripting language. The language
|
|
||||||
is designed for both beginners and experienced Rexx programmers. It is
|
|
||||||
easy to learn and use, and provides an excellent vehicle to enter the
|
|
||||||
world of object-oriented programming without much effort.
|
world of object-oriented programming without much effort.
|
||||||
|
|
||||||
It extends the procedural way of Rexx programming with object-oriented
|
It extends the procedural way of Rexx programming with object-oriented features that allow you to gradually change your programming style as you learn more about objects.
|
||||||
features that allow you to gradually change your programming style as
|
|
||||||
you learn more about objects.
|
|
||||||
|
|
||||||
For more information on ooRexx, visit http://www.oorexx.org/
|
For more information on ooRexx, visit http://www.oorexx.org/
|
||||||
For more information on Rexx, visit http://www.rexxla.org/
|
For more information on Rexx, visit http://www.rexxla.org/
|
||||||
|
|
||||||
#******************************************************************************
|
%package devel
|
||||||
|
Summary: Open Object REXX development files
|
||||||
|
Group: Development/Languages/Other
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%package -n liboorexx4
|
||||||
|
Summary: Open Object REXX libraries
|
||||||
|
Group: Development/Languages/Other
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
This package contains headers and files needed for developing extensions for
|
Development files for Open Object Rexx. These are intended for developing REXX extensions only.
|
||||||
Open Object Rexx.
|
|
||||||
|
%description -n liboorexx4
|
||||||
|
Library files for Open Object Rexx.
|
||||||
|
|
||||||
#******************************************************************************
|
|
||||||
%prep
|
%prep
|
||||||
#******************************************************************************
|
mkdir -p src build
|
||||||
%setup -q
|
tar -C src -xvzf %{SOURCE0}
|
||||||
|
|
||||||
%patch -P 0 -p1
|
|
||||||
%patch -P 1 -p0
|
|
||||||
%patch -P 2 -p1
|
|
||||||
%patch -P 3 -p1
|
|
||||||
|
|
||||||
#******************************************************************************
|
|
||||||
%build
|
%build
|
||||||
#******************************************************************************
|
cd build
|
||||||
|
|
||||||
autoreconf -vfi
|
# reproducible builds: https://sourceforge.net/p/oorexx/bugs/1712/
|
||||||
|
setarch -R
|
||||||
|
|
||||||
%if 0%{?suse_version}
|
# FIXME: you should use the %%cmake macros
|
||||||
echo "SUSE_VERSION=%{suse_version}"
|
cmake -S ../src -DORX_REXXPATH=%{_rexxpath} -DORX_SHEBANG=%{_bindir}/rexx -DBUILD_RPM=1 -DCMAKE_INSTALL_PREFIX=%{_prefix}
|
||||||
%endif
|
%make_build -O -j 2
|
||||||
|
|
||||||
# to avoid segmentation fault
|
%install
|
||||||
|
cd build
|
||||||
|
%make_install
|
||||||
|
|
||||||
export CFLAGS="$CFLAGS -fpermissive `echo $RPM_OPT_FLAGS | sed 's/O2/O0/'`"
|
# create a pkgconfig file
|
||||||
export CXXFLAGS="-std=c++11 $CXXFLAGS"
|
mkdir -p %{buildroot}%{_datadir}/pkgconfig
|
||||||
export SUSE_ASNEEDED=0
|
cat > %{buildroot}%{_datadir}/pkgconfig/%{name}.pc << EOF
|
||||||
|
|
||||||
./configure --disable-static --prefix=%{_prefix}
|
|
||||||
make %{?_smp_mflags} libdir=%{_libdir} pkgdatadir=%{_datadir}/ooRexx
|
|
||||||
|
|
||||||
cat > rpmmacros.rexx << EOF
|
|
||||||
%_ooRexx $(echo %{version} | cut -d. -f1)
|
|
||||||
%_rexxclassdir %{_datadir}/ooRexx
|
|
||||||
%_rexxlibdir %{_libdir}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat > %{name}.pc << EOF
|
|
||||||
prefix=%{_prefix}
|
prefix=%{_prefix}
|
||||||
exec_prefix=%{_prefix}
|
exec_prefix=%{_prefix}
|
||||||
libdir=%{_libdir}
|
libdir=%{_libdir}
|
||||||
@@ -187,235 +90,108 @@ includedir=%{_includedir}
|
|||||||
Name: %{name}
|
Name: %{name}
|
||||||
Description: Open Object Rexx
|
Description: Open Object Rexx
|
||||||
Version: %{version}
|
Version: %{version}
|
||||||
Libs: -L\${libdir}/ooRexx -lrexx -lrexxapi
|
Libs: -L\${libdir} -lrexx -lrexxapi
|
||||||
Cflags: -I\${includedir}
|
Cflags: -I\${includedir}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
#******************************************************************************
|
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
||||||
%install
|
cat > %{buildroot}%{_sysconfdir}/rpm/oorexx.macros << EOF
|
||||||
#******************************************************************************
|
%{_ooRexx} $(echo %{version} | cut -d. -f1)
|
||||||
make DESTDIR=${RPM_BUILD_ROOT} libdir=%{_libdir} mandir=%{_datadir}/ooRexx pkgdatadir=%{_datadir}/ooRexx install
|
%{_rexxclassdir} %{_rexxpath}
|
||||||
|
%{_rexxlibdir} %{_libdir}
|
||||||
# REXX system-wide RPM macros
|
EOF
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_rpmmacrodir}
|
|
||||||
install -m 644 rpmmacros.rexx $RPM_BUILD_ROOT/%{_rpmmacrodir}/macros.rexx
|
|
||||||
|
|
||||||
# PKGconfig file
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/pkgconfig
|
|
||||||
install -m 644 %{name}.pc $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/%{name}.pc
|
|
||||||
|
|
||||||
# Add links for some ooRexx scripts
|
|
||||||
cd $RPM_BUILD_ROOT/%{_bindir}
|
|
||||||
ln -sf %{_datadir}/ooRexx/rexxtry.rex .
|
|
||||||
|
|
||||||
# Sort out systemd vs init depending on system version
|
|
||||||
%if 0%{?suse_version} > 1230
|
|
||||||
mkdir -p %{buildroot}%{_unitdir}
|
|
||||||
install -D -m 444 %{buildroot}%{_datadir}/ooRexx/rxapid.service %{buildroot}%{_unitdir}/%{name}.service
|
|
||||||
rm -f %{buildroot}%{_datadir}/ooRexx/rxapid.service
|
|
||||||
%else
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/init.d
|
|
||||||
ln -s %{_bindir}/rxapid $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/rxapid
|
|
||||||
ln -s /%{_sysconfdir}/init.d/rxapid $RPM_BUILD_ROOT/sbin/rcrxapid
|
|
||||||
rm -f %{buildroot}%{_datadir}/ooRexx/rxapid.service
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# fix wrong permissions from the original package
|
|
||||||
chmod 644 %{buildroot}%{_datadir}/ooRexx/readme
|
|
||||||
chmod 644 %{buildroot}%{_datadir}/ooRexx/*cls
|
|
||||||
|
|
||||||
# adding update-alternatives support (boo#1083875)
|
# adding update-alternatives support (boo#1083875)
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
BINARIES="rexx rexxc rxqueue"
|
|
||||||
for f in ${BINARIES}; do
|
|
||||||
mv %{buildroot}/%{_bindir}/$f %{buildroot}/%{_bindir}/$f.oorexx
|
|
||||||
done
|
|
||||||
|
|
||||||
# strangely, SLE11 requires a dummy file for the ghost-marked files(?)
|
# rexxc and rxsubcom need to be renamed upstream! rexx and rxqueue are okay already.
|
||||||
%if 0%{?suse_version} < 1230
|
mv %{buildroot}/%{_bindir}/rexx %{buildroot}/%{_bindir}/rexx-oorexx
|
||||||
touch %{buildroot}%{_sysconfdir}/alternatives/{rexx,rexxc,rxqueue,rexx.1,rexxc.1,rxqueue.1,rxsubcom.1,oorexx-config.1}
|
mv %{buildroot}/%{_bindir}/rexxc %{buildroot}/%{_bindir}/rexxc-oorexx
|
||||||
%endif
|
mv %{buildroot}/%{_bindir}/rxsubcom %{buildroot}/%{_bindir}/rxsubcom-oorexx
|
||||||
|
mv %{buildroot}/%{_bindir}/rxqueue %{buildroot}/%{_bindir}/rxqueue-oorexx
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_sbindir}
|
ln -s %{_sysconfdir}/alternatives/rexx %{buildroot}%{_bindir}/rexx
|
||||||
%if 0%{?suse_version} < 1550
|
ln -s %{_sysconfdir}/alternatives/rexxc %{buildroot}%{_bindir}/rexxc
|
||||||
ln -s /sbin/service %{buildroot}%{_sbindir}/rc%{name}
|
ln -s %{_sysconfdir}/alternatives/rxqueue %{buildroot}%{_bindir}/rxqueue
|
||||||
%else
|
ln -s %{_sysconfdir}/alternatives/rxsubcom %{buildroot}%{_bindir}/rxsubcom
|
||||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc%{name}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
#******************************************************************************
|
# removing binary samples to avoid OBS warnings
|
||||||
%clean
|
rm %{buildroot}%{_datadir}/ooRexx/samples/api/c++/callsample/{runRexxProgram,stackOverflow}
|
||||||
#******************************************************************************
|
rm %{buildroot}%{_datadir}/ooRexx/samples/api/c++/external/libexternal*so
|
||||||
# kill leftover "rexximage" process left by the compilation process
|
rm %{buildroot}%{_datadir}/ooRexx/samples/api/classic/callrexx/callrexx*
|
||||||
killall rexximage && /bin/true
|
rm %{buildroot}%{_datadir}/ooRexx/samples/api/classic/rexxapi*/librexxapi*.so
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
#******************************************************************************
|
%check
|
||||||
%files
|
|
||||||
#******************************************************************************
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc
|
|
||||||
%dir %{_datadir}/ooRexx
|
|
||||||
%{_rpmmacrodir}/macros.rexx
|
|
||||||
%{_bindir}/rexx.oorexx
|
|
||||||
%{_bindir}/rexxc.oorexx
|
|
||||||
%{_bindir}/rxqueue.oorexx
|
|
||||||
%{_bindir}/rxapi
|
|
||||||
%{_bindir}/rxapid
|
|
||||||
%{_bindir}/rxsubcom
|
|
||||||
%{_bindir}/rexximage
|
|
||||||
%{_bindir}/rexx.img
|
|
||||||
%{_bindir}/rexx.cat
|
|
||||||
%{_bindir}/rexxtry.rex
|
|
||||||
%{_datadir}/ooRexx/rxregexp.cls
|
|
||||||
%{_datadir}/ooRexx/rxftp.cls
|
|
||||||
%{_datadir}/ooRexx/csvStream.cls
|
|
||||||
%{_datadir}/ooRexx/socket.cls
|
|
||||||
%{_datadir}/ooRexx/streamsocket.cls
|
|
||||||
%{_datadir}/ooRexx/mime.cls
|
|
||||||
%{_datadir}/ooRexx/smtp.cls
|
|
||||||
|
|
||||||
%ghost %{_sysconfdir}/alternatives/rexx
|
|
||||||
%ghost %{_sysconfdir}/alternatives/rexxc
|
|
||||||
%ghost %{_sysconfdir}/alternatives/rxqueue
|
|
||||||
%ghost %{_sysconfdir}/alternatives/rexx.1
|
|
||||||
%ghost %{_sysconfdir}/alternatives/rexxc.1
|
|
||||||
%ghost %{_sysconfdir}/alternatives/rxqueue.1
|
|
||||||
%ghost %{_sysconfdir}/alternatives/rxsubcom.1
|
|
||||||
|
|
||||||
%{_libdir}/librexx.so
|
|
||||||
%{_libdir}/librexx.so.4
|
|
||||||
%{_libdir}/librexx.so.%{orx_libversion}
|
|
||||||
%{_libdir}/librexxapi.so
|
|
||||||
%{_libdir}/librexxapi.so.4
|
|
||||||
%{_libdir}/librexxapi.so.%{orx_libversion}
|
|
||||||
%{_libdir}/librxsock.so
|
|
||||||
%{_libdir}/librxsock.so.4
|
|
||||||
%{_libdir}/librxsock.so.%{orx_libversion}
|
|
||||||
%{_libdir}/librxmath.so
|
|
||||||
%{_libdir}/librxmath.so.4
|
|
||||||
%{_libdir}/librxmath.so.%{orx_libversion}
|
|
||||||
%{_libdir}/librxregexp.so
|
|
||||||
%{_libdir}/librxregexp.so.4
|
|
||||||
%{_libdir}/librxregexp.so.%{orx_libversion}
|
|
||||||
%{_libdir}/librexxutil.so
|
|
||||||
%{_libdir}/librexxutil.so.4
|
|
||||||
%{_libdir}/librexxutil.so.%{orx_libversion}
|
|
||||||
%{_libdir}/libhostemu.so
|
|
||||||
%{_libdir}/libhostemu.so.4
|
|
||||||
%{_libdir}/libhostemu.so.%{orx_libversion}
|
|
||||||
%{_libdir}/librxunixsys.so
|
|
||||||
%{_libdir}/librxunixsys.so.4
|
|
||||||
%{_libdir}/librxunixsys.so.%{orx_libversion}
|
|
||||||
|
|
||||||
%dir %{_datadir}/ooRexx/man1
|
|
||||||
%{_datadir}/ooRexx/man1/rexx.1
|
|
||||||
%{_datadir}/ooRexx/man1/rexxc.1
|
|
||||||
%{_datadir}/ooRexx/man1/rxsubcom.1
|
|
||||||
%{_datadir}/ooRexx/man1/rxqueue.1
|
|
||||||
%{_datadir}/ooRexx/rexx.sh
|
|
||||||
%{_datadir}/ooRexx/rexx.csh
|
|
||||||
%{_datadir}/ooRexx/*.rex
|
|
||||||
%{_datadir}/ooRexx/readme
|
|
||||||
|
|
||||||
%if 0%{?suse_version} > 1230
|
|
||||||
%{_unitdir}/%{name}.service
|
|
||||||
%else
|
|
||||||
%{_sysconfdir}/init.d/rxapid
|
|
||||||
/sbin/rcrxapid
|
|
||||||
%endif
|
|
||||||
%{_sbindir}/rc%{name}
|
|
||||||
|
|
||||||
#******************************************************************************
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_bindir}/oorexx-config
|
|
||||||
%{_datadir}/ooRexx/man1/oorexx-config.1
|
|
||||||
%ghost %{_sysconfdir}/alternatives/oorexx-config.1
|
|
||||||
%{_includedir}/rexx.h
|
|
||||||
%{_includedir}/rexxapidefs.h
|
|
||||||
%{_includedir}/rexxapitypes.h
|
|
||||||
%{_includedir}/rexxplatformapis.h
|
|
||||||
%{_includedir}/rexxplatformdefs.h
|
|
||||||
%{_includedir}/oorexxapi.h
|
|
||||||
%{_includedir}/oorexxerrors.h
|
|
||||||
%{_libdir}/librexx.la
|
|
||||||
%{_libdir}/librexxapi.la
|
|
||||||
%{_libdir}/librxsock.la
|
|
||||||
%{_libdir}/librxmath.la
|
|
||||||
%{_libdir}/librxregexp.la
|
|
||||||
%{_libdir}/librexxutil.la
|
|
||||||
%{_libdir}/libhostemu.la
|
|
||||||
%{_libdir}/librxunixsys.la
|
|
||||||
%{_libdir}/pkgconfig/%{name}.pc
|
|
||||||
|
|
||||||
%pre
|
|
||||||
%if 0%{?suse_version} > 1230
|
|
||||||
%service_add_pre ooRexx.service
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
# Add the rxapi service
|
update-alternatives --install %{_bindir}/rexx rexx %{_bindir}/rexx-oorexx 20
|
||||||
%if 0%{?suse_version} > 1230
|
update-alternatives --install %{_bindir}/rexxc rexxc %{_bindir}/rexxc-oorexx 20
|
||||||
%service_add_post ooRexx.service
|
update-alternatives --install %{_bindir}/rxqueue rxqueue %{_bindir}/rxqueue-oorexx 20
|
||||||
echo "Please enable the ooRexx rxapid service manually."
|
update-alternatives --install %{_bindir}/rxsubcom rxsubcom %{_bindir}/rxsubcom-oorexx 20
|
||||||
echo "To do this, run:"
|
|
||||||
echo "systemctl enable ooRexx.service"
|
|
||||||
echo "systemctl start ooRexx.service"
|
|
||||||
%else
|
|
||||||
%fillup_and_insserv rxapid
|
|
||||||
%endif
|
|
||||||
|
|
||||||
/sbin/ldconfig
|
|
||||||
BINARIES="rexx rexxc rxqueue"
|
|
||||||
for f in ${BINARIES}; do
|
|
||||||
update-alternatives --install \
|
|
||||||
%{_bindir}/$f $f %{_bindir}/$f.oorexx 10
|
|
||||||
done
|
|
||||||
|
|
||||||
for f in $(find %{_datadir}/ooRexx/man1 -type f); do
|
|
||||||
NAME=$(basename $f)
|
|
||||||
update-alternatives --install \
|
|
||||||
%{_mandir}/man1/${NAME} ${NAME} %{_datadir}/ooRexx/man1/${NAME} 10
|
|
||||||
done
|
|
||||||
|
|
||||||
%post devel
|
|
||||||
update-alternatives --install \
|
|
||||||
%{_mandir}/man1/oorexx-config.1 oorexx-config.1 %{_datadir}/ooRexx/man1/oorexx-config.1 10
|
|
||||||
|
|
||||||
#******************************************************************************
|
|
||||||
%preun
|
|
||||||
%if 0%{?suse_version} > 1230
|
|
||||||
%service_del_preun ooRexx.service
|
|
||||||
%endif
|
|
||||||
BINARIES="rexx rexxc rxqueue"
|
|
||||||
for f in ${BINARIES}; do
|
|
||||||
if [ ! -f %{_bindir}/$f ] ; then
|
|
||||||
update-alternatives --remove $f %{_bindir}/$f
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for f in $(find %{_datadir}/ooRexx/man1 -type f); do
|
|
||||||
NAME=$(basename $f)
|
|
||||||
update-alternatives --remove ${NAME} %{_mandir}/man1/${NAME}
|
|
||||||
done
|
|
||||||
|
|
||||||
#******************************************************************************
|
|
||||||
%postun
|
%postun
|
||||||
#******************************************************************************
|
if [ ! -f %{_bindir}/rexx-oorexx ] ; then
|
||||||
%if 0%{?suse_version} > 1230
|
update-alternatives --remove rexx %{_bindir}/rexx-oorexx
|
||||||
%service_del_postun ooRexx.service
|
fi
|
||||||
%else
|
|
||||||
%restart_on_update rxapid
|
|
||||||
%insserv_cleanup
|
|
||||||
%endif
|
|
||||||
|
|
||||||
/sbin/ldconfig
|
if [ ! -f %{_bindir}/rexxc-oorexx ] ; then
|
||||||
|
update-alternatives --remove rexxc %{_bindir}/rexxc-oorexx
|
||||||
|
fi
|
||||||
|
|
||||||
%preun devel
|
if [ ! -f %{_bindir}/rxqueue-oorexx ] ; then
|
||||||
update-alternatives --remove oorexx-config.1 %{_mandir}/man1/oorexx-config.1
|
update-alternatives --remove rxqueue %{_bindir}/rxqueue-oorexx
|
||||||
|
fi
|
||||||
|
|
||||||
#******************************************************************************
|
if [ ! -f %{_bindir}/rxsubcom-oorexx ] ; then
|
||||||
|
update-alternatives --remove rxsubcom %{_bindir}/rxsubcom-oorexx
|
||||||
|
fi
|
||||||
|
|
||||||
|
%post -n liboorexx4 -p /sbin/ldconfig
|
||||||
|
%postun -n liboorexx4 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
%files
|
||||||
|
%dir %{_datadir}/icons/hicolor
|
||||||
|
%dir %{_datadir}/icons/hicolor/48x48
|
||||||
|
%dir %{_datadir}/icons/hicolor/48x48/apps
|
||||||
|
%dir %{_datadir}/ooRexx
|
||||||
|
|
||||||
|
%{_mandir}/man1/*
|
||||||
|
%{_datadir}/applications/*
|
||||||
|
%{_datadir}/icons/hicolor/48x48/apps/*
|
||||||
|
|
||||||
|
%{_libdir}/rexx.img
|
||||||
|
%{_bindir}/rexxtry.rex
|
||||||
|
%{_bindir}/rxapi
|
||||||
|
%{_bindir}/rexx-oorexx
|
||||||
|
%{_bindir}/rexxc-oorexx
|
||||||
|
%{_bindir}/rxqueue-oorexx
|
||||||
|
%{_bindir}/rxsubcom-oorexx
|
||||||
|
%{_bindir}/*cls
|
||||||
|
|
||||||
|
%ghost %{_bindir}/rexx
|
||||||
|
%ghost %{_bindir}/rexxc
|
||||||
|
%ghost %{_bindir}/rxqueue
|
||||||
|
%ghost %{_bindir}/rxsubcom
|
||||||
|
|
||||||
|
%ghost %attr(0755,root,root) %{_sysconfdir}/alternatives/rexx
|
||||||
|
%ghost %attr(0755,root,root) %{_sysconfdir}/alternatives/rexxc
|
||||||
|
%ghost %attr(0755,root,root) %{_sysconfdir}/alternatives/rxqueue
|
||||||
|
%ghost %attr(0755,root,root) %{_sysconfdir}/alternatives/rxsubcom
|
||||||
|
%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/rexx.1
|
||||||
|
%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/rexxc.1
|
||||||
|
%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/rxqueue.1
|
||||||
|
%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/rxsubcom.1
|
||||||
|
|
||||||
|
%files -n liboorexx4
|
||||||
|
%{_libdir}/lib*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%config %{_sysconfdir}/rpm/*
|
||||||
|
%{_includedir}/*
|
||||||
|
%{_datadir}/pkgconfig/*
|
||||||
|
|
||||||
|
%dir %{_datadir}/ooRexx/samples
|
||||||
|
%{_datadir}/ooRexx/samples/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
3
oorexx-5.0.0-12583.tar.gz
Normal file
3
oorexx-5.0.0-12583.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fd94d09cfbcfb3499973b38f2c84a0dd0adebf46db5e037fb65d2557cfb87cd1
|
||||||
|
size 6398458
|
@@ -1,51 +0,0 @@
|
|||||||
diff -Naur ooRexx-4.2.0/interpreter/platform/unix/SysInterpreterInstance.cpp ooRexx-4.2.0/interpreter/platform/unix/SysInterpreterInstance.cpp
|
|
||||||
--- ooRexx-4.2.0.original/interpreter/platform/unix/SysInterpreterInstance.cpp 2014-02-24 08:09:32.619362812 -0300
|
|
||||||
+++ ooRexx-4.2.0/interpreter/platform/unix/SysInterpreterInstance.cpp 2014-02-24 08:10:33.049257168 -0300
|
|
||||||
@@ -124,6 +124,13 @@
|
|
||||||
size_t parentSize = parentDir == NULL ? 0 : strlen(parentDir);
|
|
||||||
size_t extensionSize = extensionPath == NULL ? 0 : strlen(extensionPath);
|
|
||||||
|
|
||||||
+#ifdef PKGDATADIR
|
|
||||||
+ if(!rexxPath)
|
|
||||||
+ {
|
|
||||||
+ rexxPath=PKGDATADIR;
|
|
||||||
+ rexxPathSize = strlen(rexxPath);
|
|
||||||
+ }
|
|
||||||
+#endif // PKGDATADIR
|
|
||||||
|
|
||||||
// enough room for separators and a terminating null
|
|
||||||
path = (char *)SystemInterpreter::allocateResultMemory(sysPathSize + rexxPathSize + parentSize + extensionSize + 16);
|
|
||||||
diff -Naur ooRexx-4.2.0/Makefile.am ooRexx-4.2.0/Makefile.am
|
|
||||||
--- ooRexx-4.2.0.original/Makefile.am 2014-02-24 08:09:32.738358662 -0300
|
|
||||||
+++ ooRexx-4.2.0/Makefile.am 2014-02-24 08:12:33.408072613 -0300
|
|
||||||
@@ -156,7 +156,8 @@
|
|
||||||
-DOOREXX_COPY_YEAR=\"$(ORX_COPY_YEAR)\" \
|
|
||||||
-DORX_SYS_STR=\"@ORX_SYS_STR@\" \
|
|
||||||
-DORX_CATDIR=\"$(catdir)\" \
|
|
||||||
- -DORX_SHARED_LIBRARY_EXT=\"@ORX_SHARED_LIBRARY_EXT@\"
|
|
||||||
+ -DORX_SHARED_LIBRARY_EXT=\"@ORX_SHARED_LIBRARY_EXT@\" \
|
|
||||||
+ -DPKGDATADIR=\"$(pkgdatadir)\"
|
|
||||||
|
|
||||||
messageXML = $(build_messages_dir)/rexxmsg.xml
|
|
||||||
|
|
||||||
@@ -1086,13 +1087,13 @@
|
|
||||||
$(install_sh_SCRIPT) rexx.cat $(DESTDIR)$(catdir)/rexx.cat; \
|
|
||||||
fi
|
|
||||||
$(install_sh_SCRIPT) $(build_os_platform_dir)/oorexx-config $(DESTDIR)$(prefix)/bin/oorexx-config
|
|
||||||
- $(install_sh_SCRIPT) $(build_extensions_rxregexp_dir)/rxregexp.cls $(DESTDIR)$(prefix)/bin/rxregexp.cls
|
|
||||||
- $(install_sh_SCRIPT) $(build_extensions_rxftp_dir)/rxftp.cls $(DESTDIR)$(prefix)/bin/rxftp.cls
|
|
||||||
- $(install_sh_SCRIPT) $(build_extensions_csvstream_dir)/csvStream.cls $(DESTDIR)$(prefix)/bin/csvStream.cls
|
|
||||||
- $(install_sh_SCRIPT) $(build_extensions_rxsock_dir)/socket.cls $(DESTDIR)$(prefix)/bin/socket.cls
|
|
||||||
- $(install_sh_SCRIPT) $(build_extensions_rxsock_dir)/streamsocket.cls $(DESTDIR)$(prefix)/bin/streamsocket.cls
|
|
||||||
- $(install_sh_SCRIPT) $(build_extensions_rxsock_dir)/mime.cls $(DESTDIR)$(prefix)/bin/mime.cls
|
|
||||||
- $(install_sh_SCRIPT) $(build_extensions_rxsock_dir)/smtp.cls $(DESTDIR)$(prefix)/bin/smtp.cls
|
|
||||||
+ $(install_sh_SCRIPT) $(build_extensions_rxregexp_dir)/rxregexp.cls $(DESTDIR)$(pkgdatadir)/rxregexp.cls
|
|
||||||
+ $(install_sh_SCRIPT) $(build_extensions_rxftp_dir)/rxftp.cls $(DESTDIR)$(pkgdatadir)/rxftp.cls
|
|
||||||
+ $(install_sh_SCRIPT) $(build_extensions_csvstream_dir)/csvStream.cls $(DESTDIR)$(pkgdatadir)/csvStream.cls
|
|
||||||
+ $(install_sh_SCRIPT) $(build_extensions_rxsock_dir)/socket.cls $(DESTDIR)$(pkgdatadir)/socket.cls
|
|
||||||
+ $(install_sh_SCRIPT) $(build_extensions_rxsock_dir)/streamsocket.cls $(DESTDIR)$(pkgdatadir)/streamsocket.cls
|
|
||||||
+ $(install_sh_SCRIPT) $(build_extensions_rxsock_dir)/mime.cls $(DESTDIR)$(pkgdatadir)/mime.cls
|
|
||||||
+ $(install_sh_SCRIPT) $(build_extensions_rxsock_dir)/smtp.cls $(DESTDIR)$(pkgdatadir)/smtp.cls
|
|
||||||
if test "$(ORX_SYS_STR)" != "AIX" -a "$(ORX_SYS_STR)" != "MACOSX"; then \
|
|
||||||
$(install_sh_SCRIPT) $(rexxapi_server_unix_dir)/rxapid $(DESTDIR)$(prefix)/bin/rxapid; \
|
|
||||||
fi
|
|
@@ -1,15 +0,0 @@
|
|||||||
--- platform/unix/rxapid.service 2013-12-21 15:47:12.667492000 -0200
|
|
||||||
+++ platform/unix/rxapid.service.new 2015-07-22 14:27:01.188725317 -0300
|
|
||||||
@@ -1,6 +1,5 @@
|
|
||||||
[Unit]
|
|
||||||
Description=ooRexx rxapi service
|
|
||||||
-After=syslog.target
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
@@ -11,4 +10,4 @@
|
|
||||||
Restart=on-abort
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
-WantedBy=multi-user.target.wants
|
|
||||||
+WantedBy=multi-user.target
|
|
Reference in New Issue
Block a user