diff --git a/.gitignore b/.gitignore index 997938c..7ceefad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ redhat-lsb-4.0-1.tar.bz2 /redhat-lsb-4.1-1.tar.bz2 +/redhat-lsb-20231006git92f8ab57.tar.gz +/redhat-lsb-20231006gita9c49411.tar.gz +/redhat-lsb-20231006git8d00acdc.tar.gz diff --git a/lsb-release-2.0-disable-etc-lsb-release.patch b/lsb-release-2.0-disable-etc-lsb-release.patch deleted file mode 100644 index 49db48d..0000000 --- a/lsb-release-2.0-disable-etc-lsb-release.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- lsb-release-2.0.orig/lsb_release 2004-07-01 03:30:34.000000000 +1000 -+++ lsb-release-2.0/lsb_release 2005-08-03 23:31:58.000000000 +1000 -@@ -188,15 +188,6 @@ - - # Get/Init LSB infos (maybe Distrib infos too) - GetLSBInfo() { -- if [ -f "$INFO_ROOT/$INFO_LSB_FILE" ] -- then -- # should init at least LSB_VERSION -- . "$INFO_ROOT/$INFO_LSB_FILE" -- fi -- if [ -z "$LSB_VERSION" ] -- then -- LSB_VERSION=$MSG_NA -- else - # if we found LSB_VERSION, continue to look in directory - if [ -d "$INFO_ROOT/$INFO_LSB_DIR" ] - then -@@ -205,7 +196,6 @@ - LSB_VERSION=$LSB_VERSION:`basename $tag` - done - fi -- fi - } - - # Get the whole distrib information string (from ARG $1 file) diff --git a/lsb-release-3.1-update-init-functions.patch b/lsb-release-3.1-update-init-functions.patch deleted file mode 100644 index 1211cb7..0000000 --- a/lsb-release-3.1-update-init-functions.patch +++ /dev/null @@ -1,32 +0,0 @@ -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 - 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 "$@" - } - diff --git a/redhat-lsb-aarch64.patch b/redhat-lsb-aarch64.patch deleted file mode 100644 index 3701d95..0000000 --- a/redhat-lsb-aarch64.patch +++ /dev/null @@ -1,131 +0,0 @@ -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); -@@ -682,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, diff --git a/redhat-lsb-arm.patch b/redhat-lsb-arm.patch deleted file mode 100644 index 42fcea8..0000000 --- a/redhat-lsb-arm.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- 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 \ diff --git a/redhat-lsb-lsb_start_daemon-fix.patch b/redhat-lsb-lsb_start_daemon-fix.patch deleted file mode 100644 index 69f5f28..0000000 --- a/redhat-lsb-lsb_start_daemon-fix.patch +++ /dev/null @@ -1,43 +0,0 @@ -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 $? diff --git a/redhat-lsb-snapshot.sh b/redhat-lsb-snapshot.sh new file mode 100755 index 0000000..f2e8df7 --- /dev/null +++ b/redhat-lsb-snapshot.sh @@ -0,0 +1,25 @@ +package=redhat-lsb +branch=main +commit=HEAD + +if [ ! -d redhat-lsb.pagure ]; then + git clone ssh://git@pagure.io/redhat-lsb.git redhat-lsb.pagure +fi + +pushd redhat-lsb.pagure +tag=$(git rev-list HEAD -n 1 | cut -c 1-8) +date=$(git log -1 --format=%cd --date=short | tr -d \-) +git archive --prefix="${package}-${date}git${tag}/" --format=tar ${branch} | gzip > ../${package}-${date}git${tag}.tar.gz +popd + +echo \# globals for ${package}-${date}git${tag}.tar.gz +echo %global gitdate ${date} +echo %global gitversion ${tag} + +sed -i "s|^# globals for .*|# globals for ${package}-${date}git${tag}.tar.gz|" redhat-lsb.spec +sed -i "s|^%global gitdate .*|%global gitdate ${date}|" redhat-lsb.spec +sed -i "s|^%global gitversion .*|%global gitversion ${tag}|" redhat-lsb.spec + +echo fedpkg new-sources $(spectool -l --sources redhat-lsb.spec | sed 's/.*: //;s/.*\///') +echo \MSG="\"Update README.md with actual status\"" +echo rpmdev-bumpspec -c \"\$MSG\" $(basename $(pwd)).spec diff --git a/redhat-lsb-trigger.patch b/redhat-lsb-trigger.patch deleted file mode 100644 index c2bab3c..0000000 --- a/redhat-lsb-trigger.patch +++ /dev/null @@ -1,134 +0,0 @@ ---- 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) diff --git a/redhat-lsb.spec b/redhat-lsb.spec index c4902ee..f7e51a2 100644 --- a/redhat-lsb.spec +++ b/redhat-lsb.spec @@ -1,757 +1,180 @@ -# Define this to link to which library version eg. /lib64/ld-lsb-x86-64.so.3 -%global lsbsover 3 +# globals for redhat-lsb-20231006git8d00acdc.tar.gz +%global gitdate 20231006 +%global gitversion 8d00acdc -%ifarch %{ix86} -%global ldso ld-linux.so.2 -%global lsbldso ld-lsb.so -%endif - -%ifarch ia64 -%global ldso ld-linux-ia64.so.2 -%global lsbldso ld-lsb-ia64.so -%endif - -%ifarch ppc -%global ldso ld.so.1 -%global lsbldso ld-lsb-ppc32.so -%endif - -%ifarch ppc64 -%global ldso ld64.so.1 -%global lsbldso ld-lsb-ppc64.so -%endif - -%ifarch ppc64le -%global ldso ld64.so.2 -%global lsbldso ld-lsb-ppc64le.so -%endif - -%ifarch s390 -%global ldso ld.so.1 -%global lsbldso ld-lsb-s390.so -%endif - -%ifarch s390x -%global ldso ld64.so.1 -%global lsbldso ld-lsb-s390x.so -%endif - -%ifarch x86_64 -%global ldso ld-linux-x86-64.so.2 -%global lsbldso ld-lsb-x86-64.so -%endif - -%ifarch %{arm} -%global ldso ld-linux.so.2 -%global lsbldso ld-lsb-arm.so -%endif - -%ifarch aarch64 -%global ldso ld-linux-aarch64.so.1 -%global lsbldso ld-lsb-aarch64.so -%endif +%global snapshot %{gitdate}git%{gitversion} +%global gver .%{gitdate}git%{gitversion} %global upstreamlsbrelver 2.0 -%global lsbrelver 4.1 -%global srcrelease 1 +%global lsbrelver 5.0 +%global disclaimer This package is not compliance with LSB, because various \ +components are missing from Fedora or EPEL, so compliance is not possible. \ +Fedora or EPEL explicitly declines add support the missing components from LSB \ +5.0 or earlier because these components are very outdated and have been \ +removed from the repositories and possibly replaced with new ones. \ +This package tries its best to comply with the LSB. Hoping to be helpful and \ +continue to support the LSB project and software that uses it -# for >= f28, __brp_ldconfig is added in __os_install_post, it removes the symlink %%{lsbldso} -# and thus leading to the FTBS. -%global __brp_ldconfig %{nil} - -Summary: Implementation of Linux Standard Base specification +Summary: Partial implementation of Linux Standard Base specification Name: redhat-lsb -Version: 4.1 -Release: 52%{?dist} -URL: http://www.linuxfoundation.org/collaborate/workgroups/lsb -Source0: https://fedorahosted.org/releases/r/e/redhat-lsb/%{name}-%{version}-%{srcrelease}.tar.bz2 -Patch0: lsb-release-3.1-update-init-functions.patch -Patch1: redhat-lsb-lsb_start_daemon-fix.patch -Patch2: redhat-lsb-trigger.patch -Patch3: redhat-lsb-arm.patch -Patch4: redhat-lsb-aarch64.patch -License: GPLv2 +Version: 5.0 +Release: 0.17%{gver}%{?dist} +URL: https://wiki.linuxfoundation.org/lsb/start +# https://github.com/LinuxStandardBase/lsb-samples/ +Source0: redhat-lsb-%{snapshot}.tar.gz +# Automatically converted from old format: GPLv2 - review is highly recommended. +License: GPL-2.0-only BuildRequires: make -BuildRequires: glibc-static -BuildRequires: perl-generators -BuildRequires: perl(Getopt::Long) -BuildRequires: gcc - -%ifarch %{ix86} -%global archname ia32 -%endif -%ifarch ia64 -%global archname ia64 -%endif -%ifarch ppc -%global archname ppc32 -%endif -%ifarch ppc64 -%global archname ppc64 -%endif -%ifarch ppc64le -%global archname ppc64le -%endif -%ifarch s390 -%global archname s390 -%endif -%ifarch s390x -%global archname s390x -%endif -%ifarch x86_64 -%global archname amd64 -%endif -%ifarch %{arm} -%global archname arm -%endif -%ifarch aarch64 -%global archname aarch64 -%endif - -ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le - -Requires: redhat-lsb-core%{?_isa} = %{version}-%{release} -Requires: redhat-lsb-cxx%{?_isa} = %{version}-%{release} -Requires: redhat-lsb-desktop%{?_isa} = %{version}-%{release} -Requires: redhat-lsb-languages = %{version}-%{release} -Requires: redhat-lsb-printing = %{version}-%{release} -#Requires: redhat-lsb-trialuse = %%{version}-%%{release} +BuildRequires: help2man +Requires: util-linux Provides: lsb = %{version}-%{release} -Provides: lsb-%{archname} = %{version}-%{release} Provides: lsb-noarch = %{version}-%{release} +Obsoletes: redhat-lsb-trialuse < 5 +Obsoletes: redhat-lsb-submod-multimedia < 5 +Obsoletes: redhat-lsb-submod-security < 5 +Obsoletes: redhat-lsb-core <= 5.0-0.12 +Obsoletes: redhat-lsb-cxx <= 5.0-0.12 +Obsoletes: redhat-lsb-desktop <= 5.0-0.12 +Obsoletes: redhat-lsb-languages <= 5.0-0.12 +Obsoletes: redhat-lsb-printing <= 5.0-0.12 +Obsoletes: redhat-lsb-supplemental <= 5.0-0.12 +Conflicts: lsb_release + +BuildArch: noarch %description The Linux Standard Base (LSB) is an attempt to develop a set of standards that -will increase compatibility among Linux distributions. It is designed to be +will increase compatibility among Linux distributions. It is designed to be binary-compatible and produce a stable application binary interface (ABI) for independent software vendors. -The lsb package provides utilities, libraries etc. needed for LSB Compliant -Applications. It also contains requirements that will ensure that all -components required by the LSB are installed on the system. -%package submod-security -Summary: LSB Security submodule support -Requires: nspr%{?_isa} -# Requires: nspr-devel -Requires: nss%{?_isa} +%{disclaimer} -Provides: lsb-submod-security-%{archname} = %{version}-%{release} -Provides: lsb-submod-security-noarch = %{version}-%{release} +The lsb package provides utilities, libraries etc. needed for LSB Compliant +Applications. -%description submod-security -The Linux Standard Base (LSB) Security submodule specifications define -components that are required to be present on an LSB conforming system. - -%package submod-multimedia -Summary: LSB Multimedia submodule support -Requires: alsa-lib%{?_isa} - -Provides: lsb-submod-multimedia-%{archname} = %{version}-%{release} -Provides: lsb-submod-multimedia-noarch = %{version}-%{release} - -%description submod-multimedia -The Linux Standard Base (LSB) Multimedia submodule specifications define -components that are required to be present on an LSB conforming system. - -%package core -Summary: LSB Core module support -# gLSB Library -Requires: glibc%{?_isa} -Requires: glibc-common -Requires: libgcc%{?_isa} -#LSB requires libncurses.so.5 for some reason -Requires: ncurses-compat-libs%{?_isa} -Requires: pam%{?_isa} -Requires: zlib%{?_isa} - -# gLSB Command and Utilities -Requires: /usr/bin/[ -Requires: /usr/bin/ar -Requires: /usr/bin/at -Requires: /usr/bin/awk -Requires: /usr/bin/basename -Requires: /usr/bin/batch -Requires: /usr/bin/bc -Requires: /usr/bin/cat -Requires: /usr/bin/chfn -Requires: /usr/bin/chgrp -Requires: /usr/bin/chmod -Requires: /usr/bin/chown -Requires: /usr/bin/chsh -Requires: /usr/bin/cksum -Requires: /usr/bin/cmp -Requires: /usr/bin/col -Requires: /usr/bin/comm -Requires: /usr/bin/cp -Requires: /usr/bin/cpio -Requires: /usr/bin/crontab -Requires: /usr/bin/csplit -Requires: /usr/bin/cut -Requires: /usr/bin/date -Requires: /usr/bin/dd -Requires: /usr/bin/df -Requires: /usr/bin/diff -Requires: /usr/bin/dirname -Requires: /usr/bin/dmesg -Requires: /usr/bin/du -Requires: /usr/bin/echo -Requires: /usr/bin/ed -Requires: /usr/bin/egrep -Requires: /usr/bin/env -Requires: /usr/bin/expand -Requires: /usr/bin/expr -Requires: /usr/bin/false -Requires: /usr/bin/fgrep -Requires: /usr/bin/file -Requires: /usr/bin/find -Requires: /usr/bin/fold -Requires: /usr/sbin/fuser -Requires: /usr/bin/gencat -Requires: /usr/bin/getconf -Requires: /usr/bin/gettext -Requires: /usr/bin/grep -Requires: /usr/sbin/groupadd -Requires: /usr/sbin/groupdel -Requires: /usr/sbin/groupmod -Requires: /usr/bin/groups -Requires: /usr/bin/gunzip -Requires: /usr/bin/gzip -Requires: /usr/bin/head -Requires: /usr/bin/hostname -Requires: /usr/bin/iconv -Requires: /usr/bin/id -Requires: /usr/bin/install -Requires: /usr/bin/ipcrm -Requires: /usr/bin/ipcs -Requires: /usr/bin/join -Requires: /usr/bin/kill -Requires: /usr/bin/killall -Requires: /usr/bin/ln -Requires: /usr/bin/locale -Requires: /usr/bin/localedef -Requires: /usr/bin/logger -Requires: /usr/bin/logname -Requires: /usr/bin/lp -Requires: /usr/bin/lpr -Requires: /usr/bin/ls -Requires: /usr/bin/m4 -Requires: /bin/mailx -Requires: /usr/bin/make -Requires: /usr/bin/man -Requires: /usr/bin/md5sum -Requires: /usr/bin/mkdir -Requires: /usr/bin/mkfifo -Requires: /usr/bin/mknod -Requires: /usr/bin/mktemp -Requires: /usr/bin/more -Requires: /usr/bin/mount -Requires: /usr/bin/msgfmt -Requires: /usr/bin/mv -Requires: /usr/bin/newgrp -Requires: /usr/bin/nice -Requires: /usr/bin/nl -Requires: /usr/bin/nohup -Requires: /usr/bin/od -Requires: /usr/bin/passwd -Requires: /usr/bin/paste -Requires: /usr/bin/patch -Requires: /usr/bin/pathchk -#better POSIX conformance of /usr/bin/pax -Requires: spax -Requires: /usr/bin/pidof -Requires: /usr/bin/pr -Requires: /usr/bin/printf -Requires: /usr/bin/ps -Requires: /usr/bin/pwd -Requires: /usr/bin/renice -Requires: /usr/bin/rm -Requires: /usr/bin/rmdir -Requires: /usr/bin/sed -Requires: /usr/sbin/sendmail -Requires: /usr/bin/seq -Requires: /usr/bin/sh -Requires: /usr/sbin/shutdown -Requires: /usr/bin/sleep -Requires: /usr/bin/sort -Requires: /usr/bin/split -Requires: /usr/bin/strings -Requires: /usr/bin/strip -Requires: /usr/bin/stty -Requires: /usr/bin/su -Requires: /usr/bin/sync -Requires: /usr/bin/tail -Requires: /usr/bin/tar -Requires: /usr/bin/tee -Requires: /usr/bin/test -Requires: /usr/bin/time -Requires: /usr/bin/touch -Requires: /usr/bin/tr -Requires: /usr/bin/true -Requires: /usr/bin/tsort -Requires: /usr/bin/tty -Requires: /usr/bin/umount -Requires: /usr/bin/uname -Requires: /usr/bin/unexpand -Requires: /usr/bin/uniq -Requires: /usr/sbin/useradd -Requires: /usr/sbin/userdel -Requires: /usr/sbin/usermod -Requires: /usr/bin/wc -Requires: /usr/bin/xargs -Requires: /usr/bin/zcat -Requires: redhat-lsb-submod-security%{?_isa} = %{version}-%{release} - -Provides: lsb-core-%{archname} = %{version}-%{release} -Provides: lsb-core-noarch = %{version}-%{release} -#Obsoletes: redhat-lsb < %%{version}-%%{release} - -%description core -The Linux Standard Base (LSB) Core module support provides the fundamental -system interfaces, libraries, and runtime environment upon which all conforming -applications and libraries depend. - -%package cxx -Summary: LSB CXX module support -Requires: libstdc++%{?_isa} -Requires: redhat-lsb-core%{?_isa} = %{version}-%{release} - -Provides: lsb-cxx-%{archname} = %{version}-%{release} -Provides: lsb-cxx-noarch = %{version}-%{release} - -%description cxx -The Linux Standard Base (LSB) CXX module supports the core interfaces by -providing system interfaces, libraries, and a runtime environment for -applications built using the C++ programming language. These interfaces -provide low-level support for the core constructs of the language, and -implement the standard base C++ libraries. - -%package desktop -Summary: LSB Desktop module support -Requires: xdg-utils -# LSB_Graphics library -Requires: libICE%{?_isa} -Requires: libSM%{?_isa} -Requires: libX11%{?_isa} -Requires: libXext%{?_isa} -Requires: libXi%{?_isa} -Requires: libXt%{?_isa} -Requires: libXtst%{?_isa} -Requires: mesa-libGL%{?_isa} -Requires: mesa-libGLU%{?_isa} -# gLSB Graphics and gLSB Graphics Ext Command and Utilities -Requires: /usr/bin/fc-cache -Requires: /usr/bin/fc-list -Requires: /usr/bin/fc-match -# gLSB Graphics Ext library -Requires: cairo%{?_isa} -Requires: freetype%{?_isa} -Requires: libjpeg-turbo%{?_isa} - -%ifarch %{ix86} ppc s390 arm -Requires: libpng12.so.0 -%endif -%ifarch x86_64 ppc64 s390x aarch64 ppc64le -Requires: libpng12.so.0()(64bit) -%endif -Requires: libpng%{?_isa} -Requires: libXft%{?_isa} -Requires: libXrender%{?_isa} -# toolkit-gtk -Requires: atk%{?_isa} -Requires: gdk-pixbuf2%{?_isa} -Requires: glib2%{?_isa} -Requires: gtk2%{?_isa} -Requires: pango%{?_isa} -# toolkit-qt -Requires: qt%{?_isa} -Requires: qt-x11%{?_isa} -# toolkit-qt3 -Requires: qt3%{?_isa} -# xml -Requires: libxml2%{?_isa} -Requires: redhat-lsb-submod-multimedia%{?_isa} = %{version}-%{release} -Requires: redhat-lsb-core%{?_isa} = %{version}-%{release} - -Provides: lsb-desktop-%{archname} = %{version}-%{release} -Provides: lsb-desktop-noarch = %{version}-%{release} -Provides: lsb-graphics-%{archname} = %{version}-%{release} -Provides: lsb-graphics-noarch = %{version}-%{release} -Obsoletes: redhat-lsb-graphics < %{version}-%{release} - -%description desktop -The Linux Standard Base (LSB) Desktop Specifications define components that are -required to be present on an LSB conforming system. - -%package languages -Summary: LSB Languages module support -# Perl and Perl non-builtin modules -Requires: /usr/bin/perl -Requires: perl(CGI) -Requires: perl(Class::ISA) -Requires: perl(CPAN) -# Locale::Constants has been Locale::Codes::Costants, so we need -# create a /usr/share/perl5/vendor_perl/Constants.pm manually. -# Requires: perl(Locale::Constants) -# perl(Locale::Constants) requires perl(Locale::Codes) -# DB module is a builtin module, but perl package doesn't contain this provide. -# Requires: perl(DB) -# we also need perl(Pod::Plainer), we need to rpm this package ourself -Requires: perl(Locale::Codes) -Requires: perl(File::Spec) -Requires: perl(Scalar::Util) -Requires: perl(Test::Harness) -Requires: perl(Test::Simple) -Requires: perl(ExtUtils::MakeMaker) -Requires: perl(Pod::Plainer) -Requires: perl(XML::LibXML) -Requires: perl(Pod::LaTeX) -Requires: perl(Pod::Checker) -Requires: perl(B::Lint) -Requires: perl(Text::Soundex) -Requires: perl(Env) -Requires: perl(Time::HiRes) -Requires: perl(Locale::Maketext) -Requires: perl(Fatal) -Requires: perl(File::CheckTree) -Requires: perl(Sys::Syslog) -Requires: perl(Getopt::Long) - -# python -Requires: /usr/bin/python -# java -Requires: redhat-lsb-core%{?_isa} = %{version}-%{release} - -Provides: lsb-languages-%{archname} = %{version}-%{release} -Provides: lsb-languages-noarch = %{version}-%{release} - -%description languages -The Linux Standard Base (LSB) Languages module supports components for runtime -languages which are found on an LSB conforming system. - -%package printing -Summary: LSB Printing module support -# gLSB Printing Libraries -Requires: cups-libs -# gLSB Printing Command and Utilities -Requires: /usr/bin/foomatic-rip -Requires: /usr/bin/gs -Requires: redhat-lsb-core%{?_isa} = %{version}-%{release} - -Provides: lsb-printing-%{archname} = %{version}-%{release} -Provides: lsb-printing-noarch = %{version}-%{release} -Obsoletes: redhat-lsb-printing < %{version}-%{release} - -%description printing -The Linux Standard Base (LSB) Printing specifications define components that -are required to be present on an LSB conforming system. - -%package trialuse -Summary: LSB Trialuse module support -Requires: redhat-lsb-submod-multimedia%{?_isa} = %{version}-%{release} -Requires: redhat-lsb-submod-security%{?_isa} = %{version}-%{release} -Requires: redhat-lsb-core%{?_isa} = %{version}-%{release} - -Provides: lsb-trialuse-%{archname} = %{version}-%{release} -Provides: lsb-trialuse-noarch = %{version}-%{release} - -%description trialuse -The Linux Standard Base (LSB) Trialuse module support defines components -which are not required parts of the LSB Specification. - -%package supplemental -Summary: LSB supplemental dependencies required by LSB certification tests -Requires: net-tools -Requires: xorg-x11-fonts-ISO8859-1-75dpi -Requires: xorg-x11-fonts-ISO8859-1-100dpi -Requires: abattis-cantarell-fonts -Requires: sil-abyssinica-fonts -Requires: xorg-x11-server-Xvfb - -%description supplemental -This subpackage brings in supplemental dependencies for components required for -passing LSB (Linux Standard Base) certification testsuite, but not directly required -to be on LSB conforming system. %prep -%setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p0 -b .triggerfix -%patch3 -p1 -b .arm -%patch4 -p1 -b .aarch64 +%setup -q -n redhat-lsb-%{snapshot} %build -cd lsb-release-%{upstreamlsbrelver} +cd lsb_release/src %make_build -%pre -# remove the extra symlink /bin/mailx -> /bin/mail -if [ -e /bin/mailx ]; then - if [ -L /bin/mailx ]; then - rm -f /bin/mailx - fi -fi - %install -# LSB uses /usr/lib rather than /usr/lib64 even for 64bit OS -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} $RPM_BUILD_ROOT/%{_lib} $RPM_BUILD_ROOT%{_mandir} \ - $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT/usr/lib/lsb \ - $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/ $RPM_BUILD_ROOT%{_sbindir} \ - $RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver} +pushd redhat-lsb +%make_install +popd -# manually add Locale::Constants. This module is just an alias of Locale::Codes::Constants -mkdir -p $RPM_BUILD_ROOT%{perl_vendorlib}/Locale -cp -p Constants.pm $RPM_BUILD_ROOT%{perl_vendorlib}/Locale -cp -p Constants.pod $RPM_BUILD_ROOT%{perl_vendorlib}/Locale - -make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" -cd lsb-release-%{upstreamlsbrelver} -make mandir=$RPM_BUILD_ROOT/%{_mandir} prefix=$RPM_BUILD_ROOT/%{_prefix} install -cd .. -# we keep more lsb information in /usr/share/lsb -mkdir -p $RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules -mkdir -p $RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/submodules +pushd lsb_release/src +make mandir=%{buildroot}%{_mandir} prefix=%{buildroot}%{_prefix} install +popd #prepare installation of doc -cp -p lsb-release-2.0/COPYING . -cp -p lsb-release-2.0/README README.lsb_release - -# relations between modules and submodules -modules="core cxx desktop languages printing trialuse" -submodules="core perl python cpp toolkit-gtk toolkit-qt toolkit-qt3" -submodules="${submodules} xml multimedia security desktop-misc graphics graphics-ext" -submodules="${submodules} printing" - -core="core security" -cxx="cpp" -desktop="desktop-misc graphics graphics-ext multimedia toolkit-gtk toolkit-qt toolkit-qt3" -desktop="${desktop} xml" -languages="perl python" -printing="printing" -trialuse="security multimedia" - -for mod in ${modules};do - touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/${mod}-%{lsbrelver}-%{archname} - touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/${mod}-%{lsbrelver}-noarch -done - -for submod in ${submodules};do - touch $RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/submodules/${submod}-%{lsbrelver}-%{archname} - touch $RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/submodules/${submod}-%{lsbrelver}-noarch -done -for moddir in ${modules};do - mkdir -p $RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/${moddir} -done - -for submod in ${core};do - ln -snf ../../submodules/${submod}-%{lsbrelver}-%{archname} \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/core/${submod}-%{lsbrelver}-%{archname} - ln -snf ../../submodules/${submod}-%{lsbrelver}-noarch \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/core/${submod}-%{lsbrelver}-noarch -done -for submod in ${cxx};do - ln -snf ../../submodules/${submod}-%{lsbrelver}-%{archname} \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/cxx/${submod}-%{lsbrelver}-%{archname} - ln -snf ../../submodules/${submod}-%{lsbrelver}-noarch \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/cxx/${submod}-%{lsbrelver}-noarch -done -for submod in ${desktop};do - ln -snf ../../submodules/${submod}-%{lsbrelver}-%{archname} \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/desktop/${submod}-%{lsbrelver}-%{archname} - ln -snf ../../submodules/${submod}-%{lsbrelver}-noarch \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/desktop/${submod}-%{lsbrelver}-noarch -done -for submod in ${languages};do - ln -snf ../../submodules/${submod}-%{lsbrelver}-%{archname} \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/languages/${submod}-%{lsbrelver}-%{archname} - ln -snf ../../submodules/${submod}-%{lsbrelver}-noarch \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/languages/${submod}-%{lsbrelver}-noarch -done -for submod in ${printing};do - ln -snf ../../submodules/${submod}-%{lsbrelver}-%{archname} \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/printing/${submod}-%{lsbrelver}-%{archname} - ln -snf ../../submodules/${submod}-%{lsbrelver}-noarch \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/printing/${submod}-%{lsbrelver}-noarch -done -for submod in ${trialuse};do - ln -snf ../../submodules/${submod}-%{lsbrelver}-%{archname} \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/trialuse/${submod}-%{lsbrelver}-%{archname} - ln -snf ../../submodules/${submod}-%{lsbrelver}-noarch \ -$RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}/modules/trialuse/${submod}-%{lsbrelver}-noarch -done - -for LSBVER in %{lsbsover}; do - ln -snf %{ldso} $RPM_BUILD_ROOT/%{_lib}/%{lsbldso}.$LSBVER -done - -mkdir -p $RPM_BUILD_ROOT/bin - -# LSB uses /usr/lib rather than /usr/lib64 even for 64bit OS -# According to the lsb-core documentation provided by -# http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic.pdf -# it's OK to put non binary in /usr/lib. -ln -snf ../../../sbin/chkconfig $RPM_BUILD_ROOT/usr/lib/lsb/install_initd -ln -snf ../../../sbin/chkconfig $RPM_BUILD_ROOT/usr/lib/lsb/remove_initd -#ln -snf mail $RPM_BUILD_ROOT/bin/mailx - -#mkdir -p $RPM_BUILD_ROOT/usr/X11R6/lib/X11/xserver -#ln -snf /usr/%{_lib}/xserver/SecurityPolicy $RPM_BUILD_ROOT/usr/X11R6/lib/X11/xserver/SecurityPolicy -#ln -snf /usr/share/X11/fonts $RPM_BUILD_ROOT/usr/X11R6/lib/X11/fonts -#ln -snf /usr/share/X11/rgb.txt $RPM_BUILD_ROOT/usr/X11R6/lib/X11/rgb.txt - -# According to https://bugzilla.redhat.com/show_bug.cgi?id=232918 , the '-static' option -# is imported against segfault error while running redhat_lsb_trigger -%ifarch %{arm} aarch64 -%{__cc} $RPM_OPT_FLAGS -Os -fno-stack-protector -o redhat_lsb_trigger{.%{_target_cpu},.c} -DLSBSOVER='"%{lsbsover}"' \ - -DLDSO='"%{ldso}"' -DLSBLDSO='"/%{_lib}/%{lsbldso}"' -D_GNU_SOURCE -%else -%{__cc} $RPM_OPT_FLAGS -Os -static -fno-stack-protector -o redhat_lsb_trigger{.%{_target_cpu},.c} -DLSBSOVER='"%{lsbsover}"' \ - -DLDSO='"%{ldso}"' -DLSBLDSO='"/%{_lib}/%{lsbldso}"' -D_GNU_SOURCE -%endif -install -p -m 700 redhat_lsb_trigger.%{_target_cpu} \ - $RPM_BUILD_ROOT%{_sbindir}/redhat_lsb_trigger.%{_target_cpu} - -cp -p redhat_lsb_init $RPM_BUILD_ROOT/bin/redhat_lsb_init - -%triggerpostun -- glibc -if [ -x /usr/sbin/redhat_lsb_trigger.%{_target_cpu} ]; then - /usr/sbin/redhat_lsb_trigger.%{_target_cpu} -fi - -%ifnarch %{ix86} - /sbin/sln %{ldso} /%{_lib}/%{lsbldso} || : -%else - if [ -f /emul/ia32-linux/lib/%{ldso} ]; then - for LSBVER in %{lsbsover}; do - /sbin/sln /emul/ia32-linux/lib/%{ldso} /%{_lib}/%{lsbldso}.$LSBVER || : - done - else - for LSBVER in %{lsbsover}; do - /sbin/sln %{ldso} /%{_lib}/%{lsbldso}.$LSBVER || : - done - fi -%endif - -%postun submod-security -p -os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules") -os.remove("%{_datadir}/lsb/%{lsbrelver}/modules") -os.remove("%{_datadir}/lsb/%{lsbrelver}") -os.remove("%{_datadir}/lsb") -%postun submod-multimedia -p -os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules") -os.remove("%{_datadir}/lsb/%{lsbrelver}/modules") -os.remove("%{_datadir}/lsb/%{lsbrelver}") -os.remove("%{_datadir}/lsb") -%postun core -p -os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules") -os.remove("%{_datadir}/lsb/%{lsbrelver}/modules") -os.remove("%{_datadir}/lsb/%{lsbrelver}") -os.remove("%{_datadir}/lsb") -%postun cxx -p -os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules") -os.remove("%{_datadir}/lsb/%{lsbrelver}/modules") -os.remove("%{_datadir}/lsb/%{lsbrelver}") -os.remove("%{_datadir}/lsb") -%postun desktop -p -os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules") -os.remove("%{_datadir}/lsb/%{lsbrelver}/modules") -os.remove("%{_datadir}/lsb/%{lsbrelver}") -os.remove("%{_datadir}/lsb") -%postun languages -p -os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules") -os.remove("%{_datadir}/lsb/%{lsbrelver}/modules") -os.remove("%{_datadir}/lsb/%{lsbrelver}") -os.remove("%{_datadir}/lsb") -%postun printing -p -os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules") -os.remove("%{_datadir}/lsb/%{lsbrelver}/modules") -os.remove("%{_datadir}/lsb/%{lsbrelver}") -os.remove("%{_datadir}/lsb") -%postun trialuse -p -os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules") -os.remove("%{_datadir}/lsb/%{lsbrelver}/modules") -os.remove("%{_datadir}/lsb/%{lsbrelver}") -os.remove("%{_datadir}/lsb") +cp -p lsb_release/src/COPYING . +cp -p lsb_release/src/README README.lsb_release %files -%{_datadir}/lsb/ - -%files submod-security -%{_datadir}/lsb/%{lsbrelver}/submodules/security-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/security-%{lsbrelver}-noarch - -%files submod-multimedia -%{_datadir}/lsb/%{lsbrelver}/submodules/multimedia-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/multimedia-%{lsbrelver}-noarch - -%files core -%doc README README.lsb_release +%doc README.md README.lsb_release %license COPYING %{_sysconfdir}/redhat-lsb -%dir %{_sysconfdir}/lsb-release.d -%{_mandir}/*/* -%{_bindir}/* -#/bin/mailx -/bin/redhat_lsb_init +%{_mandir}/*/lsb_release* +%{_bindir}/lsb_release /usr/lib/lsb -/%{_lib}/*so* -/lib/lsb* -%{_sbindir}/redhat_lsb_trigger.%{_target_cpu} -%{_datadir}/lsb/%{lsbrelver}/modules/core -%{_sysconfdir}/lsb-release.d/core* -%{_datadir}/lsb/%{lsbrelver}/submodules/core-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/core-%{lsbrelver}-noarch - -%files cxx -%{_sysconfdir}/lsb-release.d/cxx* -%{_datadir}/lsb/%{lsbrelver}/modules/cxx -%{_datadir}/lsb/%{lsbrelver}/submodules/cpp-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/cpp-%{lsbrelver}-noarch - -%files desktop -%{_sysconfdir}/lsb-release.d/desktop* -%{_datadir}/lsb/%{lsbrelver}/modules/desktop -%{_datadir}/lsb/%{lsbrelver}/submodules/toolkit-gtk-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/toolkit-gtk-%{lsbrelver}-noarch -%{_datadir}/lsb/%{lsbrelver}/submodules/toolkit-qt-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/toolkit-qt-%{lsbrelver}-noarch -%{_datadir}/lsb/%{lsbrelver}/submodules/toolkit-qt3-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/toolkit-qt3-%{lsbrelver}-noarch -%{_datadir}/lsb/%{lsbrelver}/submodules/xml-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/xml-%{lsbrelver}-noarch -%{_datadir}/lsb/%{lsbrelver}/submodules/desktop-misc-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/desktop-misc-%{lsbrelver}-noarch -%{_datadir}/lsb/%{lsbrelver}/submodules/graphics-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/graphics-%{lsbrelver}-noarch -%{_datadir}/lsb/%{lsbrelver}/submodules/graphics-ext-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/graphics-ext-%{lsbrelver}-noarch - -%files languages -%{_sysconfdir}/lsb-release.d/languages* -%{_datadir}/lsb/%{lsbrelver}/modules/languages -%{_datadir}/lsb/%{lsbrelver}/submodules/perl-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/perl-%{lsbrelver}-noarch -%{perl_vendorlib}/Locale/Constants.pm -%{perl_vendorlib}/Locale/Constants.pod -%{_datadir}/lsb/%{lsbrelver}/submodules/python-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/python-%{lsbrelver}-noarch - -%files printing -%{_sysconfdir}/lsb-release.d/printing* -%{_datadir}/lsb/%{lsbrelver}/modules/printing -%{_datadir}/lsb/%{lsbrelver}/submodules/printing-%{lsbrelver}-%{archname} -%{_datadir}/lsb/%{lsbrelver}/submodules/printing-%{lsbrelver}-noarch - -%files trialuse -%{_sysconfdir}/lsb-release.d/trialuse* -%{_datadir}/lsb/%{lsbrelver}/modules/trialuse - -%files supplemental -#no files, just dependencies %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 5.0-0.17.20231006git8d00acdc +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Apr 16 2025 Sérgio Basto - 5.0-0.16.20231006git8d00acdc +- Require util-linux +- Modification of sumamry and description to express that is not compliant with LSB + +* Sat Jan 18 2025 Fedora Release Engineering - 5.0-0.15.20231006git8d00acdc +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Dec 07 2024 Sérgio Basto - 5.0-0.14.20231006git8d00acdc +- (#2330590) Fix Unexpadned macro + +* Thu Nov 28 2024 Sérgio Basto - 5.0-0.13.20231006git8d00acdc +- Remove sub-pacakges: redhat-lsb-core, redhat-lsb-cxx, redhat-lsb-desktop, + redhat-lsb-languages and redhat-lsb-printing aren't useful for a long time +- Switch to a noarch package + +* Mon Jul 29 2024 Miroslav Suchý - 5.0-0.12.20231006git8d00acdc +- convert license to SPDX + +* Fri Jul 19 2024 Fedora Release Engineering - 5.0-0.11.20231006git8d00acdc +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 04 2024 Sérgio Basto - 5.0-0.10.20231006git8d00acdc +- The packages are architecture-specific, but do not contain any ELF + binaries with debuginfo to extract, so we need disable debuginfo. + +* Sat Mar 02 2024 Sérgio Basto - 5.0-0.9.20231006git8d00acdc +- Add conflicts required by Fedora package guidelines + +* Sat Feb 17 2024 Sérgio Basto - 5.0-0.8.20231006git8d00acdc +- Globalize disclamer +- Add Requires of ncurses which includes infocmp, tic and tput + +* Tue Feb 06 2024 Sérgio Basto - 5.0-0.7.20231006git8d00acdc +- Remove require of libpng12.so.0, lsb-desktop already require libpng +- redhat-lsb now provides lsb_release, in future maybe we can remove the rest since LSB 5.0 is out of date +- more cleanups +- Report that is not LSB compliance, because various components are missing from Fedora, so compliance is not possible + +* Fri Jan 26 2024 Fedora Release Engineering - 5.0-0.6.20231006git8d00acdc +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 5.0-0.5.20231006git8d00acdc +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Oct 25 2023 Sérgio Basto - 5.0-0.4.20231006git8d00acdc +- Recommends the software which is not available on epel + +* Sat Oct 07 2023 Sérgio Basto - 5.0-0.3.20231006git8d00acdc +- Fix some requires mostly on epel9 + +* Fri Oct 06 2023 Sérgio Basto - 5.0-0.2.20231006gita9c49411 +- Update README.md with actual status + +* Fri Oct 06 2023 Sérgio Basto - 5.0-0.1.20231006git92f8ab57 +- redhat-lsb 5.0 with new source location + +* Fri Jul 21 2023 Fedora Release Engineering - 4.1-62 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Apr 10 2023 Sérgio Basto - 4.1-61 +- Remove "Trial Use" specs, because LSB 5.0 Trial Use is completely outdated + +* Fri Jan 20 2023 Fedora Release Engineering - 4.1-60 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 4.1-59 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jul 02 2022 Sérgio Basto - 4.1-58 +- Require libxcrypt-compat in core, as libcrypt.so.1 is mandatory (rhbz#2055953) + +* Mon Jun 27 2022 Sérgio Basto - 4.1-57 +- ncurses-compat-libs was dropped in F37, to workaround and fix FTI (fails to + install), since F37 we use ncurses-libs + +* Fri Jan 21 2022 Fedora Release Engineering - 4.1-56 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 4.1-55 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue May 25 2021 Florian Weimer - 4.1-54 +- Remove unnecessary redhat_lsb_trigger.* programs (#1964367) + +* Tue May 25 2021 Florian Weimer - 4.1-53 +- Do not call non-existing lsn program on glibc updates (#1625584) + * Wed Jan 27 2021 Fedora Release Engineering - 4.1-52 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/redhat-lsb.spec-arch-alpha.patch b/redhat-lsb.spec-arch-alpha.patch deleted file mode 100644 index fe09c49..0000000 --- a/redhat-lsb.spec-arch-alpha.patch +++ /dev/null @@ -1,72 +0,0 @@ -Diff against 3.1-22: -Index: redhat-lsb.spec -=================================================================== -RCS file: /cvs/pkgs/devel/redhat-lsb/redhat-lsb.spec,v -retrieving revision 1.38 -diff -u -p -r1.38 redhat-lsb.spec ---- redhat-lsb.spec 7 Aug 2008 08:46:31 -0000 1.38 -+++ redhat-lsb.spec 11 Aug 2008 10:34:20 -0000 -@@ -36,6 +36,11 @@ - %define lsbldso ld-lsb-x86-64.so - %endif - -+%ifarch alpha -+%define ldso ld-linux-alpha.so.2 -+%define lsbldso ld-lsb-alpha.so -+%endif -+ - %ifarch ia64 ppc64 s390x x86_64 - %define qual ()(64bit) - %else -@@ -82,12 +87,15 @@ Provides: lsb = %{version} - %ifarch x86_64 - %define archname amd64 - %endif -+%ifarch alpha -+%define archname alpha -+%endif - Provides: lsb-core-%{archname} = %{version} - Provides: lsb-graphics-%{archname} = %{version} - Provides: lsb-core-noarch = %{version} - Provides: lsb-graphics-noarch = %{version} - --ExclusiveArch: i386 ia64 x86_64 ppc ppc64 s390 s390x -+ExclusiveArch: i386 ia64 x86_64 ppc ppc64 s390 s390x alpha - - %ifarch %{ix86} - # archLSB IA32 Base Libraries -@@ -187,16 +195,34 @@ Requires: libc.so.6()(64bit) - Requires: libstdc++.so.6()(64bit) - %endif - -+%ifarch alpha -+# archLSB Alpha Base Libraries -+Requires: libz.so.1 -+Requires: libutil.so.1.1 -+Requires: libpthread.so.0 -+Requires: libncurses.so.5 -+Requires: libm.so.6.1 -+Requires: libgcc_s.so.1 -+Requires: libdl.so.2.1 -+Requires: libcrypt.so.1.1 -+Requires: libc.so.6.1 -+Requires: libstdc++.so.6 -+%endif -+ - # gLSB Base/Utility/Stdc++/Graphics Libraries - Requires: libz.so.1%{qual} -+%ifnarch alpha - Requires: libutil.so.1%{qual} -+%endif - Requires: librt.so.1%{qual} - Requires: libpthread.so.0%{qual} - Requires: libpam.so.0%{qual} - Requires: libncurses.so.5%{qual} - Requires: libgcc_s.so.1%{qual} -+%ifnarch alpha - Requires: libdl.so.2%{qual} - Requires: libcrypt.so.1%{qual} -+%endif - Requires: libstdc++.so.6%{qual} - Requires: libXt.so.6%{qual} - Requires: libXi.so.6%{qual} diff --git a/sources b/sources index c24d88d..1202e62 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9c1e474cb81c0ee1941c3129e0e50ea1 redhat-lsb-4.1-1.tar.bz2 +SHA512 (redhat-lsb-20231006git8d00acdc.tar.gz) = c6c357c48fbc7805fd40a69c08f0a64589d57a9c25e9afff6b5a5e7d215ded6a6f16feefd3d5cd79d6ef39e0c2d1a2699860e3feeab37e5349e9cb1fe407b5a6