Unverified Commit 3ac4b371 authored by Naïm Favier's avatar Naïm Favier Committed by GitHub
Browse files

Merge pull request #214373 from ncfavier/make-image-structured-attrs

make-squashfs,make-iso9660-image: use `__structuredAttrs`
parents 44414a98 ea81a246
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -47,16 +47,16 @@ assert usbBootable -> isohybridMbrImage != "";

stdenv.mkDerivation {
  name = isoName;
  builder = ./make-iso9660-image.sh;
  __structuredAttrs = true;

  buildCommandPath = ./make-iso9660-image.sh;
  nativeBuildInputs = [ xorriso syslinux zstd libossp_uuid ];

  inherit isoName bootable bootImage compressImage volumeID efiBootImage efiBootable isohybridMbrImage usbBootable;

  # !!! should use XML.
  sources = map (x: x.source) contents;
  targets = map (x: x.target) contents;

  # !!! should use XML.
  objects = map (x: x.object) storeContents;
  symlinks = map (x: x.symlink) storeContents;

+8 −17
Original line number Diff line number Diff line
source $stdenv/setup

sources_=($sources)
targets_=($targets)

objects=($objects)
symlinks=($symlinks)


# Remove the initial slash from a path, since genisofs likes it that way.
stripSlash() {
    res="$1"
@@ -35,13 +26,13 @@ if test -n "$bootable"; then
    # The -boot-info-table option modifies the $bootImage file, so
    # find it in `contents' and make a copy of it (since the original
    # is read-only in the Nix store...).
    for ((i = 0; i < ${#targets_[@]}; i++)); do
        stripSlash "${targets_[$i]}"
    for ((i = 0; i < ${#targets[@]}; i++)); do
        stripSlash "${targets[$i]}"
        if test "$res" = "$bootImage"; then
            echo "copying the boot image ${sources_[$i]}"
            cp "${sources_[$i]}" boot.img
            echo "copying the boot image ${sources[$i]}"
            cp "${sources[$i]}" boot.img
            chmod u+w boot.img
            sources_[$i]=boot.img
            sources[$i]=boot.img
        fi
    done

@@ -66,9 +57,9 @@ touch pathlist


# Add the individual files.
for ((i = 0; i < ${#targets_[@]}; i++)); do
    stripSlash "${targets_[$i]}"
    addPath "$res" "${sources_[$i]}"
for ((i = 0; i < ${#targets[@]}; i++)); do
    stripSlash "${targets[$i]}"
    addPath "$res" "${sources[$i]}"
done


+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@

stdenv.mkDerivation {
  name = "squashfs.img";
  __structuredAttrs = true;

  nativeBuildInputs = [ squashfsTools ];