Message ID | 20181213214802.7730-1-fontaine.fabrice@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] alsa-utils: add udev optional dependency | expand |
Hi Fabrice, Fabrice Fontaine writes: > Add udev optional dependency and fix build with pkgconf 1.5.3 > > Since the bump to 1.5.3, pkgconf prepends the sysroot to all absolute > paths found in the .pc file. This is correct when the paths refer to > something in STAGING_DIR (e.g. libdir, includedir), but not when it > refers to something used for the target. > > alsa-utils uses the udevdir variable from udev.pc to decide where to > install things. Since DESTDIR is prepended to the install destination, > this will end up in the wrong location. > > Until a better solution is found in pkgconf, pass the udevrulesdir to > use explicitly instead of relying on udev.pc. > > Fixes: > - http://autobuild.buildroot.org/results/d8ad140ae52b4fe8e153de3835f3f17e92b58e53 > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > package/alsa-utils/alsa-utils.mk | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk > index 0bf2b432bd..422318796f 100644 > --- a/package/alsa-utils/alsa-utils.mk > +++ b/package/alsa-utils/alsa-utils.mk > @@ -28,6 +28,11 @@ ALSA_UTILS_CONF_OPTS = \ > --disable-rst2man \ > --with-curses=$(if $(BR2_PACKAGE_NCURSES_WCHAR),ncursesw,ncurses) > > +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) > +ALSA_UTILS_CONF_OPTS += --with-udev-rules-dir=/usr/lib/udev/rules.d > +ALSA_UTILS_DEPENDENCIES += udev Is there a build time dependency of alsa-utils on udev? As far as I can see alsa-utils only installs the .rules file, so the order of build should not matter. > +endif > + > ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSALOOP),y) > ALSA_UTILS_CONF_OPTS += --enable-alsaloop > else baruch
Dear Baruch, Le ven. 14 déc. 2018 à 05:40, Baruch Siach <baruch@tkos.co.il> a écrit : > > Hi Fabrice, > > Fabrice Fontaine writes: > > Add udev optional dependency and fix build with pkgconf 1.5.3 > > > > Since the bump to 1.5.3, pkgconf prepends the sysroot to all absolute > > paths found in the .pc file. This is correct when the paths refer to > > something in STAGING_DIR (e.g. libdir, includedir), but not when it > > refers to something used for the target. > > > > alsa-utils uses the udevdir variable from udev.pc to decide where to > > install things. Since DESTDIR is prepended to the install destination, > > this will end up in the wrong location. > > > > Until a better solution is found in pkgconf, pass the udevrulesdir to > > use explicitly instead of relying on udev.pc. > > > > Fixes: > > - http://autobuild.buildroot.org/results/d8ad140ae52b4fe8e153de3835f3f17e92b58e53 > > > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > --- > > package/alsa-utils/alsa-utils.mk | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk > > index 0bf2b432bd..422318796f 100644 > > --- a/package/alsa-utils/alsa-utils.mk > > +++ b/package/alsa-utils/alsa-utils.mk > > @@ -28,6 +28,11 @@ ALSA_UTILS_CONF_OPTS = \ > > --disable-rst2man \ > > --with-curses=$(if $(BR2_PACKAGE_NCURSES_WCHAR),ncursesw,ncurses) > > > > +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) > > +ALSA_UTILS_CONF_OPTS += --with-udev-rules-dir=/usr/lib/udev/rules.d > > +ALSA_UTILS_DEPENDENCIES += udev > > Is there a build time dependency of alsa-utils on udev? As far as I can > see alsa-utils only installs the .rules file, so the order of build > should not matter. Indeed, there is no build time dependency however if we remove --with-udev-rules-dir workaround, udev dependency will be needed to have a reproducible build because if udev.pc is not found, rules will be installed in /lib/udev/rules.d and if udev.pc is found, rules will be installed in /usr/lib/udev/rules.d. > > > +endif > > + > > ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSALOOP),y) > > ALSA_UTILS_CONF_OPTS += --enable-alsaloop > > else > > baruch > > -- > http://baruch.siach.name/blog/ ~. .~ Tk Open Systems > =}------------------------------------------------ooO--U--Ooo------------{= > - baruch@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il - Best Regards, Fabrice
Hello, On Fri, 14 Dec 2018 08:52:18 +0100, Fabrice Fontaine wrote: > > Is there a build time dependency of alsa-utils on udev? As far as I can > > see alsa-utils only installs the .rules file, so the order of build > > should not matter. > Indeed, there is no build time dependency however if we remove > --with-udev-rules-dir workaround, udev dependency will be needed to > have a reproducible build because if udev.pc is not found, rules will > be installed in /lib/udev/rules.d and if udev.pc is found, rules will > be installed in /usr/lib/udev/rules.d. I think what Baruch said is that you should keep: +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +ALSA_UTILS_CONF_OPTS += --with-udev-rules-dir=/usr/lib/udev/rules.d +endif Best regards, Thomas
diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk index 0bf2b432bd..422318796f 100644 --- a/package/alsa-utils/alsa-utils.mk +++ b/package/alsa-utils/alsa-utils.mk @@ -28,6 +28,11 @@ ALSA_UTILS_CONF_OPTS = \ --disable-rst2man \ --with-curses=$(if $(BR2_PACKAGE_NCURSES_WCHAR),ncursesw,ncurses) +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +ALSA_UTILS_CONF_OPTS += --with-udev-rules-dir=/usr/lib/udev/rules.d +ALSA_UTILS_DEPENDENCIES += udev +endif + ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSALOOP),y) ALSA_UTILS_CONF_OPTS += --enable-alsaloop else
Add udev optional dependency and fix build with pkgconf 1.5.3 Since the bump to 1.5.3, pkgconf prepends the sysroot to all absolute paths found in the .pc file. This is correct when the paths refer to something in STAGING_DIR (e.g. libdir, includedir), but not when it refers to something used for the target. alsa-utils uses the udevdir variable from udev.pc to decide where to install things. Since DESTDIR is prepended to the install destination, this will end up in the wrong location. Until a better solution is found in pkgconf, pass the udevrulesdir to use explicitly instead of relying on udev.pc. Fixes: - http://autobuild.buildroot.org/results/d8ad140ae52b4fe8e153de3835f3f17e92b58e53 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- package/alsa-utils/alsa-utils.mk | 5 +++++ 1 file changed, 5 insertions(+)