Accepting request 1251441 from devel:languages:misc

- 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).
- 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

OBS-URL: https://build.opensuse.org/request/show/1251441
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ooRexx?expand=0&rev=25
This commit is contained in:
Ana Guerrero 2025-03-10 17:03:57 +00:00 committed by Git OBS Bridge
commit ac6927e30d
11 changed files with 161 additions and 879 deletions

View File

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

View File

@ -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;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:916a56f8ffa4e7eab53b4a7a3bb3ba33de83dfdb62cbb3f03917afff7080523c
size 1292665

View File

@ -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);
}

View File

@ -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.
# 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.
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.*librexx.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.*librexxutil.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.*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")

View File

@ -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>
- Use %patch -P N instead of deprecated %patchN.

View File

@ -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

View File

@ -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
# 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)
# 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/
#
%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
#******************************************************************************
%define _rexxpath %{_datadir}/ooRexx
Name: ooRexx
Prefix: /usr
Version: 4.2.0
Version: 5.0.0
Release: 0
Summary: Open Object Rexx
Summary: Open Object REXX
License: CPL-1.0
Group: Development/Languages/Other
Url: http://www.oorexx.org/
Source: %{name}-%{version}.tar.bz2
URL: https://www.rexxla.org
Source: https://master.dl.sourceforge.net/project/oorexx/oorexx/5.0.0/oorexx-5.0.0-12583.tar.gz
Source1: %{name}-rpmlintrc
# If we don't include the following option we get bogus dependencies generated
AutoReq: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: coreutils
BuildRequires: dos2unix
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: procps
BuildRequires: subversion
BuildRequires: psmisc
Requires(post): /usr/sbin/update-alternatives
Requires(postun): /usr/sbin/update-alternatives
BuildRequires: ncurses-devel
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
Obsoletes: ooRexx <= 4.2.0
Provides: ooRexx = %{version}
%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
#******************************************************************************
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.
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.
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.
For more information on ooRexx, visit http://www.oorexx.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
This package contains headers and files needed for developing extensions for
Open Object Rexx.
Development files for Open Object Rexx. These are intended for developing REXX extensions only.
%description -n liboorexx4
Library files for Open Object Rexx.
#******************************************************************************
%prep
#******************************************************************************
%setup -q
mkdir -p src build
tar -C src -xvzf %{SOURCE0}
%patch -P 0 -p1
%patch -P 1 -p0
%patch -P 2 -p1
%patch -P 3 -p1
#******************************************************************************
%build
#******************************************************************************
cd build
autoreconf -vfi
# reproducible builds: https://sourceforge.net/p/oorexx/bugs/1712/
setarch -R
%if 0%{?suse_version}
echo "SUSE_VERSION=%{suse_version}"
%endif
# FIXME: you should use the %%cmake macros
cmake -S ../src -DORX_REXXPATH=%{_rexxpath} -DORX_SHEBANG=%{_bindir}/rexx -DBUILD_RPM=1 -DCMAKE_INSTALL_PREFIX=%{_prefix}
%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/'`"
export CXXFLAGS="-std=c++11 $CXXFLAGS"
export SUSE_ASNEEDED=0
./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
# create a pkgconfig file
mkdir -p %{buildroot}%{_datadir}/pkgconfig
cat > %{buildroot}%{_datadir}/pkgconfig/%{name}.pc << EOF
prefix=%{_prefix}
exec_prefix=%{_prefix}
libdir=%{_libdir}
@ -187,235 +90,108 @@ includedir=%{_includedir}
Name: %{name}
Description: Open Object Rexx
Version: %{version}
Libs: -L\${libdir}/ooRexx -lrexx -lrexxapi
Libs: -L\${libdir} -lrexx -lrexxapi
Cflags: -I\${includedir}
EOF
#******************************************************************************
%install
#******************************************************************************
make DESTDIR=${RPM_BUILD_ROOT} libdir=%{_libdir} mandir=%{_datadir}/ooRexx pkgdatadir=%{_datadir}/ooRexx install
# REXX system-wide RPM macros
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
mkdir -p %{buildroot}%{_sysconfdir}/rpm
cat > %{buildroot}%{_sysconfdir}/rpm/oorexx.macros << EOF
%{_ooRexx} $(echo %{version} | cut -d. -f1)
%{_rexxclassdir} %{_rexxpath}
%{_rexxlibdir} %{_libdir}
EOF
# adding update-alternatives support (boo#1083875)
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(?)
%if 0%{?suse_version} < 1230
touch %{buildroot}%{_sysconfdir}/alternatives/{rexx,rexxc,rxqueue,rexx.1,rexxc.1,rxqueue.1,rxsubcom.1,oorexx-config.1}
%endif
# rexxc and rxsubcom need to be renamed upstream! rexx and rxqueue are okay already.
mv %{buildroot}/%{_bindir}/rexx %{buildroot}/%{_bindir}/rexx-oorexx
mv %{buildroot}/%{_bindir}/rexxc %{buildroot}/%{_bindir}/rexxc-oorexx
mv %{buildroot}/%{_bindir}/rxsubcom %{buildroot}/%{_bindir}/rxsubcom-oorexx
mv %{buildroot}/%{_bindir}/rxqueue %{buildroot}/%{_bindir}/rxqueue-oorexx
mkdir -p %{buildroot}%{_sbindir}
%if 0%{?suse_version} < 1550
ln -s /sbin/service %{buildroot}%{_sbindir}/rc%{name}
%else
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc%{name}
%endif
ln -s %{_sysconfdir}/alternatives/rexx %{buildroot}%{_bindir}/rexx
ln -s %{_sysconfdir}/alternatives/rexxc %{buildroot}%{_bindir}/rexxc
ln -s %{_sysconfdir}/alternatives/rxqueue %{buildroot}%{_bindir}/rxqueue
ln -s %{_sysconfdir}/alternatives/rxsubcom %{buildroot}%{_bindir}/rxsubcom
#******************************************************************************
%clean
#******************************************************************************
# kill leftover "rexximage" process left by the compilation process
killall rexximage && /bin/true
rm -rf $RPM_BUILD_ROOT
# removing binary samples to avoid OBS warnings
rm %{buildroot}%{_datadir}/ooRexx/samples/api/c++/callsample/{runRexxProgram,stackOverflow}
rm %{buildroot}%{_datadir}/ooRexx/samples/api/c++/external/libexternal*so
rm %{buildroot}%{_datadir}/ooRexx/samples/api/classic/callrexx/callrexx*
rm %{buildroot}%{_datadir}/ooRexx/samples/api/classic/rexxapi*/librexxapi*.so
#******************************************************************************
%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
%check
%post
# Add the rxapi service
%if 0%{?suse_version} > 1230
%service_add_post ooRexx.service
echo "Please enable the ooRexx rxapid service manually."
echo "To do this, run:"
echo "systemctl enable ooRexx.service"
echo "systemctl start ooRexx.service"
%else
%fillup_and_insserv rxapid
%endif
update-alternatives --install %{_bindir}/rexx rexx %{_bindir}/rexx-oorexx 20
update-alternatives --install %{_bindir}/rexxc rexxc %{_bindir}/rexxc-oorexx 20
update-alternatives --install %{_bindir}/rxqueue rxqueue %{_bindir}/rxqueue-oorexx 20
update-alternatives --install %{_bindir}/rxsubcom rxsubcom %{_bindir}/rxsubcom-oorexx 20
/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
#******************************************************************************
%if 0%{?suse_version} > 1230
%service_del_postun ooRexx.service
%else
%restart_on_update rxapid
%insserv_cleanup
%endif
if [ ! -f %{_bindir}/rexx-oorexx ] ; then
update-alternatives --remove rexx %{_bindir}/rexx-oorexx
fi
/sbin/ldconfig
if [ ! -f %{_bindir}/rexxc-oorexx ] ; then
update-alternatives --remove rexxc %{_bindir}/rexxc-oorexx
fi
%preun devel
update-alternatives --remove oorexx-config.1 %{_mandir}/man1/oorexx-config.1
if [ ! -f %{_bindir}/rxqueue-oorexx ] ; then
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

View File

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

View File

@ -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

View File

@ -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