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