File s390-tools.spec of Package s390-tools

#
# spec file for package s390-tools (Version 1.8.0)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#



Name:           s390-tools
BuildRequires:  gcc-c++ mkinitrd net-snmp-devel tcpd-devel zlib-devel-static
Url:            http://www10.software.ibm.com/developerworks/opensource/linux390
Summary:        S/390 tools like zipl and dasdfmt
Version:        1.8.0
Release:        44
PreReq:         %insserv_prereq %fillup_prereq mkinitrd >= 2.4
License:        GPL v2 or later
Provides:       s390utils:/sbin/dasdfmt
Group:          System/Kernel
Source:         s390-tools-%{version}.tar.bz2
AutoReqProv:    yes
Source1:        s390-tools-rpmlintrc
Source2:        zipl.conf
Source10:       hsnc
Source11:       sysconfig.hsnc
Source12:       xpram
Source13:       sysconfig.xpram
Source14:       appldata
Source15:       sysconfig.appldata
Source16:       vmlogrdr
Source17:       vmlogrdr.hotplug
Source40:       dasd_configure
Source41:       zfcp_host_configure
Source42:       zfcp_disk_configure
Source43:       dasdro
Source44:       dasd_reload
Source45:       mkdump.sh
Source46:       sysconfig.osasnmpd
Source47:       zfcp_san_disc
Source48:       iucv_configure
Source49:       ctc_configure
Source50:       qeth_configure
Source51:       mkinitrd-setup-dasd.sh
Source52:       mkinitrd-boot-dasd.sh
Source53:       mkinitrd-setup-zfcp.sh
Source54:       mkinitrd-boot-zfcp.sh
Source55:       blktrace_api.h
Source56:       boot.cpi
Source57:       sysconfig.cpi
Source58:       mkinitrd-setup-zfcpdump.sh
Source59:       mkinitrd-boot-zfcpdump.sh
Patch1:         s390tools-160-pardasdfmt.patch
Patch4:         s390tools-160-zipl_boot_msg.patch
Patch10:        %{name}-sles11-lzfcp-nodev-check
Patch11:        %{name}-sles11-daemons-single-user
Patch12:        %{name}-sles11-install-strip.patch
Patch13:        %{name}-sles11-lszfcp-P-option
Patch14:        %{name}-sles11-zfcpdump-initrd
Patch15:        %{name}-sles11-tape390_display-stack_overwrite
Patch16:        %{name}-sles11-ziomon-fix-qdio-statistics.patch
Patch17:        s390-tools-as_needed.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExclusiveArch:  s390 s390x
%define _sbindir /sbin
%define _datadir /usr/lib

%description
This package contains the tools needed to use Linux on the S/390:
dasdfmt  - low-level format tool for ECKD DASDs fdasd	 - partitions
ECKD DASDs with z/OS compatible disk layout zipl     - boot loader and
dump DASD initializer zgetdump - tool to get linux system dumps from
DASDs



%package -n osasnmpd
License:        GPL v2 or later
Summary:        OSA-Express SNMP subagent
Group:          Productivity/Networking/Other
Requires:       perl

%description -n osasnmpd
Supports management information bases (MIBs) provided by OSA-Express
Fast Ethernet, Gigabit Ethernet, High Speed Token Ring and ATM Ethernet
LAN Emulation features in QDIO mode.

It extends the capabilities of the ucd-snmp master agent (snmpd) and
communicates with him via the AgentX protocol.



%prep
if file /bin/bash | grep 32-bit.*390 && [ `arch` != s390 ]; then exit 1;fi
# %setup -q -T -n SuSE-tools     -b 6
%setup -q -n %{name}-%{version}
### This will copy the blktrace_api.h file into place so that the tools will
### build.  As soon as the kernel headers are fixed, this should be removed.
mkdir -p include/linux
cp -v %{S:55} include/linux/
### End of blktrace_api.h hack.  Please remove when possible.
%patch1 -p1
%patch4 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17

%build
export OPT_FLAGS="$RPM_OPT_FLAGS"
%define ucdsnmp %(test -f /usr/bin/net-snmp-config && echo 0 || echo 1)
%if %{ucdsnmp}
# tcpd/libwrap.a of SLES8 expects the caller to provide these symbols:
echo "int allow_severity, deny_severity;" >> osasnmpd/ibmOSAMib.c
%endif
export KERNELIMAGE_MAKEFLAGS="%{?jobs:-j%jobs}"
# Workround broken inter-libary-dependendies of lib*mibs.so:(-lwrap ...)
make KERNEL_DIR=/usr/src/linux CRYPTO='-lcrypto -lwrap' \
        SUB_DIRS="libvtoc zipl zdump fdasd dasdfmt dasdview tunedasd tape390 osasnmpd qetharp ip_watcher qethconf scripts zconf vmconvert vmcp man mon_tools dasdinfo vmur cpuplugd ipl_tools ziomon" ZFCPDUMP_DIR=/usr/lib/s390-tools
make -C zfcpdump_v2 zfcpdump

%install
mkdir -p $RPM_BUILD_ROOT/boot/zipl
make INSTROOT=$RPM_BUILD_ROOT			\
        SUB_DIRS="libvtoc zipl zdump fdasd dasdfmt dasdview tunedasd tape390 qetharp ip_watcher qethconf scripts zconf vmconvert vmcp man mon_tools dasdinfo vmur cpuplugd ipl_tools ziomon" \
	ZIPLDIR=$RPM_BUILD_ROOT/boot/zipl	\
	BINDIR=$RPM_BUILD_ROOT/sbin		\
	USRBINDIR=$RPM_BUILD_ROOT/usr/bin      	\
	LIBDIR=$RPM_BUILD_ROOT/%_lib		\
	MANDIR=$RPM_BUILD_ROOT/%{_mandir} install
mkdir -p $RPM_BUILD_ROOT%{_datadir}/s390-tools
install -D -m644 zfcpdump_v2/zfcpdump $RPM_BUILD_ROOT%{_datadir}/s390-tools
install -D -m644 etc/sysconfig/dumpconf $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.dumpconf
install -D -m755 etc/init.d/dumpconf $RPM_BUILD_ROOT/etc/init.d/dumpconf
install -D -m644 etc/udev/rules.d/59-dasd.rules $RPM_BUILD_ROOT/etc/udev/rules.d/59-dasd.rules
install -D -m644 etc/udev/rules.d/57-osasnmpd.rules $RPM_BUILD_ROOT/etc/udev/rules.d/57-osasnmpd.rules
install -D -m644 etc/sysconfig/mon_statd $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.mon_statd
install -D -m755 etc/init.d/mon_statd $RPM_BUILD_ROOT/etc/init.d/mon_statd
install -D -m644 etc/sysconfig/cpuplugd $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.cpuplugd
install -D -m755 etc/init.d/cpuplugd $RPM_BUILD_ROOT/etc/init.d/cpuplugd
install -D -m755 osasnmpd/osasnmpd-2.6/osasnmpd-2.6 $RPM_BUILD_ROOT/usr/sbin
install -D -m644 osasnmpd/osasnmpd.8 $RPM_BUILD_ROOT/%_mandir/man8
cd $RPM_BUILD_ROOT
install -D -m644 %{S:2}  etc/zipl.conf.sample
install -D -m755 %{S:10} etc/init.d/hsnc
install -D -m644 %{S:11} var/adm/fillup-templates/sysconfig.hsnc
install -D -m755 %{S:12} etc/init.d/xpram
install -D -m644 %{S:13} var/adm/fillup-templates/sysconfig.xpram
install -D -m755 %{S:14} etc/init.d/appldata
install -D -m644 %{S:15} var/adm/fillup-templates/sysconfig.appldata
install -D -m755 %{S:16} etc/init.d/vmlogrdr
install -D -m755 %{S:40} sbin/dasd_configure
install -D -m755 %{S:41} sbin/zfcp_host_configure
install -D -m755 %{S:42} sbin/zfcp_disk_configure
install -D -m755 %{S:43} sbin/dasdro
install -D -m755 %{S:44} sbin/dasd_reload
install -D -m755 %{S:45} sbin/mkdump
install -D -m644 %{S:46} var/adm/fillup-templates/sysconfig.osasnmpd
install -D -m755 %{S:47} sbin/zfcp_san_disc
install -D -m755 %{S:48} sbin/iucv_configure
install -D -m755 %{S:49} sbin/ctc_configure
install -D -m755 %{S:50} sbin/qeth_configure
install -D -m755 %{S:51} lib/mkinitrd/scripts/setup-dasd.sh
install -D -m755 %{S:52} lib/mkinitrd/scripts/boot-dasd.sh
install -D -m755 %{S:53} lib/mkinitrd/scripts/setup-zfcp.sh
install -D -m755 %{S:54} lib/mkinitrd/scripts/boot-zfcp.sh
install -D -m755 %{S:56} etc/init.d/boot.cpi
install -D -m644 %{S:57} var/adm/fillup-templates/sysconfig.cpi
install -D -m755 %{S:58} usr/lib/s390-tools/mkinitrd/scripts/setup-zfcpdump.sh
install -D -m755 %{S:59} usr/lib/s390-tools/mkinitrd/scripts/boot-zfcpdump.sh
mkdir usr/lib/s390-tools/mkinitrd/bin
mkdir usr/lib/s390-tools/mkinitrd/setup
mkdir usr/lib/s390-tools/mkinitrd/boot
(cd usr/lib/s390-tools/mkinitrd/bin; ln -sf ../../zfcpdump linuxrc)
cp /lib/mkinitrd/scripts/setup-modules.sh usr/lib/s390-tools/mkinitrd/scripts
cp /lib/mkinitrd/scripts/setup-prepare.sh usr/lib/s390-tools/mkinitrd/scripts
cp /lib/mkinitrd/scripts/setup-progs.sh usr/lib/s390-tools/mkinitrd/scripts
cp /lib/mkinitrd/scripts/setup-sharedlibs.sh usr/lib/s390-tools/mkinitrd/scripts
cp /lib/mkinitrd/scripts/setup-done.sh usr/lib/s390-tools/mkinitrd/scripts
if [ ! -d usr/sbin ]; then
    rm -f usr/sbin
    mkdir -p usr/sbin
fi
(cd usr/sbin; ln -s ../../etc/init.d/hsnc rchsnc)
(cd usr/sbin; ln -s ../../etc/init.d/xpram rcxpram)
(cd usr/sbin; ln -s ../../etc/init.d/appldata rcappldata)
(cd usr/sbin; ln -s ../../etc/init.d/vmlogrdr rcvmlogrdr)
(cd usr/sbin; ln -s osasnmpd-2.6 osasnmpd)
find . ! -type d |
    %__sed 's/^.//;\-/man/-s/^.*$/%doc &.gz/'  > %{_builddir}/%{name}-filelist
#echo %{_docdir}/%{name}		>> %{_builddir}/%{name}-filelist
#cp -a $RPM_BUILD_DIR/SuSE-tools/* $RPM_BUILD_ROOT
grep -v osasnmp %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.list
grep    osasnmp[^-] %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.osasnmp
%define snmp %(test -f /usr/bin/net-snmp-config && echo net-snmp || echo ucd-snmp)
mkdir -p usr/lib/%{snmp}/agents
cd	 usr/lib/%{snmp}/agents
cat <<EOT >osasnmpd
#!/bin/sh
PIDFILE=/var/run/osasnmpd.pid
function cleanup
{
        rm -f \$PIDFILE
        kill \`cat /var/run/osasnmpd.real.pid\`
}
. /etc/sysconfig/osasnmpd
trap cleanup 0
echo \$\$ >\$PIDFILE
/usr/sbin/osasnmpd -f -P /var/run/osasnmpd.real.pid \$OSASNMPD_PARAMETERS "\$@"
EOT
chmod 755 osasnmpd

%post
echo "Run zipl after updating this package to update the IPL record!!!"
mkinitrd_setup
mkinitrd_setup -s /usr/lib/s390-tools/mkinitrd/scripts -i /usr/lib/s390-tools/mkinitrd
# -i: skip insserv parts - has to be configured before use:
%{fillup_and_insserv -i -n dumpconf}
%{fillup_and_insserv -i -n hsnc}
%{fillup_and_insserv -i -n xpram}
%{fillup_and_insserv -i -n appldata}
%{fillup_and_insserv -i -n vmlogrdr}
%{fillup_and_insserv -i -n cpuplugd}
%{fillup_and_insserv -i -n mon_statd}
%{fillup_and_insserv -y -n cpi boot.cpi}
# Create the zfcpdump image and initrd
if test -e /boot/image ; then
  echo "Creating zfcpdump image"
  cp /boot/image /usr/lib/s390-tools/zfcpdump.image
  /sbin/mkinitrd -f zfcpdump -B \
      -l /usr/lib/s390-tools/mkinitrd \
      -k /usr/lib/s390-tools/zfcpdump.image \
      -i /usr/lib/s390-tools/zfcpdump.rd
fi

%triggerin -- kernel-default
# Create the zfcpdump image and initrd
if test -e /boot/image ; then
  echo "Creating zfcpdump image"
  cp /boot/image /usr/lib/s390-tools/zfcpdump.image
  /sbin/mkinitrd -f zfcpdump -B \
      -l /usr/lib/s390-tools/mkinitrd \
      -k /usr/lib/s390-tools/zfcpdump.image \
      -i /usr/lib/s390-tools/zfcpdump.rd
fi

%post -n osasnmpd
%{fillup_and_insserv -i -n osasnmpd}

%preun
%{stop_on_removal mon_statd}
%{stop_on_removal cpuplugd}
%{stop_on_removal vmlogrdr}
%{stop_on_removal appldata}
%{stop_on_removal xpram}
%{stop_on_removal hsnc}
%{stop_on_removal dumpconf}
[ -e /usr/lib/s390-tools/zfcpdump.image ] && rm /usr/lib/s390-tools/zfcpdump.image || true
[ -e /usr/lib/s390-tools/zfcpdump.rd ] && rm /usr/lib/s390-tools/zfcpdump.rd || true

%postun
if [ ! -x /boot/zipl ]; then
	echo "Attention, after uninstalling this package,"
	echo "you will NOT be able to IPL from DASD anymore!!!"
fi
[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup
%{insserv_cleanup}

%preun -n osasnmpd
%{stop_on_removal osasnmpd}

%clean
rm -rf $RPM_BUILD_ROOT

%files -f %{_builddir}/%{name}.list
%defattr(-,root,root)
%doc README
%dir %{_datadir}/s390-tools
%dir %{_datadir}/s390-tools/mkinitrd
%dir %{_datadir}/s390-tools/mkinitrd/bin
%dir %{_datadir}/s390-tools/mkinitrd/scripts
%dir %{_datadir}/s390-tools/mkinitrd/setup
%dir %{_datadir}/s390-tools/mkinitrd/boot
%dir /etc/udev
%dir /etc/udev/rules.d
%dir /boot/zipl

%files -n osasnmpd -f %{_builddir}/%{name}.osasnmp
%defattr(-,root,root)
/usr/lib/%{snmp}/agents/osasnmpd

%changelog
openSUSE Build Service is sponsored by