Compare commits

...

7 Commits

Author SHA256 Message Date
ac6927e30d 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
2025-03-10 17:03:57 +00:00
c8ced5a3f9 OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/ooRexx?expand=0&rev=192 2025-03-08 19:27:59 +00:00
e026e94ae2 OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/ooRexx?expand=0&rev=191 2025-03-08 19:22:39 +00:00
31bf3b4f5a OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/ooRexx?expand=0&rev=190 2025-03-06 21:20:09 +00:00
c072ba0f58 OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/ooRexx?expand=0&rev=189 2025-03-06 21:06:14 +00:00
0a1bfbf86f missing rpmlintrc in changelog.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/ooRexx?expand=0&rev=188
2025-03-05 15:06:14 +00:00
65f2007faf Adding entries on changelog about removed patches.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/ooRexx?expand=0&rev=187
2025-03-04 23:05:14 +00:00
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. # 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")

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

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

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