3
0
Fork 0
forked from mirrors/nixpkgs

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

make-squashfs,make-iso9660-image: use `__structuredAttrs`
This commit is contained in:
Naïm Favier 2023-05-18 19:33:59 +02:00 committed by GitHub
commit 3ac4b371b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 20 deletions

View file

@ -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;

View file

@ -1,12 +1,3 @@
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

View file

@ -10,6 +10,7 @@
stdenv.mkDerivation {
name = "squashfs.img";
__structuredAttrs = true;
nativeBuildInputs = [ squashfsTools ];