Skip to contentSkip to conversation

MiLo : util-linux: Add package for libmount

oe-commits Martin Jansa 3 participants 7 messages Mar 6, 2013 – Apr 10, 2013 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20130228231551.3998F5022B@opal

#1 lore raw
Quoted 10 lines · On Thu, Feb 28, 2013 at 11:15:51PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master
Commit: 2e79110e31da940728d42411cad3d019d570fc31
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=2e79110e31da940728d42411cad3d019d570fc31
Author: MiLo <[email protected]>
Date:   Tue Feb 19 18:23:15 2013 +0100

util-linux: Add package for libmount

Quoted 7 lines

The libmount shared library was part of util-linux. This caused util-linux-mount to RDEPEND on util-linux, so including that would also drag in all of util-linux and all its recommendations.

To break this circular dependency, add a libmount package that holds the libmount.so.* files, just like the other libraries built by util- linux.

Breaks upgrade path:

* check_data_file_clashes: Package libmount1 wants to install file
* /lib/libmount.so.1.1.0
But that file is already provided by package * util-linux
* check_data_file_clashes: Package libmount1 wants to install file
* /lib/libmount.so.1
But that file is already provided by package * util-linux

RREPLACES is probably needed.

Quoted 48 lines

---

 meta/recipes-core/util-linux/util-linux.inc       |    3 +++
 meta/recipes-core/util-linux/util-linux_2.22.2.bb |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-core/util-linux/util-linux.inc +3 -0
index 10439c0..bd7b089 100644
@@ -31,6 +31,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
 PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \
              util-linux-swaponoff util-linux-losetup util-linux-umount \
              util-linux-mount util-linux-readprofile util-linux-libblkid \
+             util-linux-libmount util-linux-libmount-dev \
              util-linux-libblkid-dev util-linux-libuuid util-linux-libuuid-dev \
              util-linux-uuidgen util-linux-lscpu util-linux-fsck util-linux-blkid \
              util-linux-mkfs util-linux-mcookie util-linux-reset"
@@ -64,6 +65,8 @@ FILES_util-linux-reset = "${base_bindir}/reset"
 
 FILES_util-linux-libblkid = "${base_libdir}/libblkid.so.*"
 FILES_util-linux-libblkid-dev = "${base_libdir}/libblkid.so ${base_libdir}/libblkid.la ${includedir}/blkid ${libdir}/pkgconfig/blkid.pc"
+FILES_util-linux-libmount = "${base_libdir}/libmount.so.*"
+FILES_util-linux-libmount-dev = "${base_libdir}/libmount.so ${base_libdir}/libmount.la ${includedir}/libmount ${libdir}/pkgconfig/mount.pc"
 FILES_util-linux-libuuid = "${base_libdir}/libuuid.so.*"
 FILES_util-linux-libuuid-dev = "${base_libdir}/libuuid.so ${base_libdir}/libuuid.la ${includedir}/uuid ${libdir}/pkgconfig/uuid.pc"
 FILES_util-linux-lscpu = "${bindir}/lscpu"
meta/recipes-core/util-linux/util-linux_2.22.2.bb +1 -1
index dd95573..f91784b 100644
@@ -1,5 +1,5 @@
 MAJOR_VERSION = "2.22"
-PR = "r0"
+PR = "r1"
 require util-linux.inc
 
 # note that `lscpu' is under GPLv3+

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#2 lore raw
Quoted 21 lines · Martin Jansa
Quoted 10 lines · On Thu, Feb 28, 2013 at 11:15:51PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master
Commit: 2e79110e31da940728d42411cad3d019d570fc31
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=2e79110e31da940728d42411cad3d019d570fc31
Author: MiLo <[email protected]>
Date:   Tue Feb 19 18:23:15 2013 +0100

util-linux: Add package for libmount

Quoted 7 lines

The libmount shared library was part of util-linux. This caused util-linux-mount to RDEPEND on util-linux, so including that would also drag in all of util-linux and all its recommendations.

To break this circular dependency, add a libmount package that holds the libmount.so.* files, just like the other libraries built by util- linux.

Breaks upgrade path:

Quoted 8 lines

* check_data_file_clashes: Package libmount1 wants to install file
* /lib/libmount.so.1.1.0
But that file is already provided by package * util-linux
* check_data_file_clashes: Package libmount1 wants to install file
* /lib/libmount.so.1
But that file is already provided by package * util-linux

RREPLACES is probably needed.

Indeed, I can reproduce that too. But I'm not sure how to fix this, as I cannot bluntly claim that libmount replaces util-linux, because it really doesn't. So RREPLACES_util-linux-libmount = "util-linux" is probably not the way to go here. Or is it? It does not "feel" right anyway, because the old situation should have never happened.

Prior to the libmount patch, it was not possible to remove util-linux from any system that installed util-linux-mount (or any other that requires libmount), without applying "force". And util-linux itself depends on packages that in turn depend on util-linux. That's the circle I wanted to break out of.

How does one properly inform opkg that a file has moved from one (installed) package to another?

Quoted 49 lines
Quoted 48 lines

---

  meta/recipes-core/util-linux/util-linux.inc       |    3 +++
  meta/recipes-core/util-linux/util-linux_2.22.2.bb |    2 +-
  2 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-core/util-linux/util-linux.inc +3 -0
index 10439c0..bd7b089 100644
@@ -31,6 +31,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
  PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \
               util-linux-swaponoff util-linux-losetup util-linux-umount \
               util-linux-mount util-linux-readprofile util-linux-libblkid \
+             util-linux-libmount util-linux-libmount-dev \
               util-linux-libblkid-dev util-linux-libuuid util-linux-libuuid-dev \
               util-linux-uuidgen util-linux-lscpu util-linux-fsck util-linux-blkid \
               util-linux-mkfs util-linux-mcookie util-linux-reset"
@@ -64,6 +65,8 @@ FILES_util-linux-reset = "${base_bindir}/reset"
 
  FILES_util-linux-libblkid = "${base_libdir}/libblkid.so.*"
  FILES_util-linux-libblkid-dev = "${base_libdir}/libblkid.so ${base_libdir}/libblkid.la ${includedir}/blkid ${libdir}/pkgconfig/blkid.pc"
+FILES_util-linux-libmount = "${base_libdir}/libmount.so.*"
+FILES_util-linux-libmount-dev = "${base_libdir}/libmount.so ${base_libdir}/libmount.la ${includedir}/libmount ${libdir}/pkgconfig/mount.pc"
  FILES_util-linux-libuuid = "${base_libdir}/libuuid.so.*"
  FILES_util-linux-libuuid-dev = "${base_libdir}/libuuid.so ${base_libdir}/libuuid.la ${includedir}/uuid ${libdir}/pkgconfig/uuid.pc"
  FILES_util-linux-lscpu = "${bindir}/lscpu"
meta/recipes-core/util-linux/util-linux_2.22.2.bb +1 -1
index dd95573..f91784b 100644
@@ -1,5 +1,5 @@
  MAJOR_VERSION = "2.22"
-PR = "r0"
+PR = "r1"
  require util-linux.inc
 
  # note that `lscpu' is under GPLv3+

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

Signature · 1 line
Mike Looijmans - Topic Automation
#3 lore raw

Busybox mdev INITSCRIPT_PARAMS gets lost

In busybox.inc, the recipe says:

INITSCRIPT_PARAMS_${PN}-mdev = "start 06 S ."

Actually "06" is alreay wrong, it should be "03" just like udev uses. The modules load at runlevel 04, so they'll fail to load correctly if they require firmware, soI amended this in a .bbappend to read

INITSCRIPT_PARAMS_${PN}-mdev = "start 03 S ."

But what ends up in the postinstall script is this (and that breaks the system):

update-rc.d $OPT mdev defaults

This used to work just fine about a month ago, but it's suddenly broken. Has something changed in update-rc handling?

Mike.

#4 lore raw

Re: Busybox mdev INITSCRIPT_PARAMS gets lost

Quoted 11 lines · Mike Looijmans

In busybox.inc, the recipe says:

INITSCRIPT_PARAMS_${PN}-mdev = "start 06 S ."

Actually "06" is alreay wrong, it should be "03" just like udev uses. The modules load at runlevel 04, so they'll fail to load correctly if they require firmware, soI amended this in a .bbappend to read

INITSCRIPT_PARAMS_${PN}-mdev = "start 03 S ."

Quoted 7 lines

But what ends up in the postinstall script is this (and that breaks the system):

update-rc.d $OPT mdev defaults

This used to work just fine about a month ago, but it's suddenly broken. Has something changed in update-rc handling?

Did you resolve this? We just noticed the same thing is happening to udev too. I'm digging into it now but any leads (or a fix!) would be appreciated.

Ross

#5 lore raw

Re: Busybox mdev INITSCRIPT_PARAMS gets lost

Hi Mike,

Quoted 6 lines · Ross
Quoted 2 lines

This used to work just fine about a month ago, but it's suddenly broken. Has something changed in update-rc handling?

Did you resolve this? We just noticed the same thing is happening to udev too. I'm digging into it now but any leads (or a fix!) would be appreciated.

My patch "update-rc.d: correctly look up the initscript params with overrides" fixes this for udev, and presumably mdev too.

Ross

#6 lore raw

Re: Busybox mdev INITSCRIPT_PARAMS gets lost

Quoted 9 lines · Ross

Hi Mike,

Quoted 6 lines · Ross
Quoted 2 lines

This used to work just fine about a month ago, but it's suddenly broken. Has something changed in update-rc handling?

Did you resolve this? We just noticed the same thing is happening to udev too. I'm digging into it now but any leads (or a fix!) would be appreciated.

Never found the cause, both work and home situations kept me from investigating further.

Quoted 2 lines

My patch "update-rc.d: correctly look up the initscript params with overrides" fixes this for udev, and presumably mdev too.

Looks like a good catch. I will still post a patch for mdev starting too late (it should start at 03 just like udev does) when I find the time to spend a little time on it (either at work or as a hobby...)

Mike.

#7 lore raw
In reply to Mike Looijmans
Quoted 29 lines · Mike Looijmans
Quoted 28 lines · Martin Jansa
Quoted 10 lines · On Thu, Feb 28, 2013 at 11:15:51PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master
Commit: 2e79110e31da940728d42411cad3d019d570fc31
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=2e79110e31da940728d42411cad3d019d570fc31
Author: MiLo <[email protected]>
Date:   Tue Feb 19 18:23:15 2013 +0100

util-linux: Add package for libmount

Quoted 7 lines

The libmount shared library was part of util-linux. This caused util-linux-mount to RDEPEND on util-linux, so including that would also drag in all of util-linux and all its recommendations.

To break this circular dependency, add a libmount package that holds the libmount.so.* files, just like the other libraries built by util- linux.

Breaks upgrade path:

* check_data_file_clashes: Package libmount1 wants to install file
* /lib/libmount.so.1.1.0
But that file is already provided by package * util-linux
* check_data_file_clashes: Package libmount1 wants to install file
* /lib/libmount.so.1
But that file is already provided by package * util-linux

Quoted 7 lines
Quoted 1 line

RREPLACES is probably needed.

Indeed, I can reproduce that too. But I'm not sure how to fix this, as I cannot bluntly claim that libmount replaces util-linux, because it really doesn't. So RREPLACES_util-linux-libmount = "util-linux" is probably not the way to go here. Or is it? It does not "feel" right anyway, because the old situation should have never happened.

It should work (it doesn't replace util-linux completely until it also RPROVIDES it and opkg wont try to remove util-linux until it also RCONFLICTS with ti).

But to be sure test it on device as with every other change.

Quoted 8 lines

Prior to the libmount patch, it was not possible to remove util-linux from any system that installed util-linux-mount (or any other that requires libmount), without applying "force". And util-linux itself depends on packages that in turn depend on util-linux. That's the circle I wanted to break out of.

How does one properly inform opkg that a file has moved from one (installed) package to another?

RREPLACES

Quoted 57 lines
Quoted 48 lines
Quoted 47 lines

---

  meta/recipes-core/util-linux/util-linux.inc       |    3 +++
  meta/recipes-core/util-linux/util-linux_2.22.2.bb |    2 +-
  2 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-core/util-linux/util-linux.inc +3 -0
index 10439c0..bd7b089 100644
@@ -31,6 +31,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
  PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \
               util-linux-swaponoff util-linux-losetup util-linux-umount \
               util-linux-mount util-linux-readprofile util-linux-libblkid \
+             util-linux-libmount util-linux-libmount-dev \
               util-linux-libblkid-dev util-linux-libuuid util-linux-libuuid-dev \
               util-linux-uuidgen util-linux-lscpu util-linux-fsck util-linux-blkid \
               util-linux-mkfs util-linux-mcookie util-linux-reset"
@@ -64,6 +65,8 @@ FILES_util-linux-reset = "${base_bindir}/reset"
 
  FILES_util-linux-libblkid = "${base_libdir}/libblkid.so.*"
  FILES_util-linux-libblkid-dev = "${base_libdir}/libblkid.so ${base_libdir}/libblkid.la ${includedir}/blkid ${libdir}/pkgconfig/blkid.pc"
+FILES_util-linux-libmount = "${base_libdir}/libmount.so.*"
+FILES_util-linux-libmount-dev = "${base_libdir}/libmount.so ${base_libdir}/libmount.la ${includedir}/libmount ${libdir}/pkgconfig/mount.pc"
  FILES_util-linux-libuuid = "${base_libdir}/libuuid.so.*"
  FILES_util-linux-libuuid-dev = "${base_libdir}/libuuid.so ${base_libdir}/libuuid.la ${includedir}/uuid ${libdir}/pkgconfig/uuid.pc"
  FILES_util-linux-lscpu = "${bindir}/lscpu"
meta/recipes-core/util-linux/util-linux_2.22.2.bb +1 -1
index dd95573..f91784b 100644
@@ -1,5 +1,5 @@
  MAJOR_VERSION = "2.22"
-PR = "r0"
+PR = "r1"
  require util-linux.inc
 
  # note that `lscpu' is under GPLv3+

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

Signature · 6 lines
Mike Looijmans - Topic Automation

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]