Compare commits

..

No commits in common. "rawhide" and "f27" have entirely different histories.

11 changed files with 1199 additions and 213 deletions

3
.gitignore vendored
View file

@ -1,5 +1,2 @@
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

View file

@ -0,0 +1,26 @@
--- 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)

View file

@ -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
redhat-lsb-aarch64.patch Normal file
View file

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

45
redhat-lsb-arm.patch Normal file
View file

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

View file

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

View file

@ -1,25 +0,0 @@
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

134
redhat-lsb-trigger.patch Normal file
View file

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

View file

@ -1,222 +1,753 @@
# globals for redhat-lsb-20231006git8d00acdc.tar.gz
%global gitdate 20231006
%global gitversion 8d00acdc
# Define this to link to which library version eg. /lib64/ld-lsb-x86-64.so.3
%global lsbsover 3
%global snapshot %{gitdate}git%{gitversion}
%global gver .%{gitdate}git%{gitversion}
%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 upstreamlsbrelver 2.0
%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
%global lsbrelver 4.1
%global srcrelease 1
Summary: Partial implementation of Linux Standard Base specification
Summary: Implementation of Linux Standard Base specification
Name: redhat-lsb
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: help2man
Requires: util-linux
Version: 4.1
Release: 39%{?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
BuildRequires: glibc-static
BuildRequires: perl-generators
BuildRequires: perl(Getopt::Long)
%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}
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.
%{disclaimer}
%package submod-security
Summary: LSB Security submodule support
Requires: nspr%{?_isa}
# Requires: nspr-devel
Requires: nss%{?_isa}
The lsb package provides utilities, libraries etc. needed for LSB Compliant
Applications.
Provides: lsb-submod-security-%{archname} = %{version}-%{release}
Provides: lsb-submod-security-noarch = %{version}-%{release}
%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: /usr/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 -n redhat-lsb-%{snapshot}
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p0 -b .triggerfix
%patch3 -p1 -b .arm
%patch4 -p1 -b .aarch64
%build
cd lsb_release/src
%make_build
cd lsb-release-%{upstreamlsbrelver}
make
%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
pushd redhat-lsb
%make_install
popd
# 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 lsb_release/src
make mandir=%{buildroot}%{_mandir} prefix=%{buildroot}%{_prefix} 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
#prepare installation of doc
cp -p lsb_release/src/COPYING .
cp -p lsb_release/src/README README.lsb_release
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}
gcc $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
gcc $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 <lua>
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 <lua>
os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules")
os.remove("%{_datadir}/lsb/%{lsbrelver}/modules")
os.remove("%{_datadir}/lsb/%{lsbrelver}")
os.remove("%{_datadir}/lsb")
%postun core -p <lua>
os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules")
os.remove("%{_datadir}/lsb/%{lsbrelver}/modules")
os.remove("%{_datadir}/lsb/%{lsbrelver}")
os.remove("%{_datadir}/lsb")
%postun cxx -p <lua>
os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules")
os.remove("%{_datadir}/lsb/%{lsbrelver}/modules")
os.remove("%{_datadir}/lsb/%{lsbrelver}")
os.remove("%{_datadir}/lsb")
%postun desktop -p <lua>
os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules")
os.remove("%{_datadir}/lsb/%{lsbrelver}/modules")
os.remove("%{_datadir}/lsb/%{lsbrelver}")
os.remove("%{_datadir}/lsb")
%postun languages -p <lua>
os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules")
os.remove("%{_datadir}/lsb/%{lsbrelver}/modules")
os.remove("%{_datadir}/lsb/%{lsbrelver}")
os.remove("%{_datadir}/lsb")
%postun printing -p <lua>
os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules")
os.remove("%{_datadir}/lsb/%{lsbrelver}/modules")
os.remove("%{_datadir}/lsb/%{lsbrelver}")
os.remove("%{_datadir}/lsb")
%postun trialuse -p <lua>
os.remove("%{_datadir}/lsb/%{lsbrelver}/submodules")
os.remove("%{_datadir}/lsb/%{lsbrelver}/modules")
os.remove("%{_datadir}/lsb/%{lsbrelver}")
os.remove("%{_datadir}/lsb")
%files
%doc README.md README.lsb_release
%{_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
%license COPYING
%{_sysconfdir}/redhat-lsb
%{_mandir}/*/lsb_release*
%{_bindir}/lsb_release
%dir %{_sysconfdir}/lsb-release.d
%{_mandir}/*/*
%{_bindir}/*
#/bin/mailx
/bin/redhat_lsb_init
/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 <releng@fedoraproject.org> - 5.0-0.17.20231006git8d00acdc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Apr 16 2025 Sérgio Basto <sergio@serjux.com> - 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 <releng@fedoraproject.org> - 5.0-0.15.20231006git8d00acdc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Dec 07 2024 Sérgio Basto <sergio@serjux.com> - 5.0-0.14.20231006git8d00acdc
- (#2330590) Fix Unexpadned macro
* Thu Nov 28 2024 Sérgio Basto <sergio@serjux.com> - 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ý <msuchy@redhat.com> - 5.0-0.12.20231006git8d00acdc
- convert license to SPDX
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.0-0.11.20231006git8d00acdc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jun 04 2024 Sérgio Basto <sergio@serjux.com> - 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 <sergio@serjux.com> - 5.0-0.9.20231006git8d00acdc
- Add conflicts required by Fedora package guidelines
* Sat Feb 17 2024 Sérgio Basto <sergio@serjux.com> - 5.0-0.8.20231006git8d00acdc
- Globalize disclamer
- Add Requires of ncurses which includes infocmp, tic and tput
* Tue Feb 06 2024 Sérgio Basto <sergio@serjux.com> - 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 <releng@fedoraproject.org> - 5.0-0.6.20231006git8d00acdc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.0-0.5.20231006git8d00acdc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Oct 25 2023 Sérgio Basto <sergio@serjux.com> - 5.0-0.4.20231006git8d00acdc
- Recommends the software which is not available on epel
* Sat Oct 07 2023 Sérgio Basto <sergio@serjux.com> - 5.0-0.3.20231006git8d00acdc
- Fix some requires mostly on epel9
* Fri Oct 06 2023 Sérgio Basto <sergio@serjux.com> - 5.0-0.2.20231006gita9c49411
- Update README.md with actual status
* Fri Oct 06 2023 Sérgio Basto <sergio@serjux.com> - 5.0-0.1.20231006git92f8ab57
- redhat-lsb 5.0 with new source location
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-62
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Apr 10 2023 Sérgio Basto <sergio@serjux.com> - 4.1-61
- Remove "Trial Use" specs, because LSB 5.0 Trial Use is completely outdated
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-60
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-59
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jul 02 2022 Sérgio Basto <sergio@serjux.com> - 4.1-58
- Require libxcrypt-compat in core, as libcrypt.so.1 is mandatory (rhbz#2055953)
* Mon Jun 27 2022 Sérgio Basto <sergio@serjux.com> - 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 <releng@fedoraproject.org> - 4.1-56
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-55
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue May 25 2021 Florian Weimer <fweimer@redhat.com> - 4.1-54
- Remove unnecessary redhat_lsb_trigger.* programs (#1964367)
* Tue May 25 2021 Florian Weimer <fweimer@redhat.com> - 4.1-53
- Do not call non-existing lsn program on glibc updates (#1625584)
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-52
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-51
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Feb 03 2020 Tom Stellard <tstellar@redhat.com> - 4.1-50
- Use macros when invoking for invoking make and gcc
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-48
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Feb 07 2019 Than Ngo <than@redhat.com> - 4.1-47
- fixed FTBS in f30
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-46
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Feb 19 2018 Parag Nemade <pnemade AT redhat DOT com> - 4.1-44
- Add BuildRequires: gcc as per packaging guidelines
* Tue Feb 13 2018 Than Ngo <than@redhat.com> - 4.1-43
- fixed FTBS
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.1-41
- greps are now in /usr/bin
* Mon Nov 13 2017 Sébastien Santoro <dereckson@espace-win.org> - 4.1-40
- Resolves:rh#1512650: /bin/mailx is still in /bin
* Mon Nov 13 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.1-39
- /bin/ed is in /usr/bin/ed now
- /usr/bin/*grep are in /bin still
* Thu Nov 09 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.1-38
- change /bin requirements to /usr/bin

View file

@ -0,0 +1,72 @@
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}

View file

@ -1 +1 @@
SHA512 (redhat-lsb-20231006git8d00acdc.tar.gz) = c6c357c48fbc7805fd40a69c08f0a64589d57a9c25e9afff6b5a5e7d215ded6a6f16feefd3d5cd79d6ef39e0c2d1a2699860e3feeab37e5349e9cb1fe407b5a6
9c1e474cb81c0ee1941c3129e0e50ea1 redhat-lsb-4.1-1.tar.bz2