Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37658388
en ru br
ALT Linux repos
S:5.0-alt3
5.0: 3.2-alt1
4.1: 3.0-alt0.1
4.0: 3.0-alt0.1

Group :: System/Base
RPM: lsb

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# The LSB provides backward compatibility at both the source and binary level beginning with LSB 3.0.
# In other words, applications that target version X.Y of the LSB (where X.Y >= 3.0) will run on
# distributions certified to or compliant with LSB version X.Y and newer. For example, applications that
# target LSB 3.0 will run not only on LSB 3.0 certified/compliant distributions but also LSB 3.1, LSB 3.2,
# LSB 4.0 etc. certified/compliant distributions.
# http://ldn.linuxfoundation.org/lsb/lsb-introduction

%define compat_version 3.0

%ifarch %{ix86}
%define lsb_arch ia32
%endif
%ifarch x86_64
%define lsb_arch amd64
%endif

Name:         lsb
Summary:      The skeleton package defining packages needed for LSB compliance
Version:      3.2
Release:      alt1
License:      GPL
URL:          http://www.linuxbase.org
Source:       lsb-release-2.0.tar.bz2
Patch:        lsb-release-2.0.dif
Patch1:       lsb-3.0-alt.patch
Group:        System/Base
Packager:     Andriy Stepanov <stanv at altlinux.ru>

# 20.4 Installation and Removal of Init Scripts

Source11: install_initd
Source12: remove_initd

# B.2 Commands And Utilities

# lsbinstall -- installation tool for various types of data
# XXX: TODO
Source21: lsbinstall

# LSB 3.2 defined only for: IA32 IA64 PPC32 PPC64 S390 S390X AMD64

# http://www.linuxfoundation.org/en/Specifications
Exclusivearch: %{ix86} x86_64

%description
Necessary tools, links, and dependencies for the Linux Standard Base
(LSB).
The Linux Standard Base (http://www.linuxbase.org/) is a standard core
system that third-party applications written for Linux can depend
upon.
The lsb_release command is a simple tool to help identify the Linux
distribution being used and its compliance with the Linux Standard
Base. LSB conformance will not be reported unless the required
metapackages are installed.
While it is intended for use by LSB packages, this command may also be
useful for programmatically distinguishing between a original one and
derived distributions.

##############################

##############################
# LSB 3.2 defines next modules
# MODULE      ARCHITUCTURE DEPENDENT/INDEPENDENT
# * Core      dependent
# * CXX       dependent
# * Desktop   dependent
# * Languages independent
# * Printing  independent
# * TrialUse  independent
# http://www.linuxfoundation.org/en/Specifications
# http://dev.linuxfoundation.org/navigator/browse/module.php
# define for each separate package
##############################
##############################

#############

# Module Core
# ###########
%package core
Summary: Linux Standard Base %version core support package
Group: System/Base

# 22.6 Package Dependencies

#
# lsb-core-arch
#      This dependency is used to indicate that the application is dependent on
#      features contained in the LSB-Core specification.
#
# lsb-core-noarch
#      This dependency is used to indicate that the application is dependent on
#      features contained in the LSB-Core specification and that the package does
#      not contain any architecture specific files.
#
#      These dependencies shall have a version of 3.0.

Provides: lsb-core-noarch = %{version}
Provides: lsb-core-%{lsb_arch} = %{version}
Provides: lsb-core-noarch = %{compat_version}
Provides: lsb-core-%{lsb_arch} = %{compat_version}

# 15.1. Commands and Utilities

# http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/command.html
# http://dev.linuxfoundation.org/navigator/browse/command.php?changever=3.2&changearch=1
# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Core
# Commands (139 entries)
# Commands with predefined path
Requires:       /bin/cat
Requires:       /bin/chgrp
Requires:       /bin/chmod
Requires:       /bin/chown
Requires:       /bin/cp
Requires:       /bin/cpio
Requires:       /bin/date
Requires:       /bin/dd
Requires:       /bin/df
Requires:       /bin/dmesg
Requires:       /bin/echo
Requires:       /bin/ed
Requires:       /bin/false
Requires:       /usr/sbin/groupadd
Requires:       /usr/sbin/groupdel
Requires:       /usr/sbin/groupmod
Requires:       /bin/gunzip
Requires:       /bin/gzip
Requires:       /bin/hostname
# Requires:       /usr/lib/lsb/install_initd supplied by lsb-core package
Requires:       /bin/kill
Requires:       /bin/ln
Requires:       /bin/ls
# lsb_release in lsb package
Requires:       /bin/mkdir
Requires:       /bin/mknod
Requires:       /bin/more
Requires:       /bin/mount
Requires:       /bin/mv
Requires:       /bin/ps
Requires:       /bin/pwd
# Requires:       /usr/lib/lsb/remove_initd supplied by lsb-core package
Requires:       /bin/rm
Requires:       /bin/rmdir
Requires:       /bin/sed
Requires:       /usr/sbin/sendmail
Requires:       /bin/sh
Requires:       /sbin/shutdown
Requires:       /bin/su
Requires:       /bin/sync
Requires:       /bin/tar
Requires:       /bin/true
Requires:       /bin/umount
Requires:       /bin/uname
Requires:       /usr/sbin/useradd
Requires:       /usr/sbin/userdel
Requires:       /usr/sbin/usermod
Requires:       /bin/zcat
# Commands without predefined path
# search path in ALTLinux with: cmd="ar at..."; for i in $cmd; do which "$i"; done
Requires:       /usr/bin/ar
Requires:       /usr/bin/at
Requires:       /bin/awk
Requires:       /bin/basename
Requires:       /usr/bin/batch
Requires:       /usr/bin/bc
Requires:       /usr/bin/chfn
Requires:       /usr/bin/chsh
Requires:       /usr/bin/cksum
Requires:       /usr/bin/cmp
Requires:       /usr/bin/col
Requires:       /usr/bin/comm
Requires:       /usr/bin/crontab
Requires:       /usr/bin/csplit
Requires:       /bin/cut
Requires:       /bin/cut
Requires:       /usr/bin/diff
Requires:       /usr/bin/dirname
Requires:       /bin/du
Requires:       /bin/egrep
Requires:       /usr/bin/env
Requires:       /usr/bin/expand
Requires:       /usr/bin/expr
Requires:       /bin/fgrep
Requires:       /usr/bin/file
Requires:       /bin/find
Requires:       /bin/find
Requires:       /usr/bin/fold
Requires:       /sbin/fuser
Requires:       /usr/bin/gencat
Requires:       /usr/bin/getconf
Requires:       /usr/bin/gettext
Requires:       /bin/grep
Requires:       /usr/bin/groups
Requires:       /bin/head
Requires:       /usr/bin/iconv
Requires:       /usr/bin/id
Requires:       /bin/install
Requires:       /usr/bin/ipcrm
Requires:       /usr/bin/ipcs
Requires:       /usr/bin/join
Requires:       /usr/bin/killall
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/mailx
Requires:       /usr/bin/make
Requires:       /usr/bin/man
Requires:       /usr/bin/md5sum
Requires:       /bin/mkfifo
Requires:       /bin/mktemp
Requires:       /usr/bin/msgfmt
Requires:       /usr/bin/newgrp
Requires:       /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
Requires:       /usr/bin/pax
Requires:       /bin/pidof
Requires:       /usr/bin/pr
Requires:       /usr/bin/printf
Requires:       /usr/bin/renice
Requires:       /bin/sleep
Requires:       /bin/sort
Requires:       /usr/bin/split
Requires:       /usr/bin/strip
Requires:       /bin/stty
Requires:       /bin/tail
Requires:       /usr/bin/tee
Requires:       /usr/bin/test
Requires:       /usr/bin/time
Requires:       /bin/touch
Requires:       /usr/bin/tr
Requires:       /usr/bin/tsort
Requires:       /usr/bin/tty
Requires:       /usr/bin/unexpand
Requires:       /usr/bin/uniq
Requires:       /bin/wc
Requires:       /bin/xargs
# Table 15-2. Built In Utilities
# http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/command.html
# cd getopts read umask wait

# Required libs for LSB_Core:

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Core
# Common for %ix86 x86_64
Requires: libm.so.6
Requires: libdl.so.2
Requires: libcrypt.so.1
Requires: libz.so.1
Requires: libncurses.so.5
Requires: libutil.so.1
Requires: libc.so.6
Requires: libpthread.so.0
Requires: librt.so.1
Requires: libpam.so.0
Requires: libgcc_s.so.1
# Special libs
%ifarch %ix86
# XYZ* see %install section Requires: /lib/ld-lsb.so.3
%endif
# http://dev.linuxfoundation.org/navigator/browse/lib_single.php?cmd=list-by-name&Section=ABI&Lname=proginterp
%ifarch x86_64
# XZY* see %install section Requires: /lib64/ld-lsb-x86-64.so.3
%endif

%description core
The core requirements for LSB compliance.
#################
# END Module Core
# ###############

############

# Module CXX
# ##########
%package cxx
Summary: Linux Standard Base %version cxx support package
Group: System/Base
Requires: %name-core = %version

Provides: lsb-cxx-noarch = %{version}
Provides: lsb-cxx-%{lsb_arch} = %{version}
Provides: lsb-cxx-noarch = %{compat_version}
Provides: lsb-cxx-%{lsb_arch} = %{compat_version}

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Cpp

Requires: libstdc++.so.6

%description cxx
The cxx requirements for LSB compliance.
################
# END Module CXX
################


################

# Module Desktop
#       Have next submodules:
#       * Graphics
#       * Graphics_Ext
#       * Toolkit_Gtk
#       * Toolkit_Qt
#       * Toolkit_Qt3
#       * XML
################
%package desktop
Summary: Linux Standard Base %version desktop support package
Group: System/Base
Requires: %name-core = %version

Provides: lsb-desktop-noarch = %{version}
Provides: lsb-desktop-%{lsb_arch} = %{version}
Provides: lsb-desktop-noarch = %{compat_version}
Provides: lsb-desktop-%{lsb_arch} = %{compat_version}

# Submodule Graphics

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Graphics
Requires: libX11.so.6
Requires: libXt.so.6
Requires: libGL.so.1
Requires: libXext.so.6
Requires: libICE.so.6
Requires: libSM.so.6
Requires: libXi.so.6

# Submodule Graphics_Ext

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Graphics_Ext
Requires: libfontconfig.so.1
Requires: libpng12.so.0
Requires: libjpeg.so.62
Requires: libXrender.so.1
Requires: libfreetype.so.6
Requires: libXft.so.2
Requires: /usr/bin/fc-cache
Requires: /usr/bin/fc-list
Requires: /usr/bin/fc-match

# Submodule Toolkit_Gtk

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Toolkit_Gtk
Requires: libglib-2.0.so.0
Requires: libgobject-2.0.so.0
Requires: libgmodule-2.0.so.0
Requires: libgthread-2.0.so.0
Requires: libatk-1.0.so.0
Requires: libpango-1.0.so.0
Requires: libpangoxft-1.0.so.0
Requires: libpangoft2-1.0.so.0
Requires: libgdk_pixbuf-2.0.so.0
Requires: libgdk_pixbuf_xlib-2.0.so.0
Requires: libgdk-x11-2.0.so.0
Requires: libgtk-x11-2.0.so.0

# Submodule Toolkit_Qt

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Toolkit_Qt
Requires: libQtCore.so.4
Requires: libQtGui.so.4
Requires: libQtNetwork.so.4
Requires: libQtXml.so.4
Requires: libQtOpenGL.so.4
Requires: libQtSql.so.4
Requires: libQtSvg.so.4

# Submodule Toolkit_Qt3

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Toolkit_Qt3
Requires: libqt-mt.so.3

# Submodule XML

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_XML
Requires: libxml2.so.2

%description desktop
The desktop requirements for LSB compliance.
####################
# END Module Desktop
####################

##################

# Module Languages
#       Have next submodules:
#       * Perl
#       * Python
##################
%package languages
Summary: Linux Standard Base %version languages support package
Group: System/Base
Requires: %name-core = %version

Provides: lsb-languages-noarch = %{version}
Provides: lsb-languages-noarch = %{compat_version}

# Submodule Perl

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Perl
# http://dev.linuxfoundation.org/navigator/browse/intlang.php?cmd=list-modules&ILid=1
Requires:       perl-base >= 5.8.8
Requires:       /usr/bin/perl
Requires:       perl-DBM
Requires:       perl-Attribute-Handlers
Requires:       perl-devel
Requires:       perl-CGI
Requires:       perl-CPAN
Requires:       perl-Encode
Requires:       perl-Filter
Requires:       perl-Filter-Simple
Requires:       perl-I18N-LangTags
Requires:       perl-Locale-Maketext
Requires:       perl-Locale-Codes
Requires:       perl-Math-BigRat
Requires:       perl-Math-BigInt
Requires:       perl-Memoize
Requires:       perl-NEXT
Requires:       perl-libnet
Requires:       perl-PerlIO
Requires:       perldoc
Requires:       perl-Storable
Requires:       perl-Switch
Requires:       perl-Term-ReadLine-Gnu
Requires:       perl-Text-Balanced
Requires:       perl-Text-Soundex
Requires:       perl-Unicode-Collate
Requires:       perl-Unicode-Normalize
Requires:       perl-unicore
Requires:       perl4-compat
Requires:       perl-bignum

# Submodule Python

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Python
# http://dev.linuxfoundation.org/navigator/browse/intlang.php?cmd=list-modules&ILid=2
Requires:       /usr/bin/python
Requires:       python-base >= 2.4.2
Requires:       python-modules
%description languages
The languages requirements for LSB compliance.
######################
# END Module Languages
######################

#################

# Module Printing
#################
%package printing
Summary: Linux Standard Base %version printing support package
Group: System/Base
Requires: %name-core = %version

Provides: lsb-printing-noarch = %{version}
Provides: lsb-printing-noarch = %{compat_version}

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Printing

Requires: libcups.so.2
Requires: libcupsimage.so.2
Requires: /usr/bin/foomatic-rip
Requires: /usr/bin/gs
%description printing
The printing requirements for LSB compliance.
#####################
# END Module Printing
#####################


#################

# Module TrialUse
#       Have next submodules:
#       * Multimedia
#       * TUM
#################
%package trialuse
Summary: Linux Standard Base %version trialuse support package
Group: System/Base
Requires: %name-core = %version

Provides: lsb-trialuse-noarch = %{version}
Provides: lsb-trialuse-noarch = %{compat_version}

# Submodule Multimedia

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_Multimedia
Requires: libasound.so.2

# Submodule TUM

# http://dev.linuxfoundation.org/navigator/browse/module.php?cmd=display_module&module=LSB_TUM
Requires:       /usr/bin/xdg-desktop-icon
Requires:       /usr/bin/xdg-desktop-menu
Requires:       /usr/bin/xdg-email
Requires:       /usr/bin/xdg-icon-resource
Requires:       /usr/bin/xdg-mime
Requires:       /usr/bin/xdg-open
Requires:       /usr/bin/xdg-screensaver

%description trialuse
The trialuse requirements for LSB compliance.
#####################
# END Module TrialUse
#####################

%prep
%setup -n lsb-release-2.0
%patch
%patch1
%__subst "s|SuSE-release|altlinux-release|" lsb_release

%build
make

%install
mkdir -p %buildroot{%_man1dir,%_bindir}

%define lsbdir %buildroot%_sysconfdir/lsb-release.d
%define lsbrel %buildroot%_sysconfdir/lsb-release

mkdir -p %lsbdir
install -m644 lsb_release.1.gz %buildroot%_man1dir/
install -m755 lsb_release %buildroot%_bindir/

install -d $RPM_BUILD_ROOT/usr/lib/lsb
install -m755 %SOURCE11 $RPM_BUILD_ROOT/usr/lib/lsb
install -m755 %SOURCE12 $RPM_BUILD_ROOT/usr/lib/lsb
install -m755 %SOURCE21 $RPM_BUILD_ROOT/usr/lib/lsb

echo -n "LSB_VERSION=\"core-%compat_version-noarch:core-%version-noarch:" > %lsbrel
echo -n "core-%compat_version-%lsb_arch:core-%{version}-%lsb_arch" >>  %lsbrel

echo "\"" >>%lsbrel
cat <<EOF >>%lsbrel
DISTRIB_ID="ALT LINUX"
DISTRIB_CODENAME="Sisyphus"
EOF
# FIXME: CODENAME for prev. distributions

# Required libs for LSB_Core:

# 11.1 Program Interpreter/Dynamic Linker
# The Program Interpreter shall be ......
mkdir -p "$RPM_BUILD_ROOT/%_lib"
%ifarch %ix86
ln -sf /lib/ld-linux.so.2 "$RPM_BUILD_ROOT/lib/ld-lsb.so.3"
%endif
%ifarch x86_64
ln -sf /lib64/ld-linux-x86-64.so.2 "$RPM_BUILD_ROOT/lib64/ld-lsb-x86-64.so.3"
%endif

touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/core-%{compat_version}-%{lsb_arch}
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/core-%{compat_version}-noarch
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/core-%{version}-%{lsb_arch}
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/core-%{version}-noarch

touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/cxx-%{compat_version}-%{lsb_arch}
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/cxx-%{compat_version}-noarch
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/cxx-%{version}-%{lsb_arch}
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/cxx-%{version}-noarch

touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/desktop-%{compat_version}-%{lsb_arch}
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/desktop-%{compat_version}-noarch
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/desktop-%{version}-%{lsb_arch}
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/desktop-%{version}-noarch

touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/languages-%{compat_version}-noarch
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/languages-%{version}-noarch

touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/printing-%{compat_version}-noarch
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/printing-%{version}-noarch

touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/trialuse-%{compat_version}-noarch
touch $RPM_BUILD_ROOT%{_sysconfdir}/lsb-release.d/trialuse-%{version}-noarch

# %files


%files core
%{_sysconfdir}/lsb-release
%dir %{_sysconfdir}/lsb-release.d/
%_bindir/lsb_release
%_man1dir/*
%{_sysconfdir}/lsb-release.d/core-%{compat_version}-%{lsb_arch}
%{_sysconfdir}/lsb-release.d/core-%{compat_version}-noarch
%{_sysconfdir}/lsb-release.d/core-%{version}-%{lsb_arch}
%{_sysconfdir}/lsb-release.d/core-%{version}-noarch
%ifarch %ix86
/lib/ld-lsb.so.3
%endif
%ifarch x86_64
/lib64/ld-lsb-x86-64.so.3
%endif
%{_prefix}/lib/lsb/install_initd
%{_prefix}/lib/lsb/remove_initd
%{_prefix}/lib/lsb/lsbinstall

%files cxx
%{_sysconfdir}/lsb-release.d/cxx-%{compat_version}-%{lsb_arch}
%{_sysconfdir}/lsb-release.d/cxx-%{compat_version}-noarch
%{_sysconfdir}/lsb-release.d/cxx-%{version}-%{lsb_arch}
%{_sysconfdir}/lsb-release.d/cxx-%{version}-noarch

%files desktop
%{_sysconfdir}/lsb-release.d/desktop-%{compat_version}-%{lsb_arch}
%{_sysconfdir}/lsb-release.d/desktop-%{compat_version}-noarch
%{_sysconfdir}/lsb-release.d/desktop-%{version}-%{lsb_arch}
%{_sysconfdir}/lsb-release.d/desktop-%{version}-noarch

%files languages
%{_sysconfdir}/lsb-release.d/languages-%{compat_version}-noarch
%{_sysconfdir}/lsb-release.d/languages-%{version}-noarch

%files printing
%{_sysconfdir}/lsb-release.d/printing-%{compat_version}-noarch
%{_sysconfdir}/lsb-release.d/printing-%{version}-noarch

%files trialuse
%{_sysconfdir}/lsb-release.d/trialuse-%{compat_version}-noarch
%{_sysconfdir}/lsb-release.d/trialuse-%{version}-noarch

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin