Skip to contentSkip to conversation

core: fix pseudo, definitely get rid of fakeroot

PATCH New Yann E. MORIN 2 participants 9 messages Nov 3, 2016

lore
Share & tools
lore
#0 lore raw

cover core: fix pseudo, definitely get rid of fakeroot

Hello All!

This series closes the migration from fakeroot to pseudo:
- fix the buidl of pseudo, which needs sqlite3,
- fix iso9660 to depend on pseudo, not fakeroot
- add legacy fakeroot symlink to use pseudo
- completely remove the fakeroot package

Regards,
Yann E. MORIN.

The following changes since commit eb71c22b0b0faa338c1f82f3e17ef12abadea1e8

CHANGES: final update (2016-11-03 22:56:20 +0100)

are available in the git repository at:

git://git.buildroot.org/~ymorin/git/buildroot.git

for you to fetch changes up to 9db5c7acb037104ad296a1dc8d73ee7640417d3f

package/fakeroot: remove (2016-11-03 23:16:20 +0100)

----------------------------------------------------------------
Yann E. MORIN (4):
package/pseudo: needs sqlite
fs/iso9660: use pseudo instead of fakeroot package/pseudo: add a legacy symlink to emulate fakeroot package/fakeroot: remove

 fs/iso9660/iso9660.mk                        |  2 +-
 package/fakeroot/0001-hide-dlsym-error.patch | 34 ----------------------------
 package/fakeroot/fakeroot.hash               |  4 ----
 package/fakeroot/fakeroot.mk                 | 20 ----------------
 package/pseudo/pseudo.mk                     | 10 ++++++++
 5 files changed, 11 insertions(+), 59 deletions(-)
 delete mode 100644 package/fakeroot/0001-hide-dlsym-error.patch
 delete mode 100644 package/fakeroot/fakeroot.hash
 delete mode 100644 package/fakeroot/fakeroot.mk
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#1 lore raw

PATCH 1/4 package/pseudo: needs sqlite

pseudo uses sqlite to store its state.

---
 package/pseudo/pseudo.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/pseudo/pseudo.mk +5 -0
index 314fa82..ffa6e58 100644
@@ -12,4 +12,9 @@ PSEUDO_SITE_METHOD = git
 PSEUDO_LICENSE = LGPLv2.1
 PSEUDO_LICENSE_FILES = COPYING
 
+HOST_PSEUDO_DEPENDENCIES = host-sqlite
+HOST_PSEUDO_CONF_OPTS = \
+	--libdir=$(HOST_DIR)/usr/lib \
+	--with-sqlite=$(HOST_DIR)/usr
+
 $(eval $(host-autotools-package))
Signature · 1 line
2.7.4
#2 lore raw

PATCH 1/4 package/pseudo: needs sqlite

Hello,

package/pseudo/pseudo.mk PSEUDO_SITE_METHOD = git · line 18

Quoted 4 lines · Yann E. MORIN
package/pseudo/pseudo.mk +4 -0
+HOST_PSEUDO_DEPENDENCIES = host-sqlite
+HOST_PSEUDO_CONF_OPTS = \
+	--libdir=$(HOST_DIR)/usr/lib \
+	--with-sqlite=$(HOST_DIR)/usr

I've added a comment above this to explain why we pass --libdir even though this shouldn't be needed for autotools packages.

However, the fact that pseudo doesn't use a real autoconf configure script also means that it shouldn't be using the autotools-package
infra: it should use the generic-package infra. Something to fix in a follow-up patch.

Applied with the comment added, thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#3 lore raw

PATCH 2/4 fs/iso9660: use pseudo instead of fakeroot

In reply to Yann E. MORIN

We're dropping fakeroot in favour of pseudo, now.

---
 fs/iso9660/iso9660.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/iso9660/iso9660.mk +1 -1
index 32d79d7..c9af4bd 100644
@@ -24,7 +24,7 @@
 
 ROOTFS_ISO9660_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU))
 
-ROOTFS_ISO9660_DEPENDENCIES = host-cdrkit host-fakeroot linux
+ROOTFS_ISO9660_DEPENDENCIES = host-cdrkit host-pseudo linux
 
 ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
 ROOTFS_ISO9660_USE_INITRD = YES
Signature · 1 line
2.7.4
#4 lore raw

PATCH 2/4 fs/iso9660: use pseudo instead of fakeroot

Hello,

Quoted 12 lines · Yann E. MORIN

We're dropping fakeroot in favour of pseudo, now.

---
 fs/iso9660/iso9660.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/iso9660/iso9660.mk +0 -0
index 32d79d7..c9af4bd 100644

fs/iso9660/iso9660.mk line 27

Quoted 5 lines
fs/iso9660/iso9660.mk +1 -1
@@ -24,7 +24,7 @@
 
 ROOTFS_ISO9660_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU))
 
-ROOTFS_ISO9660_DEPENDENCIES = host-cdrkit host-fakeroot linux
+ROOTFS_ISO9660_DEPENDENCIES = host-cdrkit host-pseudo linux

In fact, this dependency on host-fakeroot is redundant, since iso9660 was converted a while ago to use the common fs infra. So I've dropped this bogus dependency instead of applying your patch.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#5 lore raw

PATCH 3/4 package/pseudo: add a legacy symlink to emulate fakeroot

In reply to Yann E. MORIN

In cae some post-image script want to call fakeroot, add a symlink to use pseudo instead.

---
 package/pseudo/pseudo.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/pseudo/pseudo.mk +5 -0
index ffa6e58..b4f2df3 100644
@@ -17,4 +17,9 @@ HOST_PSEUDO_CONF_OPTS = \
 	--libdir=$(HOST_DIR)/usr/lib \
 	--with-sqlite=$(HOST_DIR)/usr
 
+define HOST_PSEUDO_FAKEROOT_SYMLINK
+	ln -sf pseudo $(HOST_DIR)/usr/bin/fakeroot
+endef
+HOST_PSEUDO_POST_INSTALL_HOOKS += HOST_PSEUDO_FAKEROOT_SYMLINK
+
 $(eval $(host-autotools-package))
Signature · 1 line
2.7.4
#6 lore raw

PATCH 3/4 package/pseudo: add a legacy symlink to emulate fakeroot

Hello,

Quoted 1 line · Yann E. MORIN

In cae some post-image script want to call fakeroot, add a symlink to

cae -> case

Quoted 4 lines

use pseudo instead.

Applied with the minor typo fixed.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#7 lore raw

PATCH 4/4 package/fakeroot: remove

In reply to Yann E. MORIN

We've now entirely switched to using pseudo istead of fakeroot, so it is time to remove the fakeroot package now.

---
 package/fakeroot/0001-hide-dlsym-error.patch | 34 ----------------------------
 package/fakeroot/fakeroot.hash               |  4 ----
 package/fakeroot/fakeroot.mk                 | 20 ----------------
 3 files changed, 58 deletions(-)
 delete mode 100644 package/fakeroot/0001-hide-dlsym-error.patch
 delete mode 100644 package/fakeroot/fakeroot.hash
 delete mode 100644 package/fakeroot/fakeroot.mk
package/fakeroot/0001-hide-dlsym-error.patch deleted +0 -34
deleted file mode 100644
index 2c61fab..0000000
@@ -1,34 +0,0 @@
-Description: Hide error from dlsym()
- dlsym(), starting in glibc 2.24 actually reports errors. In our case,
- we try to get ACL functions which are not in the glibc. This causes
- failures in test suites, so hide those messages for non-debugging
- purposes for now. It also makes the build logs annoying to read.
-Author: Julian Andres Klode <[email protected]>
-Origin: vendor
-Bug-Debian: https://bugs.debian.org/830912
-Forwarded: no
-Last-Update: 2016-08-12
-
-Signed-off-by: Maxime Hadjinlian <[email protected]>
-
---- a/libfakeroot.c
-+++ b/libfakeroot.c
-@@ -256,10 +256,16 @@ void load_library_symbols(void){
-  /* clear dlerror() just in case dlsym() legitimately returns NULL */
-     msg = dlerror();
-     *(next_wrap[i].doit)=dlsym(get_libc(), next_wrap[i].name);
-+
-     if ( (msg = dlerror()) != NULL){
--      fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
--/*    abort ();*/
-+#ifdef LIBFAKEROOT_DEBUGGING
-+      if (fakeroot_debug) {
-+        fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
-+/*      abort ();*/
-+      }
-+#endif
-     }
-+
-   }
- }
-
package/fakeroot/fakeroot.hash deleted +0 -4
deleted file mode 100644
index f0d436e..0000000
@@ -1,4 +0,0 @@
-# From http://snapshot.debian.org/package/fakeroot/1.20.2-1/
-sha1	367040df07043edb630942b21939e493f3fad888	fakeroot_1.20.2.orig.tar.bz2
-# Calculated based on the hash above
-sha256	7c0a164d19db3efa9e802e0fc7cdfeff70ec6d26cdbdc4338c9c2823c5ea230c	fakeroot_1.20.2.orig.tar.bz2
package/fakeroot/fakeroot.mk deleted +0 -20
deleted file mode 100644
index 168cd13..0000000
@@ -1,20 +0,0 @@
-################################################################################
-#
-# fakeroot
-#
-################################################################################
-
-FAKEROOT_VERSION = 1.20.2
-FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.bz2
-FAKEROOT_SITE = http://snapshot.debian.org/archive/debian/20141005T221953Z/pool/main/f/fakeroot
-# Force capabilities detection off
-# For now these are process capabilities (faked) rather than file
-# so they're of no real use
-HOST_FAKEROOT_CONF_ENV = \
-	ac_cv_header_sys_capability_h=no \
-	ac_cv_func_capset=no
-
-FAKEROOT_LICENSE = GPLv3+
-FAKEROOT_LICENSE_FILES = COPYING
-
-$(eval $(host-autotools-package))
Signature · 1 line
2.7.4
#8 lore raw

PATCH 4/4 package/fakeroot: remove

Hello,

Quoted 5 lines · Yann E. MORIN

We've now entirely switched to using pseudo istead of fakeroot, so it is time to remove the fakeroot package now.

Quoted 8 lines
---
 package/fakeroot/0001-hide-dlsym-error.patch | 34 ----------------------------
 package/fakeroot/fakeroot.hash               |  4 ----
 package/fakeroot/fakeroot.mk                 | 20 ----------------
 3 files changed, 58 deletions(-)
 delete mode 100644 package/fakeroot/0001-hide-dlsym-error.patch
 delete mode 100644 package/fakeroot/fakeroot.hash
 delete mode 100644 package/fakeroot/fakeroot.mk

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com