Uploaded image for project: 'Funtoo Linux'
  1. Funtoo Linux
  2. FL-1283

[metro] various bugs affecting stage building, python, openrc, etc

    • Icon: Bug Bug
    • Resolution: Incomplete
    • Icon: Normal Normal
    • None
    • None

      First off, excuse my poor English. Thank you.

      Trying to build my own amd64-k10-pure64 chain of stages, I ran into several issues with Metro. They are:

      1. Metro does not compile Python with ability to use shared memory. Some packages rely on this feature of Python (namely, Chromium) and cannot be built.
      2. Metro does not wipe out openrc leftovers from /run before packaging a stage tarball. It prevents all runlevel scripts from starting up if they were added in the working environment after you've done with deploying stage3, setup and reboot.
      3. stage3 cannot be built as there is a file collision. /etc/init.d/udev-postmount is claimed by udev and udev-init-scripts.

      So, I resolved these issues and made a pull request on GitHub waiting for Metro maintainers to review. For those who suffer from the same and cannot wait, here it is:

      --XXX-CUT-HERE-XXX--
      etc/builds/funtoo-current/build.conf
      @@ -42,7 +42,7 @@ packages: [
      sys-devel/bc
      sys-apps/pciutils
      app-portage/gentoolkit

      • sys-fs/udev
        + virtual/udev
        ]

      [section snapshot]
      --XXX-CUT-HERE-XXX--
      modules/targets/chroot.py
      @@ -12,7 +12,7 @@ def _init_(self, settings):
      self.required_files.append("path/mirror/source")

      1. define general linux mount points
      • self.mounts = {"/proc": "/proc"}

        + self.mounts =

        {"/proc": "/proc", "/dev/shm": "/dev/shm"}

      if not self.settings.has_key("target/class"):
      return
      --XXX-CUT-HERE-XXX--
      targets/gentoo/steps/stage.spec View
      @@ -13,6 +13,7 @@ export CLEAN_DELAY=0
      export EBEEP_IGNORE=0
      export EPAUSE_IGNORE=0
      export CONFIG_PROTECT="-* /etc/locale.gen"
      +export COLLISION_IGNORE="/etc/init.d/udev-postmount"
      if [ -d /var/tmp/cache/compiler ]
      then
      if ! [ -e /usr/bin/ccache ]
      @@ -246,6 +247,8 @@ fi

      1. locale-archive can be ~81 MB; this should shrink it to 2MB.
        rm -f /usr/lib*/locale/locale-archive
        locale-gen
        +
        +rm -rf $ROOT/run/*
        ]

      postclean: [
      --XXX-CUT-HERE-XXX--

            Unassigned Unassigned
            cuss cuss [X] (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: