[alsa-utils] install everything in /usr

Harald Hoyer harald at fedoraproject.org
Wed Jan 25 19:48:33 UTC 2012


commit de1af9d6bf82e95920fcc3ddae71eaee46c714ee
Author: Harald Hoyer <harald at redhat.com>
Date:   Wed Jan 25 18:31:42 2012 +0100

    install everything in /usr
    
    This patch is needed for the /usr-move feature
    https://fedoraproject.org/wiki/Features/UsrMove
    
    This package requires now 'filesystem' >= 3, which is only installable
    on a system which has /bin, /sbin, /lib, /lib64 as symlinks to /usr and
    not regular directories. The 'filesystem' package acts as a guard, to
    prevent *this* package to be installed on old unconverted systems.
    
    New installations will have the 'filesystem' >=3 layout right away, old
    installations need to be converted with anaconda or dracut first; only
    after that, the 'filesystem' package, and also *this* package can be
    installed.
    
    Packages *should* not install files in /bin, /sbin, /lib, /lib64, but
    only in the corresponding directories in /usr. Packages *must* not
    install conflicting files with the same names in the corresponding
    directories in / and /usr. Especially compatibilty symlinks must not be
    installed.
    
    Feel free to modify any of the changes to the spec file, but keep the
    above in mind.

 alsa-utils.spec |   58 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 31 insertions(+), 27 deletions(-)
---
diff --git a/alsa-utils.spec b/alsa-utils.spec
index f308197..862f7b3 100644
--- a/alsa-utils.spec
+++ b/alsa-utils.spec
@@ -4,7 +4,7 @@
 Summary: Advanced Linux Sound Architecture (ALSA) utilities
 Name:    alsa-utils
 Version: %{baseversion}%{?fixversion}
-Release: 7%{?dist}
+Release: 8%{?dist}
 License: GPLv2+
 Group:   Applications/Multimedia
 URL:     http://www.alsa-project.org/
@@ -22,8 +22,10 @@ BuildRequires: libsamplerate-devel
 BuildRequires: ncurses-devel
 BuildRequires: gettext-devel
 BuildRequires: xmlto
-Conflicts: udev < 062
-Requires: alsa-lib >= %{baseversion}, systemd-units, dialog
+BuildRequires: systemd-units >= 39-2
+Conflicts: udev <= 179-2
+Requires: alsa-lib >= %{baseversion}, systemd-units >= 39-2, dialog
+Conflicts: filesystem < 3
 
 # https://bugzilla.redhat.com/show_bug.cgi?id=738227
 Patch0: 0001-Unmute-MacBookAir4-1-speakers.patch
@@ -37,7 +39,9 @@ Architecture (ALSA).
 %patch0 -p1 -b .mba41
 
 %build
-%configure CFLAGS="$RPM_OPT_FLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" --sbindir=/sbin --disable-alsaconf --with-systemdsystemunitdir=/lib/systemd/system
+%configure CFLAGS="$RPM_OPT_FLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" --disable-alsaconf \
+   --with-udev-rules-dir=%{_prefix}/lib/udev/rules.d \
+   --with-systemdsystemunitdir=%{_unitdir}
 %{__make} %{?_smp_mflags}
 %{__cp} %{SOURCE4} .
 
@@ -47,26 +51,24 @@ make install DESTDIR=$RPM_BUILD_ROOT
 %find_lang %{name}
 
 # Install ALSA udev rules
-install -p -m 644 %{SOURCE10} $RPM_BUILD_ROOT/lib/udev/rules.d/90-alsa-restore.rules
-install -p -m 644 %{SOURCE20} $RPM_BUILD_ROOT/lib/systemd/system/alsa-restore.service
-install -p -m 644 %{SOURCE21} $RPM_BUILD_ROOT/lib/systemd/system/alsa-store.service
+mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/udev/rules.d
+install -p -m 644 %{SOURCE10} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/rules.d/90-alsa-restore.rules
+mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
+install -p -m 644 %{SOURCE20} $RPM_BUILD_ROOT/%{_unitdir}/alsa-restore.service
+install -p -m 644 %{SOURCE21} $RPM_BUILD_ROOT/%{_unitdir}/alsa-store.service
 
 # Install support utilities
-mkdir -p -m755 $RPM_BUILD_ROOT/bin
-install -p -m 755 alsaunmute %{buildroot}/bin/
+mkdir -p -m755 $RPM_BUILD_ROOT/%{_bindir}
+install -p -m 755 alsaunmute %{buildroot}/%{_bindir}
 mkdir -p -m755 $RPM_BUILD_ROOT/%{_mandir}/man1
 install -p -m 644 %{SOURCE5} %{buildroot}/%{_mandir}/man1/alsaunmute.1
 
-# Link alsactl to /usr/sbin
-mkdir -p $RPM_BUILD_ROOT/%{_sbindir}
-ln -s ../../sbin/alsactl $RPM_BUILD_ROOT/%{_sbindir}/alsactl
+# Move /usr/share/alsa/init to /usr/lib/alsa/init
+mkdir -p -m 755 %{buildroot}/%{_prefix}/lib/alsa
+mv %{buildroot}%{_datadir}/alsa/init %{buildroot}/%{_prefix}/lib/alsa
 
-# Move /usr/share/alsa/init to /lib/alsa/init
-mkdir -p -m 755 %{buildroot}/lib/alsa
-mv %{buildroot}%{_datadir}/alsa/init %{buildroot}/lib/alsa
-
-# Link /lib/alsa/init to /usr/share/alsa/init back
-ln -s ../../../lib/alsa/init %{buildroot}%{_datadir}/alsa/init
+# Link /usr/lib/alsa/init to /usr/share/alsa/init back
+ln -s ../../lib/alsa/init %{buildroot}%{_datadir}/alsa/init
 
 # Create a place for global configuration
 mkdir -p -m 755 %{buildroot}/etc/alsa
@@ -86,21 +88,19 @@ ln -s alsa-info %{buildroot}/usr/bin/alsa-info.sh
 %defattr(-,root,root,-)
 %doc COPYING ChangeLog README TODO
 %config /etc/alsa/*
-/bin/*
-/sbin/*
-/lib/udev/rules.d/*
-/lib/systemd/system/*
-/lib/systemd/system/basic.target.wants/*
-/lib/systemd/system/shutdown.target.wants/*
-/lib/alsa/init/*
+%{_prefix}/lib/udev/rules.d/*
+%{_unitdir}/*
+%{_unitdir}/basic.target.wants/*
+%{_unitdir}/shutdown.target.wants/*
+%{_prefix}/lib/alsa/init/*
 %{_bindir}/*
 %{_sbindir}/*
 %{_datadir}/alsa/
 %{_datadir}/sounds/*
 %{_mandir}/man?/*
 %dir /etc/alsa/
-%dir /lib/alsa/
-%dir /lib/alsa/init/
+%dir %{_prefix}/lib/alsa/
+%dir %{_prefix}/lib/alsa/init/
 %dir /var/lib/alsa/
 
 %post
@@ -112,6 +112,10 @@ if [ -s /etc/asound.state -a ! -s /var/lib/alsa/asound.state ] ; then
 fi
 
 %changelog
+* Wed Jan 25 2012 Harald Hoyer <harald at redhat.com> 1.0.24.1-8
+- install everything in /usr
+  https://fedoraproject.org/wiki/Features/UsrMove
+
 * Thu Jan 12 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.0.24.1-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 


More information about the scm-commits mailing list