diff --git a/nut.spec b/nut.spec
index 16b752a..34ef1fe 100644
--- a/nut.spec
+++ b/nut.spec
@@ -5,7 +5,7 @@
 %define initdir /etc/rc.d/init.d
 %define cgidir  /var/www/nut-cgi-bin
 %define piddir  /var/run/nut
-%define modeldir /sbin
+%define modeldir %{_prefix}/sbin
 
 %if ! (0%{?fedora} > 12 || 0%{?rhel} > 6)
 %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
@@ -26,6 +26,9 @@ Requires(pre): shadow-utils udev
 Requires(post): fileutils chkconfig 
 Requires(postun): fileutils chkconfig 
 Obsoletes: nut-hal < 2.6.0-7
+Conflicts: filesystem < 3
+Conflicts: systemd < 38
+Conflicts: udev < 176
 
 BuildRequires: autoconf
 BuildRequires: automake
@@ -126,10 +129,10 @@ autoreconf -i
     --sysconfdir=%{_sysconfdir}/ups \
     --with-cgipath=%{cgidir} \
     --with-drvpath=%{modeldir} \
-    --with-systemdsystemunitdir=/lib/systemd/system \
+    --with-systemdsystemunitdir=%{_unitdir} \
     --with-pkgconfig-dir=%{_libdir}/pkgconfig \
     --disable-static \
-    --with-udev-dir=/lib/udev \
+    --with-udev-dir=%{_prefix}/lib/udev \
     --libdir=%{_libdir}
 #    --with-doc \ asciidoc >= 8.6.3 is required
 
@@ -152,7 +155,7 @@ mkdir -p %{buildroot}%{modeldir} \
 make install DESTDIR=%{buildroot}
 
 %if %{?fedora}0 > 140 || %{?rhel}0 > 60
-  install -p -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/tmpfiles.d/nut-client.conf
+  install -p -D -m 644 %{SOURCE3} %{buildroot}%{_prefix}/lib/tmpfiles.d/nut-client.conf
 %endif
 
 #install -m 644 man/gamatronic.*  %{buildroot}%{_mandir}/man8/
@@ -169,8 +172,8 @@ done
 popd
 
 #fix collision with virtualbox
-mv %{buildroot}/lib/udev/rules.d/52-nut-usbups.rules %{buildroot}/lib/udev/rules.d/62-nut-usbups.rules
-mv %{buildroot}/lib/udev/rules.d/52-nut-ipmipsu.rules %{buildroot}/lib/udev/rules.d/62-nut-ipmipsu.rules
+mv %{buildroot}%{_prefix}/lib/udev/rules.d/52-nut-usbups.rules %{buildroot}%{_prefix}/lib/udev/rules.d/62-nut-usbups.rules
+mv %{buildroot}%{_prefix}/lib/udev/rules.d/52-nut-ipmipsu.rules %{buildroot}%{_prefix}/lib/udev/rules.d/62-nut-ipmipsu.rules
 
 #pushd %{buildroot}
 # fix encoding
@@ -191,6 +194,9 @@ install -p -m 644 scripts/python/app/pixmaps/* %{buildroot}%{_datadir}/nut/nut-m
 install -p -D scripts/python/app/nut-monitor.png %{buildroot}%{_datadir}/pixmaps/nut-monitor.png
 desktop-file-install --dir=%{buildroot}%{_datadir}/applications scripts/python/app/nut-monitor.desktop
 ln -s %{_datadir}/nut/nut-monitor/nut-monitor %{buildroot}%{_bindir}/nut-monitor
+# move hard-coded systemd shutdown script
+mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown
+mv -f %{buildroot}/lib/systemd/system-shutdown/nutshutdown %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ || :
 
 %pre
 /usr/sbin/useradd -c "Network UPS Tools" -u %{nut_uid}  \
@@ -337,13 +343,12 @@ rm -rf %{buildroot}
 %config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/ups.conf
 %config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upsd.conf
 %config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upsd.users
-%attr(644,root,root) /lib/udev/rules.d/62-nut-usbups.rules
-%attr(644,root,root) /lib/udev/rules.d/62-nut-ipmipsu.rules
+%attr(644,root,root) %{_prefix}/lib/udev/rules.d/62-nut-usbups.rules
+%attr(644,root,root) %{_prefix}/lib/udev/rules.d/62-nut-ipmipsu.rules
 %{modeldir}/*
 %exclude %{modeldir}/netxml-ups
-/lib/systemd/system/nut-driver.service
-/lib/systemd/system/nut-server.service
-%{_sbindir}/upsd
+%{_unitdir}/nut-driver.service
+%{_unitdir}/nut-server.service
 %{_bindir}/nut-scanner
 %{_bindir}/upslog
 %{_libdir}/libnutscan.so.*
@@ -421,7 +426,7 @@ rm -rf %{buildroot}
 %config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upsmon.conf
 %config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upssched.conf
 %if %{?fedora}0 > 140 || %{?rhel}0 > 60
-  %config(noreplace) %{_sysconfdir}/tmpfiles.d/nut-client.conf
+  %{_prefix}/lib/tmpfiles.d/nut-client.conf
 %endif
 %dir %attr(750,nut,nut) %{_localstatedir}/lib/ups
 %ghost %{piddir}
@@ -431,8 +436,8 @@ rm -rf %{buildroot}
 %{_sbindir}/upsmon
 %{_sbindir}/upssched
 %{_bindir}/upssched-cmd
-/lib/systemd/system/nut-monitor.service
-/lib/systemd/system-shutdown/nutshutdown
+%{_unitdir}/nut-monitor.service
+%{_prefix}/lib/systemd/system-shutdown/nutshutdown
 %{_libdir}/libupsclient.so.*
 %{_mandir}/man5/upsmon.conf.5.gz
 %{_mandir}/man5/upssched.conf.5.gz
@@ -476,6 +481,10 @@ rm -rf %{buildroot}
 %{_libdir}/pkgconfig/libupsclient.pc
 
 %changelog
+* Tue Nov 22 2011 Kay Sievers <kay@redhat.com>
+- install in /usr/sbin, /sbin is just a symlink
+- move tmpfiles to /usr/lib, /etc is reserved for local administration
+
 * Fri Sep 16 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.6.2-1
 - nut updated to 2.6.2
 
