diff --git a/pkey.conf b/pkey.conf new file mode 100644 index 0000000..71335b4 --- /dev/null +++ b/pkey.conf @@ -0,0 +1,7 @@ +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# All rights reserved. +# + +# load pkey module at boot time +pkey diff --git a/s390-tools.changes b/s390-tools.changes index 248a2f5..f0607c1 100644 --- a/s390-tools.changes +++ b/s390-tools.changes @@ -4,6 +4,13 @@ Wed Jan 9 23:17:22 UTC 2019 - mpost@suse.com - Added s390-tools-sles15sp1-qethqoat-add-OSA-Express7S-support.patch qethqoat: add OSA-Express7S support (Fate#326805, bsc#1121222) +- Modified the spec file to: (bsc#1119966) + * Add a group named zkeyadm + * Create directory /etc/zkey/repository + * Set the permissions on /etc/zkey and /etc/zkey/repository + * Added /usr/lib/modules-load.d/pkey.conf +- Made numerous changes to the spec file based on the output from + spec-cleaner. ------------------------------------------------------------------- Thu Dec 6 21:03:08 UTC 2018 - mpost@suse.com diff --git a/s390-tools.spec b/s390-tools.spec index e2c32fc..8388e4d 100644 --- a/s390-tools.spec +++ b/s390-tools.spec @@ -18,40 +18,16 @@ #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} - %define _fillupdir /var/adm/fillup-templates + %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif Name: s390-tools Version: 2.1.0 Release: 0 -URL: https://github.com/ibm-s390-tools/s390-tools Summary: S/390 tools like zipl and dasdfmt License: MIT Group: System/Kernel -BuildRequires: dracut -BuildRequires: fuse-devel -BuildRequires: gcc-c++ -BuildRequires: gettext-tools -BuildRequires: glibc-devel-static -BuildRequires: kernel-zfcpdump -BuildRequires: libpfm-devel -BuildRequires: ncurses-devel -BuildRequires: net-snmp-devel -BuildRequires: qclib-devel-static -BuildRequires: tcpd-devel -BuildRequires: zlib-devel-static -PreReq: shadow %fillup_prereq dracut permissions -Requires: coreutils -Requires: gawk -Requires: perl-base -Requires: procps -Requires: rsync -Requires: tar -Requires: util-linux -Provides: s390utils:/sbin/dasdfmt -Recommends: blktrace -# Don't build with pie to avoid problems with zipl -#!BuildIgnore: gcc-PIE +URL: https://github.com/ibm-s390-tools/s390-tools Source: s390-tools-%{version}.tar.gz Source1: s390-tools-rpmlintrc Source2: zipl.conf @@ -90,6 +66,7 @@ Source37: appldata.service Source38: hsnc.service Source39: vmlogrdr.service Source40: xpram.service +Source41: pkey.conf ### Obsolete scripts and man pages to be removed once changes in other tools are made ### That's been delayed to at least SLES12 SP1, but I'm leaving the comments here. @@ -208,7 +185,30 @@ Patch96: s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.p Patch97: s390-tools-sles15sp1-zdev-fix-qeth-BridgePort-and-VNICC-conflict-checking.patch Patch98: s390-tools-sles15sp1-qethqoat-add-OSA-Express7S-support.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: dracut +BuildRequires: fuse-devel +BuildRequires: gcc-c++ +BuildRequires: gettext-tools +BuildRequires: glibc-devel-static +BuildRequires: kernel-zfcpdump +BuildRequires: libpfm-devel +BuildRequires: ncurses-devel +BuildRequires: net-snmp-devel +BuildRequires: qclib-devel-static +BuildRequires: tcpd-devel +BuildRequires: zlib-devel-static +# Don't build with pie to avoid problems with zipl +#!BuildIgnore: gcc-PIE +PreReq: shadow %fillup_prereq dracut permissions +Requires: coreutils +Requires: gawk +Requires: perl-base +Requires: procps +Requires: rsync +Requires: tar +Requires: util-linux +Recommends: blktrace +Provides: s390utils:/sbin/dasdfmt ExclusiveArch: s390x %description @@ -222,7 +222,7 @@ zgetdump - tool to get linux system dumps from DASD %package -n osasnmpd Summary: OSA-Express SNMP subagent -License: GPL-2.0+ +License: GPL-2.0-or-later Group: Productivity/Networking/Other Requires: perl @@ -237,7 +237,7 @@ communicates with him via the AgentX protocol. %package zdsfs Summary: QSAM access to z/OS data -License: GPL-2.0+ and SUSE-NonFree +License: GPL-2.0-or-later AND NonFree Group: Productivity/Networking/Other %description zdsfs @@ -251,7 +251,7 @@ represented as a file in that directory. %package hmcdrvfs Summary: HMC drive file system based on FUSE -License: GPL-2.0 +License: GPL-2.0-only Group: System/Base Requires: fuse @@ -260,7 +260,7 @@ This package contains a HMC drive file system based on FUSE and a tool to list files and directories. %prep -%setup -q -n %{name}-%{version} +%setup -q # SUSE patches %patch1 -p1 @@ -362,7 +362,7 @@ to list files and directories. %patch97 -p1 %patch98 -p1 -cp -vi %{S:22} CAUTION +cp -vi %{SOURCE22} CAUTION %build @@ -372,69 +372,74 @@ cp -vi %{S:22} CAUTION export OPT_FLAGS="%{optflags}" export KERNELIMAGE_MAKEFLAGS="%%{?_smp_mflags}" -make ZFCPDUMP_DIR=/usr/lib/s390-tools/zfcpdump DISTRELEASE=%{release} HAVE_CRYPTSETUP2=0 -gcc -static -o read_values ${OPT_FLAGS} %{S:86} -lqc +make %{?_smp_mflags} \ + ZFCPDUMP_DIR=%{_prefix}/lib/s390-tools/zfcpdump \ + DISTRELEASE=%{release} \ + HAVE_CRYPTSETUP2=0 +gcc -static -o read_values ${OPT_FLAGS} %{SOURCE86} -lqc %install mkdir -p %{buildroot}/boot/zipl +mkdir -p %{buildroot}%{_sysconfdir}//zkey/repository %make_install HAVE_CRYPTSETUP2=0 \ - ZFCPDUMP_DIR=/usr/lib/s390-tools/zfcpdump \ + ZFCPDUMP_DIR=%{_prefix}/lib/s390-tools/zfcpdump \ DISTRELEASE=%{release} \ SYSTEMDSYSTEMUNITDIR=%{_unitdir} \ HAVE_DRACUT=1 install -m 755 read_values %{buildroot}/%{_bindir}/ -install -m644 -t %{buildroot}/%{_mandir}/man8 %{S:87} +install -m644 -t %{buildroot}/%{_mandir}/man8 %{SOURCE87} export ROOT_BUILD_DIR="%{_builddir}/%{name}-%{version}/zfcpdump/kernel" -install -D -m600 /boot/image-*-zfcpdump %{buildroot}/usr/lib/s390-tools/zfcpdump/zfcpdump_part.image +install -D -m600 /boot/image-*-zfcpdump %{buildroot}%{_prefix}/lib/s390-tools/zfcpdump/zfcpdump_part.image -install -D -m644 etc/cpuplugd.conf %{buildroot}/etc/cpuplugd.conf -install -D -m644 etc/udev/rules.d/40-z90crypt.rules %{buildroot}/usr/lib/udev/rules.d/40-z90crypt.rules -install -D -m644 etc/udev/rules.d/57-osasnmpd.rules %{buildroot}/usr/lib/udev/rules.d/57-osasnmpd.rules -install -D -m644 etc/udev/rules.d/59-dasd.rules %{buildroot}/usr/lib/udev/rules.d/59-dasd.rules -install -D -m644 etc/udev/rules.d/90-cpi.rules %{buildroot}/usr/lib/udev/rules.d/90-cpi.rules +install -D -m644 etc/cpuplugd.conf %{buildroot}%{_sysconfdir}/cpuplugd.conf +install -D -m644 etc/udev/rules.d/40-z90crypt.rules %{buildroot}%{_prefix}/lib/udev/rules.d/40-z90crypt.rules +install -D -m644 etc/udev/rules.d/57-osasnmpd.rules %{buildroot}%{_prefix}/lib/udev/rules.d/57-osasnmpd.rules +install -D -m644 etc/udev/rules.d/59-dasd.rules %{buildroot}%{_prefix}/lib/udev/rules.d/59-dasd.rules +install -D -m644 etc/udev/rules.d/90-cpi.rules %{buildroot}%{_prefix}/lib/udev/rules.d/90-cpi.rules install -D -m644 etc/sysconfig/cpi %{buildroot}%{_fillupdir}/sysconfig.cpi install -D -m644 etc/sysconfig/dumpconf %{buildroot}%{_fillupdir}/sysconfig.dumpconf install -D -m644 etc/sysconfig/mon_fsstatd %{buildroot}%{_fillupdir}/sysconfig.mon_fsstatd install -D -m644 etc/sysconfig/mon_procd %{buildroot}%{_fillupdir}/sysconfig.mon_procd -mv iucvterm/doc/ts-shell/iucvconn_on_login %{buildroot}/usr/bin/iucvconn_on_login -install -D -m644 %{S:26} %{buildroot}/%{_unitdir}/cio_ignore.service -install -D -m755 %{S:27} %{buildroot}/usr/lib/systemd/scripts/setup_cio_ignore.sh -install -D -m755 %{S:31} %{buildroot}/usr/lib/systemd/scripts/detach_disks.sh -install -D -m644 %{S:35} %{buildroot}/%{_unitdir}/virtsetup.service -install -D -m755 %{S:36} %{buildroot}/usr/lib/systemd/scripts/virtsetup.sh -install -D -m644 %{S:37} %{buildroot}/%{_unitdir}/appldata.service -install -D -m644 %{S:38} %{buildroot}/%{_unitdir}/hsnc.service -install -D -m644 %{S:39} %{buildroot}/%{_unitdir}/vmlogrdr.service -install -D -m644 %{S:40} %{buildroot}/%{_unitdir}/xpram.service +mv iucvterm/doc/ts-shell/iucvconn_on_login %{buildroot}%{_bindir}/iucvconn_on_login +install -D -m644 %{SOURCE26} %{buildroot}/%{_unitdir}/cio_ignore.service +install -D -m755 %{SOURCE27} %{buildroot}%{_prefix}/lib/systemd/scripts/setup_cio_ignore.sh +install -D -m755 %{SOURCE31} %{buildroot}%{_prefix}/lib/systemd/scripts/detach_disks.sh +install -D -m644 %{SOURCE35} %{buildroot}/%{_unitdir}/virtsetup.service +install -D -m755 %{SOURCE36} %{buildroot}%{_prefix}/lib/systemd/scripts/virtsetup.sh +install -D -m644 %{SOURCE37} %{buildroot}/%{_unitdir}/appldata.service +install -D -m644 %{SOURCE38} %{buildroot}/%{_unitdir}/hsnc.service +install -D -m644 %{SOURCE39} %{buildroot}/%{_unitdir}/vmlogrdr.service +install -D -m644 %{SOURCE40} %{buildroot}/%{_unitdir}/xpram.service +install -D -m644 %{SOURCE41} %{buildroot}%{_prefix}/lib/modules-load.d/pkey.conf -cp %{S:18} zpxe.rexx -cp %{S:2} zipl.conf.sample -cp %{S:23} README.SUSE +cp %{SOURCE18} zpxe.rexx +cp %{SOURCE2} zipl.conf.sample +cp %{SOURCE23} README.SUSE cd %{buildroot} -install -D -m755 %{S:3} %{buildroot}/usr/lib/systemd/scripts/hsnc -install -D -m644 %{S:4} %{buildroot}%{_fillupdir}/sysconfig.hsnc -install -D -m755 %{S:5} %{buildroot}/usr/lib/systemd/scripts/xpram -install -D -m644 %{S:6} %{buildroot}%{_fillupdir}/sysconfig.xpram -install -D -m755 %{S:7} %{buildroot}/usr/lib/systemd/scripts/appldata -install -D -m644 %{S:8} %{buildroot}%{_fillupdir}/sysconfig.appldata -install -D -m755 %{S:10} sbin/dasdro -install -D -m755 %{S:11} sbin/dasd_reload -install -D -m755 %{S:12} sbin/mkdump -install -D -m644 %{S:13} %{buildroot}%{_fillupdir}/sysconfig.osasnmpd -install -D -m755 %{S:14} sbin/zfcp_san_disc -install -D -m644 %{S:15} %{buildroot}/%{_mandir}/man8 -install -D -m644 %{S:19} %{buildroot}/usr/lib/udev/rules.d/52-xpram.rules -install -D -m644 %{S:20} %{buildroot}/usr/lib/udev/rules.d/52-hw_random.rules -install -D -m644 %{S:21} %{buildroot}/usr/lib/udev/rules.d/59-graf.rules -install -D -m644 %{S:28} %{buildroot}/usr/lib/udev/rules.d/59-prng.rules -install -D -m644 %{S:29} %{buildroot}/usr/lib/udev/rules.d/59-zfcp-compat.rules -install -D -m644 %{S:30} %{buildroot}/etc/modprobe.d/90-s390-tools.conf -install -D -m755 %{S:32} %{buildroot}/sbin/killcdl -install -D -m755 %{S:33} %{buildroot}/sbin/lgr_check -install -D -m644 %{S:34} %{buildroot}%{_fillupdir}/sysconfig.virtsetup +install -D -m755 %{SOURCE3} %{buildroot}%{_prefix}/lib/systemd/scripts/hsnc +install -D -m644 %{SOURCE4} %{buildroot}%{_fillupdir}/sysconfig.hsnc +install -D -m755 %{SOURCE5} %{buildroot}%{_prefix}/lib/systemd/scripts/xpram +install -D -m644 %{SOURCE6} %{buildroot}%{_fillupdir}/sysconfig.xpram +install -D -m755 %{SOURCE7} %{buildroot}%{_prefix}/lib/systemd/scripts/appldata +install -D -m644 %{SOURCE8} %{buildroot}%{_fillupdir}/sysconfig.appldata +install -D -m755 %{SOURCE10} sbin/dasdro +install -D -m755 %{SOURCE11} sbin/dasd_reload +install -D -m755 %{SOURCE12} sbin/mkdump +install -D -m644 %{SOURCE13} %{buildroot}%{_fillupdir}/sysconfig.osasnmpd +install -D -m755 %{SOURCE14} sbin/zfcp_san_disc +install -D -m644 %{SOURCE15} %{buildroot}/%{_mandir}/man8 +install -D -m644 %{SOURCE19} %{buildroot}%{_prefix}/lib/udev/rules.d/52-xpram.rules +install -D -m644 %{SOURCE20} %{buildroot}%{_prefix}/lib/udev/rules.d/52-hw_random.rules +install -D -m644 %{SOURCE21} %{buildroot}%{_prefix}/lib/udev/rules.d/59-graf.rules +install -D -m644 %{SOURCE28} %{buildroot}%{_prefix}/lib/udev/rules.d/59-prng.rules +install -D -m644 %{SOURCE29} %{buildroot}%{_prefix}/lib/udev/rules.d/59-zfcp-compat.rules +install -D -m644 %{SOURCE30} %{buildroot}%{_sysconfdir}/modprobe.d/90-s390-tools.conf +install -D -m755 %{SOURCE32} %{buildroot}/sbin/killcdl +install -D -m755 %{SOURCE33} %{buildroot}/sbin/lgr_check +install -D -m644 %{SOURCE34} %{buildroot}%{_fillupdir}/sysconfig.virtsetup if [ ! -d %{_sbindir} ]; then rm -f %{_sbindir} @@ -457,13 +462,13 @@ if [ ! -d %{_bindir} ]; then rm -f %{_bindir} mkdir -p %{_bindir} fi -install -D -m755 %{S:24} usr/bin/cputype +install -D -m755 %{SOURCE24} usr/bin/cputype -install -m644 -t %{buildroot}/%{_mandir}/man8 %{S:25} +install -m644 -t %{buildroot}/%{_mandir}/man8 %{SOURCE25} ### Obsolete scripts and man pages to be removed once changes in other tools are made -install -m755 -t sbin/ %{S:88} %{S:89} %{S:90} %{S:91} %{S:92} %{S:93} -install -m644 -t %{buildroot}/%{_mandir}/man8 %{S:94} %{S:95} %{S:96} %{S:97} %{S:98} %{S:99} +install -m755 -t sbin/ %{SOURCE88} %{SOURCE89} %{SOURCE90} %{SOURCE91} %{SOURCE92} %{SOURCE93} +install -m644 -t %{buildroot}/%{_mandir}/man8 %{SOURCE94} %{SOURCE95} %{SOURCE96} %{SOURCE97} %{SOURCE98} %{SOURCE99} ### ### lsmem/chmem have been added to util-linux @@ -473,7 +478,7 @@ rm -fv %{buildroot}/%{_sbindir}/lsmem rm -fv %{buildroot}/%{_sbindir}/chmem find . ! -type d | - %__sed 's/^.//;\-/man/-s/^.*$/%doc &.gz/' > %{_builddir}/%{name}-filelist + sed 's/^.//;\-/man/-s/^.*$/%doc &.gz/' > %{_builddir}/%{name}-filelist grep -v -E 'osasnmp|*\.conf$' %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.list grep osasnmp[^-] %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.osasnmp @@ -482,25 +487,27 @@ mkdir -p usr/lib/net-snmp/agents cd usr/lib/net-snmp/agents cat <osasnmpd #!/bin/sh -PIDFILE=/var/run/osasnmpd.pid +PIDFILE=%{_localstatedir}/run/osasnmpd.pid function cleanup { rm -f \$PIDFILE - kill \`cat /var/run/osasnmpd.real.pid\` + kill \`cat %{_localstatedir}/run/osasnmpd.real.pid\` } -. /etc/sysconfig/osasnmpd +. %{_sysconfdir}/sysconfig/osasnmpd trap cleanup 0 echo \$\$ >\$PIDFILE -/usr/sbin/osasnmpd -f -P /var/run/osasnmpd.real.pid \$OSASNMPD_PARAMETERS "\$@" +%{_sbindir}/osasnmpd -f -P %{_localstatedir}/run/osasnmpd.real.pid \$OSASNMPD_PARAMETERS "\$@" EOT chmod 755 osasnmpd %verifyscript -%verify_permissions -e /var/log/ts-shell +%verify_permissions -e %{_localstatedir}/log/ts-shell %pre # check for ts-shell group or create it getent group ts-shell >/dev/null 2>&1 || groupadd -r ts-shell +# check for zkeyadm group or create it +getent group zkeyadm >/dev/null 2>&1 || groupadd -r zkeyadm %service_add_pre appldata.service %service_add_pre cio_ignore.service %service_add_pre cpacfstatsd.service @@ -521,7 +528,7 @@ if [ "${INITPGM}" == "systemd" ]; then systemctl daemon-reload fi -%set_permissions /var/log/ts-shell +%set_permissions %{_localstatedir}/log/ts-shell # Create symbolic links to the scripts from setup and boot directories %service_add_post appldata.service @@ -549,8 +556,8 @@ fi %{fillup_only -n xpram} %triggerin -- kernel-default -grep -q '^/usr/bin/ts-shell$' /etc/shells \ - || echo "/usr/bin/ts-shell" >> /etc/shells +grep -q '^%{_bindir}/ts-shell$' %{_sysconfdir}/shells \ + || echo "%{_bindir}/ts-shell" >> %{_sysconfdir}/shells %post -n osasnmpd %{fillup_only -n osasnmpd} @@ -599,9 +606,9 @@ fi if test x$1 = x0; then # remove ts-shell from /etc/shells - grep -v '^/usr/bin/ts-shell$' /etc/shells > /etc/shells.ts-new - mv /etc/shells.ts-new /etc/shells - chmod 0644 /etc/shells + grep -v '^%{_bindir}/ts-shell$' %{_sysconfdir}/shells > %{_sysconfdir}/shells.ts-new + mv %{_sysconfdir}/shells.ts-new %{_sysconfdir}/shells + chmod 0644 %{_sysconfdir}/shells fi %preun -n osasnmpd @@ -615,51 +622,54 @@ fi %doc iucvterm/doc/ts-shell %doc zpxe.rexx %doc zipl.conf.sample -%dir /etc/iucvterm -%config %attr(0640,root,ts-shell) /etc/iucvterm/ts-audit-systems.conf -%config %attr(0640,root,ts-shell) /etc/iucvterm/ts-authorization.conf -%config %attr(0640,root,ts-shell) /etc/iucvterm/ts-shell.conf -%config %attr(0640,root,ts-shell) /etc/iucvterm/unrestricted.conf -%config /etc/modprobe.d/90-s390-tools.conf -%config /etc/cpuplugd.conf +%dir %{_sysconfdir}/iucvterm +%config %attr(0640,root,ts-shell) %{_sysconfdir}/iucvterm/ts-audit-systems.conf +%config %attr(0640,root,ts-shell) %{_sysconfdir}/iucvterm/ts-authorization.conf +%config %attr(0640,root,ts-shell) %{_sysconfdir}/iucvterm/ts-shell.conf +%config %attr(0640,root,ts-shell) %{_sysconfdir}/iucvterm/unrestricted.conf +%dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey +%dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/repository +%config %{_sysconfdir}/modprobe.d/90-s390-tools.conf +%config %{_sysconfdir}/cpuplugd.conf %config(noreplace) /boot/zipl/active_devices.txt -%dir %attr(2770,root,ts-shell) /var/log/ts-shell -%dir /etc/cmsfs-fuse -%config %attr(0640,root,root) /etc/cmsfs-fuse/filetypes.conf -%dir /usr/lib/s390-tools -%dir /usr/lib/s390-tools/zfcpdump -%dir /usr/lib/udev/rules.d -%dir /usr/lib/systemd/scripts +%dir %attr(2770,root,ts-shell) %{_localstatedir}/log/ts-shell +%dir %{_sysconfdir}/cmsfs-fuse +%config %attr(0640,root,root) %{_sysconfdir}/cmsfs-fuse/filetypes.conf +%dir %{_prefix}/lib/s390-tools +%dir %{_prefix}/lib/s390-tools/zfcpdump +%dir %{_prefix}/lib/udev/rules.d +%dir %{_prefix}/lib/systemd/scripts %dir %{_unitdir} -%dir /usr/share/s390-tools -%dir /usr/share/s390-tools/cpumf -%dir /usr/share/s390-tools/netboot +%dir %{_datadir}/s390-tools +%dir %{_datadir}/s390-tools/cpumf +%dir %{_datadir}/s390-tools/netboot +%dir %{_prefix}/lib/dracut/modules.d/95zdev %dir /boot/zipl %dir /lib/s390-tools/ -%exclude /usr/lib/udev/rules.d/57-osasnmpd.rules -%exclude /usr/bin/zdsfs -%exclude /usr/bin/hmcdrvfs -%exclude /usr/sbin/lshmc +%{_prefix}/lib/modules-load.d/pkey.conf +%exclude %{_prefix}/lib/udev/rules.d/57-osasnmpd.rules +%exclude %{_bindir}/zdsfs +%exclude %{_bindir}/hmcdrvfs +%exclude %{_sbindir}/lshmc %exclude %{_mandir}/man1/zdsfs.1.gz %exclude %{_mandir}/man1/hmcdrvfs.1.gz %exclude %{_mandir}/man8/lshmc.8.gz -/usr/lib/dracut/modules.d/95zdev %files -n osasnmpd -f %{_builddir}/%{name}.osasnmp %defattr(-,root,root) -/usr/lib/net-snmp/agents/osasnmpd +%{_prefix}/lib/net-snmp/agents/osasnmpd %files zdsfs %defattr(-,root,root) %doc CAUTION -/usr/bin/zdsfs -/usr/share/man/man1/zdsfs.1.gz +%{_bindir}/zdsfs +%{_mandir}/man1/zdsfs.1%{?ext_man} %files hmcdrvfs %defattr(-,root,root) -/usr/bin/hmcdrvfs -/usr/sbin/lshmc -%{_mandir}/man1/hmcdrvfs.1.gz -%{_mandir}/man8/lshmc.8.gz +%{_bindir}/hmcdrvfs +%{_sbindir}/lshmc +%{_mandir}/man1/hmcdrvfs.1%{?ext_man} +%{_mandir}/man8/lshmc.8%{?ext_man} %changelog