Cleanly remove zfs-modules-devel headers
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 13 Aug 2012 22:47:18 +0000 (15:47 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 13 Aug 2012 23:35:26 +0000 (16:35 -0700)
Add the /usr/src/zfs-<version>-<release>/<kernel> directory to
the zfs-modules-devel package.  This ensures that this directory
will be removed when the package is removed.

We do not include the higher level /usr/src/zfs-<version>-<release>
directory since there may be builds for multiple kernels.  Instead,
a %postun rmdir is added which attempts to remove this directory.
It will only succeed when the last zfs-modules-devel-* package
for this specific release is removed.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
zfs-modules.spec.in

index 057da20..4ac9659 100644 (file)
@@ -579,7 +579,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files devel
 %defattr(-,root,root)
-%{_prefix}/src/*/%{kver_kern}/*
+%{_prefix}/src/*/%{kver_kern}
 
 %post
 if [ -f /boot/System.map-%{kver_kern} ]; then
@@ -595,6 +595,10 @@ else
        /sbin/depmod -a || exit 0
 fi
 
+%postun devel
+rmdir %{_prefix}/src/@PACKAGE@-%{version}-@ZFS_META_RELEASE@ 2>/dev/null
+exit 0
+
 %endif
 %if %{?with_kernel_debug}
 
@@ -604,7 +608,7 @@ fi
 
 %files debug-devel
 %defattr(-,root,root)
-%{_prefix}/src/*/%{kver_dbug}/*
+%{_prefix}/src/*/%{kver_dbug}
 
 %post debug
 if [ -f /boot/System.map-%{kver_dbug} ]; then
@@ -620,12 +624,16 @@ else
        /sbin/depmod -a || exit 0
 fi
 
+%postun debug-devel
+rmdir %{_prefix}/src/@PACKAGE@-%{version}-@ZFS_META_RELEASE@ 2>/dev/null
+exit 0
+
 %endif
 %if %{?with_kernel_dkms}
 
 %files dkms
 %defattr(-,root,root)
-%{_prefix}/src/@PACKAGE@-%{version}/*
+%{_prefix}/src/@PACKAGE@-%{version}
 
 %post dkms
 for POSTINST in %{_prefix}/lib/dkms/common.postinst; do