Browse Source

powerel-lsb package created

Signed-off-by: basebuilder_pel7x64builder0 <basebuilder@powerel.org>
master
basebuilder_pel7x64builder0 6 years ago
parent
commit
3d14158301
  1. 32
      SOURCES/lsb-release-3.1-update-init-functions.patch
  2. 131
      SOURCES/redhat-lsb-aarch64.patch
  3. 45
      SOURCES/redhat-lsb-arm.patch
  4. 12
      SOURCES/redhat-lsb-centos-fix-release.patch
  5. 43
      SOURCES/redhat-lsb-lsb_start_daemon-fix.patch
  6. 12
      SOURCES/redhat-lsb-powerel-fix-release.patch
  7. 134
      SOURCES/redhat-lsb-trigger.patch
  8. 1093
      SPECS/powerel-lsb.spec

32
SOURCES/lsb-release-3.1-update-init-functions.patch

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
diff -urN redhat-lsb-3.1/init-functions redhat-lsb-3.1.mod/init-functions
--- redhat-lsb-3.1/init-functions 2006-12-06 12:24:29.000000000 +1000
+++ redhat-lsb-3.1.mod/init-functions 2007-06-26 15:41:35.000000000 +1000
@@ -1,6 +1,10 @@
#!/bin/sh
# LSB initscript functions, as defined in the LSB Spec 1.1.0
+#
+# Lawrence Lim <llim@redhat.com> - Tue, 26 June 2007
+# Updated to the latest LSB 3.1 spec
+# http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic_lines.txt
start_daemon () {
/etc/redhat-lsb/lsb_start_daemon "$@"
@@ -10,7 +14,7 @@
/etc/redhat-lsb/lsb_killproc "$@"
}
-pidofprof () {
+pidofproc () {
/etc/redhat-lsb/lsb_pidofproc "$@"
}
@@ -22,7 +26,7 @@
/etc/redhat-lsb/lsb_log_message failure "$@"
}
-log_warning_message () {
+log_warning_msg () {
/etc/redhat-lsb/lsb_log_message warning "$@"
}

131
SOURCES/redhat-lsb-aarch64.patch

@ -0,0 +1,131 @@ @@ -0,0 +1,131 @@
diff --git a/redhat_lsb_trigger.c b/redhat_lsb_trigger.c
index 76db260..f76e5a5 100644
--- a/redhat_lsb_trigger.c
+++ b/redhat_lsb_trigger.c
@@ -424,6 +424,102 @@ register void *__thread_self __asm ("g7");
: inline_syscall_clobbers, "$20", "$21"); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
+#elif defined __aarch64__
+#undef SYS_ify
+#define SYS_ify(syscall_name) (__NR_##syscall_name)
+
+# undef INLINE_SYSCALL
+# define INLINE_SYSCALL(name, nr, args...) \
+ ({ unsigned long _sys_result = INTERNAL_SYSCALL (name, , nr, args); \
+ if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sys_result, ), 0))\
+ { \
+ __set_errno (INTERNAL_SYSCALL_ERRNO (_sys_result, )); \
+ _sys_result = (unsigned long) -1; \
+ } \
+ (long) _sys_result; })
+
+# undef INTERNAL_SYSCALL_DECL
+# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+# undef INTERNAL_SYSCALL_RAW
+# define INTERNAL_SYSCALL_RAW(name, err, nr, args...) \
+ ({ unsigned long _sys_result; \
+ { \
+ LOAD_ARGS_##nr (args) \
+ register long _x8 asm ("x8") = (name); \
+ asm volatile ("svc 0 // syscall " # name \
+ : "+r" (_x0), "+r" (_x8) \
+ : ASM_ARGS_##nr \
+ : "memory", CLOBBER_ARGS_##nr); \
+ _sys_result = _x0; \
+ } \
+ (long) _sys_result; })
+
+# undef INTERNAL_SYSCALL
+# define INTERNAL_SYSCALL(name, err, nr, args...) \
+ INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
+
+# undef INTERNAL_SYSCALL_ERROR_P
+# define INTERNAL_SYSCALL_ERROR_P(val, err) \
+ ((unsigned long) (val) >= (unsigned long) -4095)
+
+# undef INTERNAL_SYSCALL_ERRNO
+# define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
+
+# define CLOBBER_ARGS_0 CLOBBER_ARGS_1
+# define CLOBBER_ARGS_1 "x1", CLOBBER_ARGS_2
+# define CLOBBER_ARGS_2 "x2", CLOBBER_ARGS_3
+# define CLOBBER_ARGS_3 "x3", CLOBBER_ARGS_4
+# define CLOBBER_ARGS_4 "x4", CLOBBER_ARGS_5
+# define CLOBBER_ARGS_5 "x5", CLOBBER_ARGS_6
+# define CLOBBER_ARGS_6 "x6", CLOBBER_ARGS_7
+# define CLOBBER_ARGS_7 \
+ "x7", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18"
+
+# define LOAD_ARGS_0() \
+ register long _x0 asm ("x0");
+
+# define ASM_ARGS_0
+# define LOAD_ARGS_1(x0) \
+ long _x0tmp = (long) (x0); \
+ LOAD_ARGS_0 () \
+ _x0 = _x0tmp;
+# define ASM_ARGS_1 "r" (_x0)
+# define LOAD_ARGS_2(x0, x1) \
+ long _x1tmp = (long) (x1); \
+ LOAD_ARGS_1 (x0) \
+ register long _x1 asm ("x1") = _x1tmp;
+# define ASM_ARGS_2 ASM_ARGS_1, "r" (_x1)
+# define LOAD_ARGS_3(x0, x1, x2) \
+ long _x2tmp = (long) (x2); \
+ LOAD_ARGS_2 (x0, x1) \
+ register long _x2 asm ("x2") = _x2tmp;
+# define ASM_ARGS_3 ASM_ARGS_2, "r" (_x2)
+# define LOAD_ARGS_4(x0, x1, x2, x3) \
+ long _x3tmp = (long) (x3); \
+ LOAD_ARGS_3 (x0, x1, x2) \
+ register long _x3 asm ("x3") = _x3tmp;
+# define ASM_ARGS_4 ASM_ARGS_3, "r" (_x3)
+# define LOAD_ARGS_5(x0, x1, x2, x3, x4) \
+ long _x4tmp = (long) (x4); \
+ LOAD_ARGS_4 (x0, x1, x2, x3) \
+ register long _x4 asm ("x4") = _x4tmp;
+# define ASM_ARGS_5 ASM_ARGS_4, "r" (_x4)
+# define LOAD_ARGS_6(x0, x1, x2, x3, x4, x5) \
+ long _x5tmp = (long) (x5); \
+ LOAD_ARGS_5 (x0, x1, x2, x3, x4) \
+ register long _x5 asm ("x5") = _x5tmp;
+# define ASM_ARGS_6 ASM_ARGS_5, "r" (_x5)
+# define LOAD_ARGS_7(x0, x1, x2, x3, x4, x5, x6)\
+ long _x6tmp = (long) (x6); \
+ LOAD_ARGS_6 (x0, x1, x2, x3, x4, x5) \
+ register long _x6 asm ("x6") = _x6tmp;
+# define ASM_ARGS_7 ASM_ARGS_6, "r" (_x6)
+
+# undef INTERNAL_SYSCALL_NCS
+# define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
+ INTERNAL_SYSCALL_RAW (number, err, nr, args)
+
#endif
#ifdef __i386__
@@ -539,10 +635,14 @@ int main (int argc, char **argv)
p = mempcpy (p, LSBLDSO, sizeof LSBLDSO - 1);
*p++ = '.';
strcpy (p, LSBVER);
+#if defined(__NR_symlink)
if (is_ia64 ())
INTERNAL_SYSCALL (symlink, err, 2, "/emul/ia32-linux/lib/" LDSO, buf);
else
INTERNAL_SYSCALL (symlink, err, 2, LDSO, buf);
+#elif defined(__NR_symlinkat)
+ INTERNAL_SYSCALL (symlinkat, err, 3, AT_FDCWD, LDSO, buf);
+#endif
p = NULL;
}
INTERNAL_SYSCALL (exit, err, 1, 0);
@@ -582,7 +682,7 @@ int __libc_start_main (int argc, char **argv, char **ev,
void *auxvec, void (*rtld_fini) (void),
struct startup_info *stinfo,
char **stack_on_entry)
-#elif defined __arm__
+#elif defined __arm__ || defined __aarch64__
int ___libc_start_main (int (*main) (int argc, char **argv),
int argc, char **argv,

45
SOURCES/redhat-lsb-arm.patch

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
--- redhat-lsb-3.2.orig/redhat_lsb_trigger.c 2008-04-16 13:50:14.000000000 -0400
+++ redhat-lsb-3.2/redhat_lsb_trigger.c 2009-02-03 04:39:06.000000000 -0500
@@ -223,6 +223,42 @@ register void *__thread_self __asm ("g7"
# define ASMFMT_1 , "0" (gpr2)
# define ASMFMT_2 , "0" (gpr2), "d" (gpr3)
# define ASMFMT_3 , "0" (gpr2), "d" (gpr3), "d" (gpr4)
+#elif defined __arm__
+# if defined (__ARM_EABI__)
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+#undef INTERNAL_SYSCALL_RAW
+#define INTERNAL_SYSCALL_RAW(name, err, nr, args...) \
+ ({ \
+ register int _a1 asm ("r0"), _nr asm ("r7"); \
+ LOAD_ARGS_##nr (args) \
+ _nr = name; \
+ asm volatile ("swi 0x0 @ syscall " #name \
+ : "=r" (_a1) \
+ : "r" (_nr) ASM_ARGS_##nr \
+ : "memory"); \
+ _a1; })
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...) \
+ INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
+
+#define LOAD_ARGS_0()
+#define ASM_ARGS_0
+#define LOAD_ARGS_1(a1) \
+ int _a1tmp = (int) (a1); \
+ LOAD_ARGS_0 () \
+ _a1 = _a1tmp;
+#define ASM_ARGS_1 ASM_ARGS_0, "r" (_a1)
+#define LOAD_ARGS_2(a1, a2) \
+ int _a2tmp = (int) (a2); \
+ LOAD_ARGS_1 (a1) \
+ register int _a2 asm ("a2") = _a2tmp;
+#define ASM_ARGS_2 ASM_ARGS_1, "r" (_a2)
+#undef SYS_ify
+#define SWI_BASE (0x900000)
+#define SYS_ify(syscall_name) (__NR_##syscall_name)
+#endif
#elif defined __sparc__
# ifndef __arch64__
# define __INTERNAL_SYSCALL_STRING \

12
SOURCES/redhat-lsb-centos-fix-release.patch

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
diff -uNr redhat-lsb-4.1__orig/lsb-release-2.0/lsb_release redhat-lsb-4.1/lsb-release-2.0/lsb_release
--- redhat-lsb-4.1__orig/lsb-release-2.0/lsb_release 2012-02-29 00:54:28.000000000 +0000
+++ redhat-lsb-4.1/lsb-release-2.0/lsb_release 2015-03-27 12:59:00.207774300 +0000
@@ -72,7 +72,7 @@
INFO_DISTRIB_SUFFIX="release" # <distrib>-<suffix>
ALTERNATE_DISTRIB_FILE="/etc/debian_version" # for Debian [based distrib]
ALTERNATE_DISTRIB_NAME="Debian" # "
-CHECKFIRST="/etc/redhat-release" # check it before file search
+CHECKFIRST="/etc/centos-release" # check it before file search
# Defines our exit codes
EXIT_STATUS="0" # default = Ok :)

43
SOURCES/redhat-lsb-lsb_start_daemon-fix.patch

@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
diff -up redhat-lsb-3.1/lsb_start_daemon.orig redhat-lsb-3.1/lsb_start_daemon
--- redhat-lsb-3.1/lsb_start_daemon.orig 2009-05-15 11:20:17.000000000 -0400
+++ redhat-lsb-3.1/lsb_start_daemon 2009-05-15 11:33:03.000000000 -0400
@@ -4,6 +4,9 @@
nice=
force=
+pidfile=
+user=
+check=
RETVAL=
while [ "$1" != "${1##[-+]}" ]; do
case $1 in
@@ -15,7 +18,28 @@ while [ "$1" != "${1##[-+]}" ]; do
nice=$2
shift 2
;;
+ -p)
+ pidfile="--pidfile $2"
+ shift 2
+ ;;
+ -u)
+ user="--user $2"
+ shift 2
+ ;;
+ -c)
+ check="--check $2"
+ shift 2
+ ;;
+ *)
+ echo "Unknown Option $1"
+ echo "Options are:"
+ echo "-f"
+ echo "-p {pidfile}"
+ echo "-n [+/-nicelevel]"
+ echo "-u {user}"
+ echo "-c {base}"
+ exit 1;;
esac
done
-LSB=LSB-1.1 daemon ${force:-} ${nice:-} $*
+LSB=LSB-1.1 daemon ${force:-} ${nice:-} ${pidfile:-} ${user:-} ${check:-} $*
exit $?

12
SOURCES/redhat-lsb-powerel-fix-release.patch

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
diff -uNr redhat-lsb-4.1__orig/lsb-release-2.0/lsb_release redhat-lsb-4.1/lsb-release-2.0/lsb_release
--- redhat-lsb-4.1__orig/lsb-release-2.0/lsb_release 2012-02-29 00:54:28.000000000 +0000
+++ redhat-lsb-4.1/lsb-release-2.0/lsb_release 2015-03-27 12:59:00.207774300 +0000
@@ -72,7 +72,7 @@
INFO_DISTRIB_SUFFIX="release" # <distrib>-<suffix>
ALTERNATE_DISTRIB_FILE="/etc/debian_version" # for Debian [based distrib]
ALTERNATE_DISTRIB_NAME="Debian" # "
-CHECKFIRST="/etc/redhat-release" # check it before file search
+CHECKFIRST="/etc/powerel-release" # check it before file search
# Defines our exit codes
EXIT_STATUS="0" # default = Ok :)

134
SOURCES/redhat-lsb-trigger.patch

@ -0,0 +1,134 @@ @@ -0,0 +1,134 @@
--- redhat_lsb_trigger.c.triggerfix 2008-04-16 18:50:14.000000000 +0100
+++ redhat_lsb_trigger.c 2011-09-14 11:50:42.563080000 +0100
@@ -423,10 +423,76 @@
#define is_ia64() 0
#endif
+char *
+strtok (char *p, const char *delim)
+{
+ static char *olds;
+ const char *d;
+ char *token;
+ if (p == NULL)
+ p = olds;
+ while (*p)
+ {
+ for (d = delim; *d; d++)
+ if (*p == *d)
+ break;
+ if (!*d)
+ break;
+ p++;
+ }
+ if (!*p)
+ {
+ olds = p;
+ return NULL;
+ }
+ token = p;
+ while (*p)
+ {
+ for (d = delim; *d; d++)
+ if (*p == *d)
+ break;
+ if (*d)
+ break;
+ p++;
+ }
+ if (!*p)
+ olds = p;
+ else
+ {
+ *p = '\0';
+ olds = p + 1;
+ }
+ return token;
+}
+
+size_t
+strlen (const char *s)
+{
+ const char *p;
+ for (p = s; *p; ++p);
+ return p - s;
+}
+
+void *
+mempcpy (void *dst, const void *src, size_t n)
+{
+ char *d = dst;
+ const char *s = src;
+ while (n--)
+ *d++ = *s++;
+ return d;
+}
+
+char *
+strcpy (char *dst, const char *src)
+{
+ char *ret = dst;
+ while ((*dst++ = *src++) != '\0');
+ return ret;
+}
+
int main (int argc, char **argv)
{
-/* redhat_lsb_trigger.c:428: warning: unused variable 'ret' */
-/* long ret; */
INTERNAL_SYSCALL_DECL (err);
char lsbsover[] = LSBSOVER;
char *LSBVER, *p = lsbsover;
@@ -450,15 +516,38 @@
int __libc_multiple_threads __attribute__((nocommon));
int __libc_enable_asynccancel (void) { return 0; }
void __libc_disable_asynccancel (int x) { }
+#ifndef __arm__
void __libc_csu_init (void) { }
void __libc_csu_fini (void) { }
+#endif
pid_t __fork (void) { return -1; }
char thr_buf[65536];
-#ifndef __powerpc__
+void
+__attribute__ ((noreturn))
+__stack_chk_fail (void)
+{
+ INTERNAL_SYSCALL_DECL (err);
+ while (1)
+ INTERNAL_SYSCALL (exit, err, 1, 1);
+}
+
+#if defined __powerpc__
+
+struct startup_info
+{
+ void *sda_base;
+ int (*main) (int, char **, char **, void *);
+ int (*init) (int, char **, char **, void *);
+ void (*fini) (void);
+};
+
+int __libc_start_main (int argc, char **argv, char **ev,
+ void *auxvec, void (*rtld_fini) (void),
+ struct startup_info *stinfo,
+ char **stack_on_entry)
+#elif defined __arm__
-/* /usr/lib/gcc/ppc64-redhat-linux/4.1.2/../../../../lib64/libc.a(libc-start.o): In function `__libc_start_main':
- * * (.opd+0x10): multiple definition of `__libc_start_main' */
int ___libc_start_main (int (*main) (int argc, char **argv),
int argc, char **argv,
void (*init) (void), void (*fini) (void),
@@ -472,9 +561,7 @@
void (*fini) (void);
};
-/* /usr/lib/gcc/ppc64-redhat-linux/4.1.2/../../../../lib64/libc.a(libc-start.o): In function `__libc_start_main':
- * (.opd+0x10): multiple definition of `__libc_start_main' */
-int ___libc_start_main (int argc, char **argv, char **ev,
+int __libc_start_main (int argc, char **argv, char **ev,
void *auxvec, void (*rtld_fini) (void),
struct startup_info *stinfo,
char **stack_on_entry)

1093
SPECS/powerel-lsb.spec

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save