[redhat-lsb] Update to 4.1 release

pnemade pnemade at fedoraproject.org
Mon Mar 19 09:15:46 UTC 2012


commit 4d8d159f616b6979d1d6402934bf77ef28ae7a8b
Author: Parag Nemade <pnemade at redhat.com>
Date:   Mon Mar 19 14:45:39 2012 +0530

    Update to 4.1 release
    
    - Added -core, -cxx, -desktop, -languages, -printing modules as subpackages
    - Added submod-security, -submod-multimedia subpackages
    - Implements http://refspecs.linux-foundation.org/LSB_4.1.0/
    - Resolves:rh#800249: new package update review by Parag.

 .gitignore      |    1 +
 redhat-lsb.spec |  768 ++++++++++++++++++++++++++-----------------------------
 sources         |    2 +-
 3 files changed, 364 insertions(+), 407 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 78bc649..997938c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 redhat-lsb-4.0-1.tar.bz2
+/redhat-lsb-4.1-1.tar.bz2
diff --git a/redhat-lsb.spec b/redhat-lsb.spec
index 47d9e66..e87f630 100644
--- a/redhat-lsb.spec
+++ b/redhat-lsb.spec
@@ -36,23 +36,16 @@
 %define lsbldso ld-lsb-x86-64.so
 %endif
 
-%ifarch ia64 ppc64 s390x x86_64
-%define qual ()(64bit)
-%else
-%define qual %{nil}
-%endif
-
 %define upstreamlsbrelver 2.0
-%define lsbrelver 4.0
+%define lsbrelver 4.1
 %define srcrelease 1
 
-Summary: LSB base libraries support for Red Hat Enterprise Linux
+Summary: Implementation of Linux Standard Base specification
 Name: redhat-lsb
-Version: 4.0
-Release: 11%{?dist}
+Version: 4.1
+Release: 1%{?dist}
 URL: http://www.linuxfoundation.org/collaborate/workgroups/lsb
-Source0: %{name}-%{version}-%{srcrelease}.tar.bz2
-#Source1: http://prdownloads.sourceforge.net/lsb/lsb-release-%{upstreamlsbrelver}.tar.gz
+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
@@ -60,9 +53,7 @@ Patch3: redhat-lsb-arm.patch
 License: GPLv2
 Group: System Environment/Base
 BuildRequires: glibc-static
-# dependency for primary LSB application for v1.3
-Provides: lsb = %{version}
-# dependency for primary LSB application for v2.0 and v3.0
+
 %ifarch %{ix86}
 %define archname ia32
 %endif
@@ -84,126 +75,67 @@ Provides: lsb = %{version}
 %ifarch x86_64
 %define archname amd64
 %endif
-Provides: lsb-core-%{archname} = %{version}
-Provides: lsb-core-noarch = %{version}
 
 ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm}
 
-%ifarch %{ix86}
-# archLSB IA32 Base Libraries
-Requires: libc.so.6
-Requires: libcrypt.so.1
-Requires: libdl.so.2
-Requires: libgcc_s.so.1
-Requires: libm.so.6
-Requires: libncurses.so.5
-Requires: libpthread.so.0
-Requires: libstdc++.so.6
-Requires: libutil.so.1
-Requires: libz.so.1
-%endif
+Requires: redhat-lsb-core%{?_isa} = %{version}
+Requires: redhat-lsb-cxx%{?_isa} = %{version}
+Requires: redhat-lsb-desktop%{?_isa} = %{version}
+Requires: redhat-lsb-languages = %{version}
+Requires: redhat-lsb-printing = %{version}
+#Requires: redhat-lsb-trialuse = %{version}
 
-%ifarch ia64
-# archLSB IA64 Base Libraries
-Requires: libc.so.6.1()(64bit)
-Requires: libcrypt.so.1()(64bit)
-Requires: libdl.so.2()(64bit)
-Requires: libgcc_s.so.1()(64bit)
-Requires: libm.so.6.1()(64bit)
-Requires: libncurses.so.5()(64bit)
-Requires: libpthread.so.0()(64bit)
-Requires: libstdc++.so.6()(64bit)
-Requires: libutil.so.1()(64bit)
-Requires: libz.so.1()(64bit)
-%endif
+Provides: lsb = %{version}
+Provides: lsb-%{archname} = %{version}
+Provides: lsb-noarch = %{version}
 
-%ifarch ppc
-# archLSB PPC32 Base Libraries
-Requires: libc.so.6
-Requires: libcrypt.so.1
-Requires: libdl.so.2
-Requires: libgcc_s.so.1
-Requires: libm.so.6
-Requires: libncurses.so.5
-Requires: libpthread.so.0
-Requires: libstdc++.so.6
-Requires: libutil.so.1
-Requires: libz.so.1
-%endif
+%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 
+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
+Group: System Environment/Base
+Summary: LSB Security submodule support
+Requires: nspr%{?_isa}
+# Requires: nspr-devel
+Requires: nss%{?_isa}
 
-%ifarch ppc64
-# archLSB PPC64 Base Libraries
-Requires: libc.so.6()(64bit)
-Requires: libcrypt.so.1()(64bit)
-Requires: libdl.so.2()(64bit)
-Requires: libgcc_s.so.1()(64bit)
-Requires: libm.so.6()(64bit)
-Requires: libncurses.so.5()(64bit)
-Requires: libpthread.so.0()(64bit)
-Requires: libstdc++.so.6()(64bit)
-Requires: libutil.so.1()(64bit)
-Requires: libz.so.1()(64bit)
-%endif
+Provides: lsb-submod-security-%{archname} = %{version}
+Provides: lsb-submod-security-noarch = %{version}
 
-%ifarch s390
-# archLSB S390 Base Libraries
-Requires: libc.so.6
-Requires: libcrypt.so.1
-Requires: libdl.so.2
-Requires: libgcc_s.so.1
-Requires: libm.so.6
-Requires: libncurses.so.5
-Requires: libpthread.so.0
-Requires: libstdc++.so.6
-Requires: libutil.so.1
-Requires: libz.so.1
-%endif
+%description submod-security
+The Linux Standard Base (LSB) Security submodule specifications define 
+components that are required to be present on an LSB conforming system.
 
-%ifarch s390x
-# archLSB S390X Base Libraries
-Requires: libc.so.6()(64bit)
-Requires: libcrypt.so.1()(64bit)
-Requires: libdl.so.2()(64bit)
-Requires: libgcc_s.so.1()(64bit)
-Requires: libm.so.6()(64bit)
-Requires: libncurses.so.5()(64bit)
-Requires: libpthread.so.0()(64bit)
-Requires: libstdc++.so.6()(64bit)
-Requires: libutil.so.1()(64bit)
-Requires: libz.so.1()(64bit)
-%endif
+%package submod-multimedia
+Group: System Environment/Base
+Summary: LSB Multimedia submodule support
+Requires: alsa-lib%{?_isa}
 
-%ifarch x86_64
-# archLSB AMD64 Base Libraries
-Requires: libc.so.6()(64bit)
-Requires: libcrypt.so.1()(64bit)
-Requires: libdl.so.2()(64bit)
-Requires: libgcc_s.so.1()(64bit)
-Requires: libm.so.6()(64bit)
-Requires: libncurses.so.5()(64bit)
-Requires: libpthread.so.0()(64bit)
-Requires: libstdc++.so.6()(64bit)
-Requires: libutil.so.1()(64bit)
-Requires: libz.so.1()(64bit)
-%endif
+Provides: lsb-submod-multimedia-%{archname} = %{version}
+Provides: lsb-submod-multimedia-noarch = %{version}
 
-# gLSB Base/Utility/Stdc++
-Requires: libcrypt.so.1%{qual}
-Requires: libdl.so.2%{qual}
-Requires: libgcc_s.so.1%{qual}
-Requires: libncurses.so.5%{qual}
-Requires: libnspr4.so%{qual}
-Requires: libnss3.so%{qual}
-Requires: libpam.so.0%{qual}
-Requires: libpthread.so.0%{qual}
-Requires: librt.so.1%{qual}
-Requires: libssl3.so%{qual}
-Requires: libstdc++.so.6%{qual}
-Requires: libutil.so.1%{qual}
-Requires: libz.so.1%{qual}
+%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
+Group: System Environment/Base
+Summary: LSB Core module support
+# gLSB Library
+Requires: glibc%{?_isa}
+Requires: glibc-common%{?_isa}
+Requires: libgcc%{?_isa}
+Requires: ncurses-libs%{?_isa}
+Requires: pam%{?_isa}
+Requires: zlib%{?_isa}
 
 # gLSB Command and Utilities
-Requires: /bin/awk
 Requires: /bin/basename
 Requires: /bin/cat
 Requires: /bin/chgrp
@@ -211,7 +143,6 @@ Requires: /bin/chmod
 Requires: /bin/chown
 Requires: /bin/cp
 Requires: /bin/cpio
-Requires: /bin/cut
 Requires: /bin/date
 Requires: /bin/dd
 Requires: /bin/df
@@ -219,11 +150,9 @@ Requires: /bin/dmesg
 Requires: /bin/echo
 Requires: /bin/ed
 Requires: /bin/egrep
-Requires: /bin/env
 Requires: /bin/false
 Requires: /bin/fgrep
 Requires: /bin/find
-Requires: /bin/gettext
 Requires: /bin/grep
 Requires: /bin/gunzip
 Requires: /bin/gzip
@@ -262,6 +191,7 @@ Requires: /sbin/shutdown
 Requires: /usr/bin/[
 Requires: /usr/bin/ar
 Requires: /usr/bin/at
+Requires: /usr/bin/awk
 Requires: /usr/bin/batch
 Requires: /usr/bin/bc
 Requires: /usr/bin/chfn
@@ -272,15 +202,19 @@ Requires: /usr/bin/col
 Requires: /usr/bin/comm
 Requires: /usr/bin/crontab
 Requires: /usr/bin/csplit
+Requires: /usr/bin/cut
 Requires: /usr/bin/diff
 Requires: /usr/bin/dirname
 Requires: /usr/bin/du
+Requires: /usr/bin/env
 Requires: /usr/bin/expand
 Requires: /usr/bin/expr
 Requires: /usr/bin/file
+Requires: /usr/bin/find
 Requires: /usr/bin/fold
 Requires: /usr/bin/gencat
 Requires: /usr/bin/getconf
+Requires: /usr/bin/gettext
 Requires: /usr/bin/groups
 Requires: /usr/bin/head
 Requires: /usr/bin/iconv
@@ -294,6 +228,8 @@ 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/m4
 Requires: /usr/bin/make
 Requires: /usr/bin/man
@@ -309,13 +245,12 @@ Requires: /usr/bin/paste
 Requires: /usr/bin/patch
 Requires: /usr/bin/pathchk
 Requires: /usr/bin/pax
-Requires: /usr/bin/perl
 Requires: /usr/bin/pr
 Requires: /usr/bin/printf
-Requires: /usr/bin/python
 Requires: /usr/bin/renice
 Requires: /usr/bin/seq
 Requires: /usr/bin/split
+Requires: /usr/bin/strings
 Requires: /usr/bin/strip
 Requires: /usr/bin/tail
 Requires: /usr/bin/tee
@@ -328,297 +263,154 @@ Requires: /usr/bin/unexpand
 Requires: /usr/bin/uniq
 Requires: /usr/bin/wc
 Requires: /usr/bin/xargs
-Requires: /usr/lib/lsb/install_initd
-Requires: /usr/lib/lsb/remove_initd
 Requires: /usr/sbin/groupadd
 Requires: /usr/sbin/groupdel
 Requires: /usr/sbin/groupmod
-Requires: /usr/sbin/sendmail
 Requires: /usr/sbin/useradd
 Requires: /usr/sbin/userdel
 Requires: /usr/sbin/usermod
+Requires: redhat-lsb-submod-security%{?_isa} = %{version}
 
-# Add split off packages from core perl package
-Requires: perl(Locale::Codes)
-Requires: perl(Class::ISA)
-## following for f17 and above
-Requires: perl(Digest::MD5)
-Requires: perl(Pod::Perldoc::ToChecker)
-Requires: perl(Pod::Perldoc::ToMan)
-Requires: perl(Pod::Perldoc::ToNroff)
-Requires: perl(Pod::Perldoc::ToPod)
-Requires: perl(Pod::Perldoc::ToText)
-
-%description
-The Linux Standard Base (LSB) is an attempt to develop a set of
-standards that will increase compatibility among Linux distributions.
-The redhat-lsb package provides utilities needed for LSB Compliant
-Applications.  It also contains requirements that will ensure that all
-components required by the LSB that are provided by Red Hat Linux are
-installed on the system.
-
-%package graphics
-Group: System Environment/Base
-Summary: LSB graphics libraries support for Red Hat Enterprise Linux
-
-%ifarch %{ix86}
-# archLSB IA32 Graphics Libraries
-Requires: libatk-1.0.so.0
-Requires: libgdk-x11-2.0.so.0
-Requires: libgdk_pixbuf-2.0.so.0
-Requires: libgdk_pixbuf_xlib-2.0.so.0
-Requires: libglib-2.0.so.0
-Requires: libgmodule-2.0.so.0
-Requires: libgobject-2.0.so.0
-Requires: libgthread-2.0.so.0
-Requires: libgtk-x11-2.0.so.0
-Requires: libpango-1.0.so.0
-Requires: libpangocairo-1.0.so.0
-Requires: libpangoft2-1.0.so.0
-Requires: libpangoxft-1.0.so.0
-Requires: libqt-mt.so.3
-Requires: libQtCore.so.4
-Requires: libQtGui.so.4
-Requires: libQtNetwork.so.4
-Requires: libQtOpenGL.so.4
-Requires: libQtSql.so.4
-Requires: libQtSvg.so.4
-Requires: libQtXml.so.4
-%endif
-
-%ifarch ia64
-# archLSB IA64 Graphics Libraries
-Requires: libatk-1.0.so.0()(64bit)
-Requires: libgdk-x11-2.0.so.0()(64bit)
-Requires: libgdk_pixbuf-2.0.so.0()(64bit)
-Requires: libgdk_pixbuf_xlib-2.0.so.0()(64bit)
-Requires: libglib-2.0.so.0()(64bit)
-Requires: libgmodule-2.0.so.0()(64bit)
-Requires: libgobject-2.0.so.0()(64bit)
-Requires: libgthread-2.0.so.0()(64bit)
-Requires: libgtk-x11-2.0.so.0()(64bit)
-Requires: libpango-1.0.so.0()(64bit)
-Requires: libpangocairo-1.0.so.0()(64bit)
-Requires: libpangoft2-1.0.so.0()(64bit)
-Requires: libpangoxft-1.0.so.0()(64bit)
-Requires: libqt-mt.so.3()(64bit)
-Requires: libQtCore.so.4()(64bit)
-Requires: libQtGui.so.4()(64bit)
-Requires: libQtNetwork.so.4()(64bit)
-Requires: libQtOpenGL.so.4()(64bit)
-Requires: libQtSql.so.4()(64bit)
-Requires: libQtSvg.so.4()(64bit)
-Requires: libQtXml.so.4()(64bit)
-%endif
-
-%ifarch ppc
-# archLSB PPC32 Graphics Libraries
-Requires: libatk-1.0.so.0
-Requires: libgdk-x11-2.0.so.0
-Requires: libgdk_pixbuf-2.0.so.0
-Requires: libgdk_pixbuf_xlib-2.0.so.0
-Requires: libglib-2.0.so.0
-Requires: libgmodule-2.0.so.0
-Requires: libgobject-2.0.so.0
-Requires: libgthread-2.0.so.0
-Requires: libgtk-x11-2.0.so.0
-Requires: libpango-1.0.so.0
-Requires: libpangocairo-1.0.so.0
-Requires: libpangoft2-1.0.so.0
-Requires: libpangoxft-1.0.so.0
-Requires: libqt-mt.so.3
-Requires: libQtCore.so.4
-Requires: libQtGui.so.4
-Requires: libQtNetwork.so.4
-Requires: libQtOpenGL.so.4
-Requires: libQtSql.so.4
-Requires: libQtSvg.so.4
-Requires: libQtXml.so.4
-%endif
+Provides: lsb-core-%{archname} = %{version}
+Provides: lsb-core-noarch = %{version}
+Obsoletes: redhat-lsb < %{version}
 
-%ifarch ppc64
-# archLSB PPC64 Graphics Libraries
-Requires: libatk-1.0.so.0()(64bit)
-Requires: libgdk-x11-2.0.so.0()(64bit)
-Requires: libgdk_pixbuf-2.0.so.0()(64bit)
-Requires: libgdk_pixbuf_xlib-2.0.so.0()(64bit)
-Requires: libglib-2.0.so.0()(64bit)
-Requires: libgmodule-2.0.so.0()(64bit)
-Requires: libgobject-2.0.so.0()(64bit)
-Requires: libgthread-2.0.so.0()(64bit)
-Requires: libgtk-x11-2.0.so.0()(64bit)
-Requires: libpango-1.0.so.0()(64bit)
-Requires: libpangocairo-1.0.so.0()(64bit)
-Requires: libpangoft2-1.0.so.0()(64bit)
-Requires: libpangoxft-1.0.so.0()(64bit)
-Requires: libqt-mt.so.3()(64bit)
-Requires: libQtCore.so.4()(64bit)
-Requires: libQtGui.so.4()(64bit)
-Requires: libQtNetwork.so.4()(64bit)
-Requires: libQtOpenGL.so.4()(64bit)
-Requires: libQtSql.so.4()(64bit)
-Requires: libQtSvg.so.4()(64bit)
-Requires: libQtXml.so.4()(64bit)
-%endif
+%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.
 
-%ifarch s390
-# archLSB S390 Graphics Libraries
-Requires: libatk-1.0.so.0
-Requires: libgdk-x11-2.0.so.0
-Requires: libgdk_pixbuf-2.0.so.0
-Requires: libgdk_pixbuf_xlib-2.0.so.0
-Requires: libglib-2.0.so.0
-Requires: libgmodule-2.0.so.0
-Requires: libgobject-2.0.so.0
-Requires: libgthread-2.0.so.0
-Requires: libgtk-x11-2.0.so.0
-Requires: libpango-1.0.so.0
-Requires: libpangocairo-1.0.so.0
-Requires: libpangoft2-1.0.so.0
-Requires: libpangoxft-1.0.so.0
-Requires: libqt-mt.so.3
-Requires: libQtCore.so.4
-Requires: libQtGui.so.4
-Requires: libQtNetwork.so.4
-Requires: libQtOpenGL.so.4
-Requires: libQtSql.so.4
-Requires: libQtSvg.so.4
-Requires: libQtXml.so.4
-%endif
+%package cxx
+Group: System Environment/Base
+Summary: LSB CXX module support
+Requires: libstdc++%{?_isa}
+Requires: redhat-lsb-core%{?_isa} = %{version}
 
-%ifarch s390x
-# archLSB S390X Graphics Libraries
-Requires: libatk-1.0.so.0()(64bit)
-Requires: libgdk-x11-2.0.so.0()(64bit)
-Requires: libgdk_pixbuf-2.0.so.0()(64bit)
-Requires: libgdk_pixbuf_xlib-2.0.so.0()(64bit)
-Requires: libglib-2.0.so.0()(64bit)
-Requires: libgmodule-2.0.so.0()(64bit)
-Requires: libgobject-2.0.so.0()(64bit)
-Requires: libgthread-2.0.so.0()(64bit)
-Requires: libgtk-x11-2.0.so.0()(64bit)
-Requires: libpango-1.0.so.0()(64bit)
-Requires: libpangocairo-1.0.so.0()(64bit)
-Requires: libpangoft2-1.0.so.0()(64bit)
-Requires: libpangoxft-1.0.so.0()(64bit)
-Requires: libqt-mt.so.3()(64bit)
-Requires: libQtCore.so.4()(64bit)
-Requires: libQtGui.so.4()(64bit)
-Requires: libQtNetwork.so.4()(64bit)
-Requires: libQtOpenGL.so.4()(64bit)
-Requires: libQtSql.so.4()(64bit)
-Requires: libQtSvg.so.4()(64bit)
-Requires: libQtXml.so.4()(64bit)
-%endif
+Provides: lsb-cxx-%{archname} = %{version}
+Provides: lsb-cxx-noarch = %{version}
 
-%ifarch x86_64
-# archLSB AMD64 Graphics Libraries
-Requires: libatk-1.0.so.0()(64bit)
-Requires: libgdk-x11-2.0.so.0()(64bit)
-Requires: libgdk_pixbuf-2.0.so.0()(64bit)
-Requires: libgdk_pixbuf_xlib-2.0.so.0()(64bit)
-Requires: libglib-2.0.so.0()(64bit)
-Requires: libgmodule-2.0.so.0()(64bit)
-Requires: libgobject-2.0.so.0()(64bit)
-Requires: libgthread-2.0.so.0()(64bit)
-Requires: libgtk-x11-2.0.so.0()(64bit)
-Requires: libpango-1.0.so.0()(64bit)
-Requires: libpangocairo-1.0.so.0()(64bit)
-Requires: libpangoft2-1.0.so.0()(64bit)
-Requires: libpangoxft-1.0.so.0()(64bit)
-Requires: libpthread.so.0()(64bit)
-Requires: libqt-mt.so.3()(64bit)
-Requires: libQtCore.so.4()(64bit)
-Requires: libQtGui.so.4()(64bit)
-Requires: libQtNetwork.so.4()(64bit)
-Requires: libQtOpenGL.so.4()(64bit)
-Requires: libQtSql.so.4()(64bit)
-Requires: libQtSvg.so.4()(64bit)
-Requires: libQtXml.so.4()(64bit)
-%endif
+%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.
 
-# gLSB Graphics Libraries
-Requires: libasound.so.2%{qual}
-Requires: libatk-1.0.so.0%{qual}
-Requires: libcairo.so.2%{qual}
-Requires: libcrypt.so.1%{qual}
-Requires: libcups.so.2%{qual}
-Requires: libcupsimage.so.2%{qual}
-Requires: libfontconfig.so.1%{qual}
-Requires: libfreetype.so.6%{qual}
-Requires: libgdk-x11-2.0.so.0%{qual}
-Requires: libgdk_pixbuf-2.0.so.0%{qual}
-Requires: libgdk_pixbuf_xlib-2.0.so.0%{qual}
-Requires: libGL.so.1%{qual}
-Requires: libglib-2.0.so.0%{qual}
-Requires: libGLU.so.1%{qual}
-Requires: libgmodule-2.0.so.0%{qual}
-Requires: libgobject-2.0.so.0%{qual}
-Requires: libgthread-2.0.so.0%{qual}
-Requires: libgtk-x11-2.0.so.0%{qual}
-Requires: libICE.so.6%{qual}
-Requires: libjpeg.so.62%{qual}
-Requires: libpango-1.0.so.0%{qual}
-Requires: libpangocairo-1.0.so.0%{qual}
-Requires: libpangoft2-1.0.so.0%{qual}
-Requires: libpangoxft-1.0.so.0%{qual}
-Requires: libpng12.so.0%{qual}
-Requires: libqt-mt.so.3%{qual}
-Requires: libQtCore.so.4%{qual}
-Requires: libQtGui.so.4%{qual}
-Requires: libQtNetwork.so.4%{qual}
-Requires: libQtOpenGL.so.4%{qual}
-Requires: libQtSql.so.4%{qual}
-Requires: libQtSvg.so.4%{qual}
-Requires: libQtXml.so.4%{qual}
-Requires: libSM.so.6%{qual}
-Requires: libX11.so.6%{qual}
-Requires: libXext.so.6%{qual}
-Requires: libXft.so.2%{qual}
-Requires: libXi.so.6%{qual}
-Requires: libxml2.so.2%{qual}
-Requires: libXrender.so.1%{qual}
-Requires: libXt.so.6%{qual}
-Requires: libXtst.so.6%{qual}
-
-# gLSB Graphics Command and Utilities
+%package desktop
+Group: System Environment/Base
+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
-
-#for directory ownership
-Requires:       %{name} = %{version}-%{release}
-
+# gLSB Graphics Ext library
+Requires: cairo%{?_isa}
+Requires: freetype%{?_isa}
+Requires: libjpeg-turbo%{?_isa}
+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}
+Requires: redhat-lsb-core%{?_isa} = %{version}
+
+Provides: lsb-desktop-%{archname} = %{version}
+Provides: lsb-desktop-noarch = %{version}
 Provides: lsb-graphics-%{archname} = %{version}
 Provides: lsb-graphics-noarch = %{version}
+Obsoletes: redhat-lsb-graphics < %{version}
 
-%description graphics
-The Linux Standard Base (LSB) Graphics Specifications define components that are required
- to be present on an LSB conforming system.
+%description desktop
+The Linux Standard Base (LSB) Desktop Specifications define components that are
+required to be present on an LSB conforming system.
 
-%package printing
+%package languages
 Group: System Environment/Base
-Summary: LSB printing libraries support for Red Hat Enterprise Linux
+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)
+# python
+Requires: /usr/bin/python
+# java
+Requires: redhat-lsb-core%{?_isa} = %{version}
 
-# gLSB Printing Libraries
-Requires: libcups.so.2%{qual}
-Requires: libcupsimage.so.2%{qual}
+Provides: lsb-languages-%{archname} = %{version}
+Provides: lsb-languages-noarch = %{version}
+
+%description languages
+The Linux Standard Base (LSB) Languages module supports components for runtime
+languages which are found on an LSB conforming system.
 
+%package printing
+Group: System Environment/Base
+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: /usr/bin/lp
-Requires: /usr/bin/lpr
-
-#for directory ownership
-Requires:       %{name} = %{version}-%{release}
+Requires: redhat-lsb-core%{?_isa} = %{version}
 
 Provides: lsb-printing-%{archname} = %{version}
 Provides: lsb-printing-noarch = %{version}
+Obsoletes: redhat-lsb-printing < %{version}
 
 %description printing
-The Linux Standard Base (LSB) Printing Specifications define components that are required
- to be present on an LSB conforming system.
+The Linux Standard Base (LSB) Printing specifications define components that 
+are required to be present on an LSB conforming system.
+
+%package trialuse
+Group: System Environment/Base
+Summary: LSB Trialuse module support
+Requires: redhat-lsb-submod-multimedia%{?_isa} = %{version}
+Requires: redhat-lsb-submod-security%{?_isa} = %{version}
+Requires: redhat-lsb-core%{?_isa} = %{version}
+
+Provides: lsb-trialuse-%{archname} = %{version}
+Provides: lsb-trialuse-noarch = %{version}
+
+%description trialuse
+The Linux Standard Base (LSB) Trialuse module support defines components
+which are not required parts of the LSB Specification.
 
 %prep
 %setup -q
@@ -639,25 +431,92 @@ if [ -e /bin/mailx ]; then
    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%{_sysconfdir}/lsb-release.d/ $RPM_BUILD_ROOT%{_sbindir} \
+         $RPM_BUILD_ROOT%{_datadir}/lsb/%{lsbrelver}
+
+# 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 ..
-touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/core-4.0-%{archname}
-touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/core-4.0-noarch
-touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/graphics-4.0-%{archname}
-touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/graphics-4.0-noarch
-touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/printing-4.0-%{archname}
-touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/printing-4.0-noarch
+# 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
+
+# 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 -s %{ldso} $RPM_BUILD_ROOT/%{_lib}/%{lsbldso}.$LSBVER
+  ln -snf %{ldso} $RPM_BUILD_ROOT/%{_lib}/%{lsbldso}.$LSBVER
 done
 
 mkdir -p $RPM_BUILD_ROOT/bin
@@ -679,7 +538,7 @@ ln -snf ../../../sbin/chkconfig $RPM_BUILD_ROOT/usr/lib/lsb/remove_initd
 # is imported against segfault error while running redhat_lsb_trigger
 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
-install -m 700 redhat_lsb_trigger.%{_target_cpu} \
+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
@@ -713,12 +572,61 @@ fi
   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
+%{_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
 %{_sysconfdir}/redhat-lsb
 %dir %{_sysconfdir}/lsb-release.d
-# These files are needed because they shows which LSB we're supporting now, 
-# for example, if core-3.1-noarch exists, it means we are supporting LSB3.1 now
-%{_sysconfdir}/lsb-release.d/core*
 %{_mandir}/*/*
 %{_bindir}/*
 #/bin/mailx
@@ -727,15 +635,64 @@ fi
 /%{_lib}/*so*
 /lib/lsb*
 %{_sbindir}/redhat_lsb_trigger.%{_target_cpu}
-
-%files graphics
-%{_sysconfdir}/lsb-release.d/graphics*
+%{_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
 
 
 %changelog
+* Mon Mar 19 2012 xning <xning AT redhat DOT com> - 4.1-1
+- Update to 4.1 release
+- Added -core, -cxx, -desktop, -languages, -printing modules as subpackages
+- Added submod-security, -submod-multimedia subpackages
+- Implements http://refspecs.linux-foundation.org/LSB_4.1.0/ 
+- Resolves:rh#800249: new package update review by Parag.
+
 * Sat Jan 14 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 4.0-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 
@@ -959,4 +916,3 @@ fi
 
 * Thu Jan 24 2002 Matt Wilson <msw at redhat.com>
 - Initial build.
-
diff --git a/sources b/sources
index e782264..c24d88d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d83e0e5050bf0095badb2e575d3ee714  redhat-lsb-4.0-1.tar.bz2
+9c1e474cb81c0ee1941c3129e0e50ea1  redhat-lsb-4.1-1.tar.bz2


More information about the scm-commits mailing list