Skip to content
Snippets Groups Projects
  1. Mar 10, 2025
  2. Mar 09, 2025
  3. Mar 08, 2025
  4. Mar 06, 2025
    • Clayton Craft's avatar
      pmb.build: install checkdepends when building (MR 2563) · a5f7d608
      Clayton Craft authored
      Fixes a bug where checkdepends are not being installed, and packages
      that run tests that depend on something in checkdepends fail because
      it's missing. For example, the `plasma-workspace` forked pkg in pmaports
      tells abuild to run `xwfb-run` in `check()`, this binary comes from
      `xwayland-run`, which is listed in the `checkdepends`. However this
      isn't being installed and so `pmb build` ultimately fails to build the
      package.
      Unverified
      a5f7d608
  5. Mar 02, 2025
  6. Mar 01, 2025
  7. Feb 27, 2025
  8. Feb 26, 2025
  9. Feb 23, 2025
    • Oliver Smith's avatar
      pmb.install.format: set bytes-per-inode to 16384 (MR 2558) · d90a037f
      Oliver Smith authored
      After setting "-T big", we still saw some images failing with "out of
      space" errors in bpo, such as "v24.12:samsung-espresso10:xfce4".
      
      I've looked at /etc/mke2fs.conf to figure out what exactly gets
      configured with "-T big". What I did not realize is that the inode
      ratio gets bigger by going from small -> big, big -> huge, but with a
      larger ratio FEWER inodes will be created (see man mkfs.ext4, -i
      bytes-per-inode).
      
      In /etc/mke2fs.conf in Alpine edge:
      
      	[defaults]
      	…
      		blocksize = 4096
      		inode_size = 256
      		inode_ratio = 16384
      
      	[fs_types]
      	…
      		small = {
      			blocksize = 1024
      			inode_ratio = 4096
      		}
      		floppy = {
      			blocksize = 1024
      			inode_ratio = 8192
      		}
      		big = {
      			inode_ratio = 32768
      		}
      		huge = {
      			inode_ratio = 65536
      		}
      		news = {
      			inode_ratio = 4096
      		}
      	…
      
      So I've tried out half the ratio value we get with "big" now, 16384.
      With that we finally seem to have:
      
      * Enough inodes for small UIs (console, none) as well as big UIs with
        lots of files (xfce4, plasma-desktop, ...)
      
      * We don't directly specify an inode count (-N) anymore as we did
        earlier, which had problems with small images as the inode count would
        be too large for the given image size (pmb#2572).
      
      Test builds with various images:
      
      Filesystem              Inodes      Used Available Use% Mounted on
      master:postmarketos-trailblazer:none:
      /dev/installp2           35440      5111     30329  14% /mnt/install
      master:postmarketos-trailblazer:console:
      /dev/installp2           47232      8713     38519  18% /mnt/install
      master:pine64-pinebookpro:plasma-desktop:
      /dev/installp2          276352    100607    175745  36% /mnt/install
      v24.12:samsung-espresso10:xfce4:
      /dev/installp2           80960     51150     29810  63% /mnt/install
      
      So the most Use% I could get is 63% with this, leaving a nice margin for
      the future.
      Unverified
      d90a037f
    • Oliver Smith's avatar
      install: log space/inodes used in image (MR 2558) · 06957b21
      Oliver Smith authored
      Log how well we have used the space and available inodes in the
      resulting images, to show how well the mkfs parameters we have decided
      on are working.
      Unverified
      06957b21
    • Newbyte's avatar
      pyproject.toml: Remove ignore for F401 in __init__.py files (MR 2545) · 5f8d0141
      Newbyte authored and Oliver Smith's avatar Oliver Smith committed
      This is no longer necessary to pass checks, and it allows further unused
      import analysis.
      Unverified
      5f8d0141
    • Newbyte's avatar
      pmb.chroot: Rename exists() to user_exists() (MR 2545) · ebc5ab9e
      Newbyte authored and Oliver Smith's avatar Oliver Smith committed
      This name is what's used at the one call site the codebase currently
      has, and it means we can have an explicit re-export which Ruff won't
      complain about.
      Unverified
      ebc5ab9e
    • Newbyte's avatar
      Unverified
      bdcc188f
    • Newbyte's avatar
      pmb: Remove unused imports (MR 2545) · 06202328
      Newbyte authored and Oliver Smith's avatar Oliver Smith committed
      Unverified
      06202328
  10. Feb 19, 2025
    • Oliver Smith's avatar
      pmb.install.format: set ext4 usage-type to big (MR 2555) · 63fce4fc
      Oliver Smith authored
      Using "-N" to set a specific inode count caused errors:
      * With 100K, we got "out of space" errors when creating images for
        bigger UIs with many small files like:
        pine64-pinebookpro:plasma-desktop
      * With 1M (current value), we got "out of space" for small images like:
        postmarketos-trailblazer:console
      
      Use "-T big" instead to set the usage-type that is closest to how we
      expect the filesystem to be used, once it is flashed to the user's
      device and resized. This will indirectly set the bytes-per-inode. I've
      verified that building both the big
      pine64-pinebookpro:plasma-desktop and small
      postmarketos-trailblazer:console (and even with UI=none) works with
      this change.
      
      I've verified that building both the small image works with this.
      
      From the mkfs.ext4 man page:
      
             -T usage-type[,...]
                    Specify how the file system is going to be used, so that mke2fs
                    can choose optimal file system parameters for that use.  The
                    usage types that are supported are defined in the configuration
                    file /etc/mke2fs.conf.  The user may specify one or more usage
                    types using a comma separated list.
      
                    If this option is is not specified, mke2fs will pick a single
                    default usage type based on the size of the file system to be
                    created.  If the file system size is less than 3 megabytes,
                    mke2fs will use the file system type floppy.  If the file system
                    size is greater than or equal to 3 but less than 512 megabytes,
                    mke2fs(8) will use the file system type small.  If the file
                    system size is greater than or equal to 4 terabytes but less
                    than 16 terabytes, mke2fs(8) will use the file system type big.
                    If the file system size is greater than or equal to 16
                    terabytes, mke2fs(8) will use the file system type huge.
                    Otherwise, mke2fs(8) will use the default file system type
                    default.
      
      Fixes: d0d7c2d4 ("pmb.install.format: set ext4 usage-type to big")
      Fixes: issue 2572
      Unverified
      63fce4fc
  11. Feb 16, 2025
  12. Feb 13, 2025
  13. Feb 12, 2025
Loading