Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

udisks 2.1.6 -> 2.7.6 #41723

Merged
merged 5 commits into from Jun 11, 2018
Merged

udisks 2.1.6 -> 2.7.6 #41723

merged 5 commits into from Jun 11, 2018

Conversation

flokli
Copy link
Contributor

@flokli flokli commented Jun 8, 2018

Motivation for this change

This bumps udisks to 2.7.6, packages new necessary dependencies, and sets udisks PATH to fix #34999.
This was already started in #35551, from which I took over now.

required by #38382
/cc @jtojnar @jfrankenau @yegortimoshenko

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)

patching script interpreter paths in /nix/store/ndmn8cw3gfd8bmyyrbpvrpwlhk967jh5-libndctl-60.3
checking for references to /build in /nix/store/ndmn8cw3gfd8bmyyrbpvrpwlhk967jh5-libndctl-60.3...
shrinking RPATHs of ELF executables and libraries in /nix/store/64rwgrfkz1qgrdadrzvgia9r298am3qb-libndctl-60.3-dev
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/64rwgrfkz1qgrdadrzvgia9r298am3qb-libndctl-60.3-dev/lib
patching script interpreter paths in /nix/store/64rwgrfkz1qgrdadrzvgia9r298am3qb-libndctl-60.3-dev
checking for references to /build in /nix/store/64rwgrfkz1qgrdadrzvgia9r298am3qb-libndctl-60.3-dev...
cannot build derivation '/nix/store/2zp9fy0rz0krx59r4j53xcmfsz0g4xmf-libblockdev-2.17.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/pa0qvzmz9h9kxfzs0aj65crpdhdklg7c-udisks-2.7.6.drv': 1 dependencies couldn't be built
error: build of '/nix/store/2zp9fy0rz0krx59r4j53xcmfsz0g4xmf-libblockdev-2.17.drv', '/nix/store/pa0qvzmz9h9kxfzs0aj65crpdhdklg7c-udisks-2.7.6.drv', '/nix/store/x132wqqf1a5qlzjxhv90gpya2kxyqd1m-volume_key-0.3.10.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)

patching script interpreter paths in /nix/store/s22rnmiz605d5a0q77q9skzrglj2c51l-libndctl-60.3
checking for references to /build in /nix/store/s22rnmiz605d5a0q77q9skzrglj2c51l-libndctl-60.3...
shrinking RPATHs of ELF executables and libraries in /nix/store/ammyk03pw4bfv8sn487my8z0i8nssz9w-libndctl-60.3-dev
strip is /nix/store/qg2agrqkf240s656d207zqhipl0bc2id-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ammyk03pw4bfv8sn487my8z0i8nssz9w-libndctl-60.3-dev/lib
patching script interpreter paths in /nix/store/ammyk03pw4bfv8sn487my8z0i8nssz9w-libndctl-60.3-dev
checking for references to /build in /nix/store/ammyk03pw4bfv8sn487my8z0i8nssz9w-libndctl-60.3-dev...
cannot build derivation '/nix/store/99b3sc69yn5nm8h0gkxx3zqgz3jhlrxk-libblockdev-2.17.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/q88xxd5wm2rrk1xdihp39r71wm2ji4xr-udisks-2.7.6.drv': 1 dependencies couldn't be built
error: build of '/nix/store/8hwkfya9q2g2z3bnmqcmwf39yml6wj0m-volume_key-0.3.10.drv', '/nix/store/99b3sc69yn5nm8h0gkxx3zqgz3jhlrxk-libblockdev-2.17.drv', '/nix/store/q88xxd5wm2rrk1xdihp39r71wm2ji4xr-udisks-2.7.6.drv' failed

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)

checking for references to /build in /nix/store/wp97r9m38dvgrvyhh6yjb1ilhphvarbp-udisks-2.7.6-man...
shrinking RPATHs of ELF executables and libraries in /nix/store/rhjbbdn2w6v30km280zsc4zjb474ab8i-udisks-2.7.6-dev
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/rhjbbdn2w6v30km280zsc4zjb474ab8i-udisks-2.7.6-dev/lib
patching script interpreter paths in /nix/store/rhjbbdn2w6v30km280zsc4zjb474ab8i-udisks-2.7.6-dev
checking for references to /build in /nix/store/rhjbbdn2w6v30km280zsc4zjb474ab8i-udisks-2.7.6-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/0cmylyi0mrh1vq54ihc5r2spb9khhy6w-udisks-2.7.6-devdoc
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/0cmylyi0mrh1vq54ihc5r2spb9khhy6w-udisks-2.7.6-devdoc
checking for references to /build in /nix/store/0cmylyi0mrh1vq54ihc5r2spb9khhy6w-udisks-2.7.6-devdoc...

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)

checking for references to /build in /nix/store/58c494ihvh7rd153gj5q3f310yz8vkl2-udisks-2.7.6-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/008wmdqgmdwfwzfg4mcf4rcdh1id60i4-udisks-2.7.6-devdoc
strip is /nix/store/qg2agrqkf240s656d207zqhipl0bc2id-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/008wmdqgmdwfwzfg4mcf4rcdh1id60i4-udisks-2.7.6-devdoc
checking for references to /build in /nix/store/008wmdqgmdwfwzfg4mcf4rcdh1id60i4-udisks-2.7.6-devdoc...
/nix/store/yp3d8r5rvvcz5nmdcl63gwd1q8mlc6lz-libblockdev-2.17
/nix/store/lanh5f1xgzk2i3kravs9s933w4d5nn1l-libbytesize-1.3
/nix/store/s22rnmiz605d5a0q77q9skzrglj2c51l-libndctl-60.3
/nix/store/b7ibh1ddxdyzc9ybzzxv2d08p18y8dc8-udisks-2.7.6
/nix/store/98w6i7y90f8inhg08243yz9a2p9797dl-volume_key-0.3.10


outputs = [ "out" "dev" "devdoc" ];

nativeBuildInputs = [ autoreconfHook pkgconfig gettext gtk-doc libxslt docbook_xsl python3 ];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above, add docbook_xml_dtd_43.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

};

outputs = [ "out" "dev" "devdoc" ];
outputBin = "dev";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the purpose of this? The dev output doesn't seem to contain any binaries.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Must have been a leftover I blindly copied over, my bad. Removed from here and volume-key.

'';

nativeBuildInputs = [
autoreconfHook pkgconfig gtk-doc libxslt docbook_xsl python3 gobjectIntrospection
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docbook devdoc isn't generated correctly, see build log and result. To fix, add docbook_xml_dtd_43 here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

@@ -0,0 +1,39 @@
{ stdenv, fetchgit, fetchpatch, autoreconfHook, pkgconfig, gettext, python2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

python2: this is inconsistent with libblockdev above, which uses python3 and depends on volume_key. Please use python3 here if supported.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

python3 is not supported according to https://pagure.io/volume_key/pull-request/12

'';
nativeBuildInputs = [
pkgconfig gnome3.gnome-common libtool intltool gobjectIntrospection
gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you really need two versions of docbook_xml_dtd here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, manpages use 4.3 but devdoc uses 4.1.2.

@flokli
Copy link
Contributor Author

flokli commented Jun 10, 2018

@xeji thanks for the review. Adressed all comments except the two discussing multiple python and docbook_xml_dtd versions. Let me know if I should squash these on-top fixes into the initial commits.

@flokli
Copy link
Contributor Author

flokli commented Jun 10, 2018

@GrahamcOfBorg build gnome3.gnome-disk-utility

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: gnome3.gnome-disk-utility

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)

checking for references to /build in /nix/store/8l63rq62ngp8ng04gy3q3jcvp1sjl030-udisks-2.7.6-man...
shrinking RPATHs of ELF executables and libraries in /nix/store/fy0drs2pq6n1x7p5gvlfxr2vbmvlrl1l-udisks-2.7.6-dev
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fy0drs2pq6n1x7p5gvlfxr2vbmvlrl1l-udisks-2.7.6-dev/lib
patching script interpreter paths in /nix/store/fy0drs2pq6n1x7p5gvlfxr2vbmvlrl1l-udisks-2.7.6-dev
checking for references to /build in /nix/store/fy0drs2pq6n1x7p5gvlfxr2vbmvlrl1l-udisks-2.7.6-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/4jaqs7vb4w2dcyqpd2s6skzzzv01dxdq-udisks-2.7.6-devdoc
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/4jaqs7vb4w2dcyqpd2s6skzzzv01dxdq-udisks-2.7.6-devdoc
checking for references to /build in /nix/store/4jaqs7vb4w2dcyqpd2s6skzzzv01dxdq-udisks-2.7.6-devdoc...

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: gnome3.gnome-disk-utility

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3
shrinking /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3/libexec/.gsd-disk-utility-notify-wrapped
shrinking /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3/bin/.gnome-disk-image-mounter-wrapped
shrinking /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3/bin/.gnome-disks-wrapped
gzipping man pages under /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3/share/man/
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3/libexec  /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3/bin
patching script interpreter paths in /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3
checking for references to /build in /nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3...
/nix/store/v9alk5l04wdskcya65p615fs4ql597ag-gnome-disk-utility-3.28.3

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libblockdev, libbytesize, libndctl, udisks2, volume_key

Partial log (click to expand)

these derivations will be built:
  /nix/store/w5szkw2zzmgk8lnsk7ic8xsc62y11b0r-libblockdev-2.17.drv
  /nix/store/j9flncwgpx82nm1m5gblac8y81rxc2lg-udisks-2.7.6.drv
waiting for locks or build slots...
/nix/store/6ck4ys07s6n33lppv42kahmmmvhv71zh-libblockdev-2.17
/nix/store/5y9k5rmnsh5xzhwqlzg7n8shms91pn41-libbytesize-1.3
/nix/store/g0g5gxm7nl11xa87ca5fwj1i0cysffnk-libndctl-60.3
/nix/store/phgv1i2fbfq0vvzkfq217370z6vqkmbi-udisks-2.7.6
/nix/store/6a956dar39wfa5hbd42wszwv5kqb1f56-volume_key-0.3.10

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: gnome3.gnome-disk-utility

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3
shrinking /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3/libexec/.gsd-disk-utility-notify-wrapped
shrinking /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3/bin/.gnome-disks-wrapped
shrinking /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3/bin/.gnome-disk-image-mounter-wrapped
gzipping man pages under /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3/share/man/
strip is /nix/store/qg2agrqkf240s656d207zqhipl0bc2id-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3/libexec  /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3/bin
patching script interpreter paths in /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3
checking for references to /build in /nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3...
/nix/store/xpbavzgk2rv3kwg2ahdg6zdhfyw5n2ml-gnome-disk-utility-3.28.3

@xeji
Copy link
Contributor

xeji commented Jun 11, 2018

@GrahamcOfBorg build gvfs udiskie

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: gvfs, udiskie

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: gvfs, udiskie

Partial log (click to expand)

/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-rename: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-rm: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-copy: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-move: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-monitor-file: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-monitor-dir: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-mkdir: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-mime: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2/bin/gvfs-less: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/56vmvn3wy86jh7zvcgdk4bchj93rm1fy-gvfs-1.36.2...

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: gvfs

The following builds were skipped because they don't evaluate on aarch64-linux: udiskie

Partial log (click to expand)

strip is /nix/store/qg2agrqkf240s656d207zqhipl0bc2id-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xf4rwv7bvfr32mx7ws59h9rd5gmrmxn6-udisks-2.7.6-dev/lib
patching script interpreter paths in /nix/store/xf4rwv7bvfr32mx7ws59h9rd5gmrmxn6-udisks-2.7.6-dev
checking for references to /build in /nix/store/xf4rwv7bvfr32mx7ws59h9rd5gmrmxn6-udisks-2.7.6-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/fcybync9vw8fnz5r3v2n3fqnpm8c7hqg-udisks-2.7.6-devdoc
strip is /nix/store/qg2agrqkf240s656d207zqhipl0bc2id-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/fcybync9vw8fnz5r3v2n3fqnpm8c7hqg-udisks-2.7.6-devdoc
checking for references to /build in /nix/store/fcybync9vw8fnz5r3v2n3fqnpm8c7hqg-udisks-2.7.6-devdoc...
cannot build derivation '/nix/store/jnv7nqrsjskw32rcj7b5j37iqq284g8n-gvfs-1.36.2.drv': 1 dependencies couldn't be built
error: build of '/nix/store/jnv7nqrsjskw32rcj7b5j37iqq284g8n-gvfs-1.36.2.drv' failed

@flokli
Copy link
Contributor Author

flokli commented Jun 11, 2018

@xeji udiskie requires asciidoc-full to build docs, which enables java, which is unfree on aarch64.
Depending on how docs look like, we might want to use a non-java override for the asciidoc dependency, or not build docs for aarch64, but that's something for another PR :-)

@xeji
Copy link
Contributor

xeji commented Jun 11, 2018

This asciidoc stuff needs to be fixed more generally, not just for udiskie.

Copy link
Contributor

@xeji xeji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM now. Please squash your commits into one per package for a pretty history before the merge.

@flokli
Copy link
Contributor Author

flokli commented Jun 11, 2018

@xeji squashed, please merge :-)

@xeji
Copy link
Contributor

xeji commented Jun 11, 2018

Thank you!

@xeji xeji merged commit 25398a9 into NixOS:master Jun 11, 2018
@flokli
Copy link
Contributor Author

flokli commented Jun 11, 2018

@xeji should this be backported to 18.03 to fix #34999 there as well?

@flokli flokli deleted the udisks-2.7.6 branch June 11, 2018 16:53
@xeji
Copy link
Contributor

xeji commented Jun 11, 2018

@flokli not immediately. It is a major update, fast-forward 3 yrs, and important features like gvfs depend on it. So let's wait for a while and see if any unexpected problems turn up on master before deciding on a backport.

@vcunat
Copy link
Member

vcunat commented Jun 21, 2018

This upgrade is a problem. The closure size multiplied: 97 -> 338 MiB. It's such a difference that some nixos tests started to fail because of not fitting into the VM image anymore (or something like that), e.g. https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.installer.swraid.x86_64-linux

@jtojnar
Copy link
Contributor

jtojnar commented Jun 21, 2018

I will try to reduce it.

@jtojnar
Copy link
Contributor

jtojnar commented Jun 21, 2018

Hmm, right:

$ du -sclh $(nix-store -qR $(nix-build 'channel:nixos-18.03' -A udisks)) | sort -h
unpacking 'https://nixos.org/channels/nixos-18.03/nixexprs.tar.xz'...
32K	/nix/store/5rw3rjgjf0jb7sd44m814ki2aqyzikwv-libcap-2.25-lib
52K	/nix/store/jbs6zz82d59znrc53xdbmc47qvmjwjzd-libffi-3.2.1
124K	/nix/store/if3j50i246m1pmyqhbjfv296l1ny6f5y-libgudev-232
124K	/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11
164K	/nix/store/5kj0qxx5mlw1piya9fskdyx7s0mk5z5s-libatasmart-0.19
172K	/nix/store/z3mpzgxjzx72l64pw3glppj48cd49lm8-attr-2.4.47
196K	/nix/store/lird33c2j4mr289q1q17qihqhwq188wh-acl-2.2.52
272K	/nix/store/h48w6zjixk49mj6p1q25vhyknyml10sk-expat-2.2.5
336K	/nix/store/n2rk6pramnhprf6bfx52ah2l3w8ydx9s-lz4-131
336K	/nix/store/ryhr1ljccqcnj7qrrwdb6xdqcmg0391s-nspr-4.19
400K	/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3
500K	/nix/store/i75nslvdx1sk1p7rk0944x48spwdz3r0-pcre-8.41
552K	/nix/store/7z66nmx94kcl7vr2y37gjwgxrqmdii9q-polkit-0.113
844K	/nix/store/pdibs6hf5pi5a2d8h6kb6aydiydjb8hh-libgpg-error-1.28
884K	/nix/store/r9si43gzr5dynymvik49izqq93j22gz1-systemd-237-lib
964K	/nix/store/navldm477k3ar6cy0zlw9rk43i459g69-gnused-4.4
1.1M	/nix/store/x0svag0sxbd50zg5d0h2l13wcw9v06xb-mdadm-4.0
1.1M	/nix/store/zrqp1awj7xg2d72hx2ja60x3rc3j2fyv-cracklib-2.9.6
1.2M	/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12
1.3M	/nix/store/cwdidk7bpgdjyg61y5yjhjc7rq4nir07-libgcrypt-1.8.3
1.5M	/nix/store/48fjc4wbmvmgzam9qmah0q698wszhdyg-util-linux-2.31.1
2.6M	/nix/store/6ca5dl2wy0nh37li1n4b152fcazsp3f6-glibc-2.26-131-bin
3.0M	/nix/store/367ldm9q7cwc82698kdq438n53fbpz4c-linux-pam-1.3.0
3.2M	/nix/store/gqhcbrid3yky20b5l0m3nx2vndj3s1a1-udisks-2.1.6
4.0M	/nix/store/wg16hslfhjfp0iiwfxpk513vfn5z0m99-spidermonkey-17.0.0-lib
4.3M	/nix/store/lgx4sc8ia6n7qgspdpd33jil8124gcnf-shadow-4.5
4.9M	/nix/store/rl7qpnkj8zplwg4kr59hcra6ns67qpkj-util-linux-2.31.1-bin
5.5M	/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib
7.7M	/nix/store/069g827lh3hrhp4vkcq3rsh5jh65pm3l-ncurses-6.0-20171125
8.3M	/nix/store/ygd016dbkp6f6p3b4r7xbgq64ayilhnv-util-linux-2.31.1
13M	/nix/store/qga9fcslw3hsiqxcndxx2abk1wx3379c-glib-2.54.3
23M	/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131
90M	total
$ du -sclh $(nix-store -qR $(nix-build 'channel:nixos-unstable' -A udisks)) | sort -h
unpacking 'https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz'...
4.0K	/nix/store/a4i0191lwa8ivpvkl7n5wmxqycaaracd-sendmail-script
16K	/nix/store/frs59fdgiadnjhrbada0clc8xxnp1a4c-dns-root-data-2017-10-24
32K	/nix/store/n00zqffgf7fsf55cpyp5n09nkxs2r163-libcap-2.25-lib
40K	/nix/store/4f9brqvp2fp65kjcc83jasjmw3gfjmgp-libXdmcp-1.1.2
44K	/nix/store/297vamcm3s6y1v0n3maw3azqqkl38zxy-libaio-0.3.110
52K	/nix/store/7gm5azmw67ix1nw9pgzgw3g1kar6im9n-libSM-1.2.2
56K	/nix/store/bf9kwcmwhyk2q85p6v0c84jnqz1lj57j-libXfixes-5.0.3
56K	/nix/store/x3jhvyr7i3kknwars33sp1pi253pgnb7-libffi-3.2.1
60K	/nix/store/74gcx30waadabbjrbq35jpyrhhdgcsvd-libXrender-0.9.10
60K	/nix/store/w7gmmar5bsfihmi13iky3f06nkrfmmgf-libXinerama-1.1.3
60K	/nix/store/ybxamq9dqi194zn638nm1sahw6m946ms-libtool-2.4.6-lib
64K	/nix/store/fzm6g41cpwlnraaavf4nz8wpsypyv0fl-libmnl-1.0.4
76K	/nix/store/73lhwzajm4jx62rs5k9qngwclwavmbwk-npth-1.5
80K	/nix/store/5qgnb6s442v1ivyf8xj8n39pgkxpyxs8-libXau-1.0.8
80K	/nix/store/7vlw1w44q97v48siv18w74i5bsz47a25-bzip2-1.0.6.0.1-bin
80K	/nix/store/ahhvj5zshffniczzflmdgbmdjhcfbpqr-libnfnetlink-1.0.1
80K	/nix/store/fic0m2k8vzrgdrxnl6sqkcb80s3dyqvk-libgudev-232
84K	/nix/store/4zbsj0ppsqjcrsh5ynl5yacphq2g7sjp-libbytesize-1.3
84K	/nix/store/xr9wvcad9g9bfjr7x15n2nrzypghvkm4-bzip2-1.0.6.0.1
88K	/nix/store/b65l1hc06g5gazyjz2dk74rbw2afzg12-libXcomposite-0.4.4
88K	/nix/store/pgjyjq5x76r3bdlvs014pblx35wp012l-libXi-1.7.9
88K	/nix/store/vazczz8xcz5yqd8d1h6bbibx57jhz899-json-c-0.13.1
96K	/nix/store/x9qlswhrq9024x8xwnz6pfi93ps74chj-libtasn1-4.13
104K	/nix/store/9jkd4vbsf7jx9j5rls7ayypd76jvd31r-libXext-1.3.3
104K	/nix/store/ailvz9mc0413277nx01iwrcfx1p394gc-libassuan-2.5.1
112K	/nix/store/572pixkmvg0yl40qbxlzydxf32b3c54l-libndctl-60.3-man
120K	/nix/store/9775yi5pma6ay6qvw59j6qnskbg2mmfv-libdaemon-0.14
128K	/nix/store/5wghyn4ayj5fpvls8zq9psl5fahzw0sr-libICE-1.0.9
136K	/nix/store/y5fcq3wx4z08zpwp605wa1h02nd1cnql-libusb-1.0.22
140K	/nix/store/gsvf0mba0m0gw2jgywwsgipvigx1fr04-libXrandr-1.5.1
140K	/nix/store/mnn3lxldpczaqzjv94z99ljzbhsfp82c-libXft-2.3.2
144K	/nix/store/gf00m2nz8079di7ihc6fj75v5jbh8p8v-zlib-1.2.11
148K	/nix/store/w9vd8rapflww34cq53yqdd9xawq78801-libmicrohttpd-0.9.59
168K	/nix/store/kflzfl3lf66aznlwf3rr81gjginsz8lz-libatasmart-0.19
168K	/nix/store/l4v9qkjg49phv0c3jv8kwns6pmighysg-util-linux-2.32-dev
176K	/nix/store/v532hwqk0v0icghy0fdd8bs9acvkixcf-attr-2.4.47
180K	/nix/store/ix32wkg4z56j44q5rdi5hai0r4biap02-gzip-1.9
200K	/nix/store/ni2gh1izlcz6isadbprkvclzcjgdlai5-acl-2.2.52
208K	/nix/store/5zzdqfv0w3jszckvsp1brl7crg4zpnjr-libXcursor-1.1.15
216K	/nix/store/wya8pgi98ias0zdy8b97nifbysxncp0i-xfsprogs-4.14.0-dev
256K	/nix/store/3axmbd412sldib49ysnyhb8vbrsssj2l-libpng-apng-1.6.34
256K	/nix/store/qik84j8crx4i40579bnscbf70wbpmj9q-libnetfilter_conntrack-1.0.7
264K	/nix/store/ch54r8rqainsimnba13xz4x88qpfkfb6-libksba-1.3.5
272K	/nix/store/s6l4vvcg55vcabvghifcdns2k8df7gpw-kexec-tools-2.0.17
276K	/nix/store/3rjpda93017dcy7x1zywrkvmnw7ynipp-expat-2.2.5
276K	/nix/store/kkwk4j3z5i8fwmhcik772w94l59g8ghl-dosfstools-4.1
284K	/nix/store/1cvisr499m9ws1nqwak62g8lx1d6hyh4-libseccomp-2.3.3-lib
288K	/nix/store/jlwqx61hr0ciyqaczwkvdxj1lvfjzb27-fontconfig-2.12.6
312K	/nix/store/bnkdm94h7hkr6lsqa0lx2i3vk5pak28x-libnftnl-1.1.0
316K	/nix/store/hmlr3qc7v14q1rkgbz3n16vx2xrf1nqp-exfat-1.2.8
320K	/nix/store/21wwwsgs87r5pwci91ns0d6zk189j7kv-pinentry-1.1.0
328K	/nix/store/7z4f23jr50i6jc06lvkvkryhxni341cy-fontconfig-2.12.6-lib
344K	/nix/store/q203dqksgpxbqwsjifflny491vj3147q-nspr-4.19
352K	/nix/store/brngcibfhjq2bl2ynr7rn12h823kmx01-audit-2.8.3
356K	/nix/store/5r1zcmv1gbfc9s4l2s4rjl2bz4x36ap9-graphite2-1.3.6
388K	/nix/store/lxyrkrsijzxccybm0g3q36y4bmm25vyg-f2fs-tools-1.9.0
396K	/nix/store/516ry6m1a0r0cpv94qz95ifz32f89vy9-readline-6.3p08
404K	/nix/store/50vyr0jvrmncyfb7g7h94bz23v708iz5-xz-5.2.4
412K	/nix/store/9c6bviwl3mi6qbqcgwjz2jk8x7nzazww-kmod-25
432K	/nix/store/clyfycwifd9ph9lynz7q2rnwpbxc0vjl-libidn2-2.0.5
432K	/nix/store/kcrmgp9ac0gnm9ky9kip5qy94jirmh66-libndctl-60.3
444K	/nix/store/57fjdgrjws89fyk790343l3pr3nmdd8c-pcsclite-1.8.23
460K	/nix/store/skf9arpqxmjm0n7nqkp39zkba0rgy9jb-lz4-131
464K	/nix/store/c4kwimk0rk54afld87x4kn6ag0f92586-dbus-1.12.8-lib
468K	/nix/store/vqgjzp8z61mh1cicblg7254cxav31h81-lzo-2.10
492K	/nix/store/8ncacs3sxakhgb0jcl5zwy745zaambl1-libapparmor-2.12.0
504K	/nix/store/0w631513j8q4k4s69iwbszz0gg0rmasb-pcre-8.41
504K	/nix/store/pjckpxnms2w3w83wklvzp9hji5sads4f-nettle-3.4
520K	/nix/store/ygaz55zcn49lz10y6m7yhwd7ngyz6hc7-popt-1.16
544K	/nix/store/bxbc9j43h4cmd3qpgaqbyrn39z8bzy9f-mpfr-4.0.1
560K	/nix/store/61s5svg1z9b98ay5j117w9rl5mm2lpcj-libtiff-4.0.9
564K	/nix/store/3pmjyfwxj33xhfv3mryz3ls8inpvgyyx-polkit-0.113
600K	/nix/store/qzdbzhvk9qrima6f6wryakyqr89hdsrw-fuse-2.9.7
624K	/nix/store/x4hi04fj8jj7isk8q7nvaxbgs08ff3li-cyrus-sasl-2.1.26
624K	/nix/store/xrczr3463cd49jbirbwv71cvwimim6zr-nilfs-utils-2.2.7
688K	/nix/store/14nlrnm6bv7z25c9ismlhc2mrxsriyq2-gmp-6.1.2
720K	/nix/store/jni3vpcxmn5rllwg02979axpihrgwkrw-pango-1.40.14
756K	/nix/store/8gn2b5vvlazg608cj1y5l4igp9rckmnq-dejavu-fonts-minimal-2.37
760K	/nix/store/fxajfk2znc8n574if16c60lkk6v0ga7b-gdbm-1.14.1
792K	/nix/store/hvvdnn9h98ak7ygik8v4bkv56l5apbbg-pixman-0.34.0
848K	/nix/store/sfmpvjk5gaixm83if0psbxh7cjvj8lws-dmraid-1.0.0.rc16
848K	/nix/store/v9xh9l8wp89wpbjcbviw8cayyy6fh955-libgpg-error-1.28
852K	/nix/store/dnmqswrs35b85pb6vzi6b6zngmwaz448-unbound-1.7.1-lib
852K	/nix/store/pcx9rlf3jdmbmvgcmd5qns1ljjc99913-freetype-2.9
868K	/nix/store/kb6qrv153plwi2qjrcmfykjxhwrw3pyy-libevent-2.1.8
868K	/nix/store/lyvg40i4jga2ami6cg0q0gxnrlxjgm6m-harfbuzz-1.7.6
924K	/nix/store/0yjdzvzgzq19rdcwjmxgn3jpjxczap9w-gpgme-1.11.1
992K	/nix/store/n5gjyzk0v6n3whwp8fhkfkcbvx47nl2l-gnused-4.5
996K	/nix/store/hshq0i5gq6hsax1gyhy23j4yq0g5rxdf-jasper-2.0.14
1.1M	/nix/store/84gh7y8nlvwi45nigd95hskll5yf20wf-libblockdev-2.17
1.1M	/nix/store/rxxf7mm56v26x362s72z4mkz05dz6zv3-mdadm-4.0
1.1M	/nix/store/wwgmivlz1vwlpy6hibi4yk21sqa41w02-libsecret-0.18.5
1.1M	/nix/store/xc1vs8m4n0rai5y55hhawi1nr2vvcqsn-cracklib-2.9.6
1.2M	/nix/store/4qs8hi6y9myidpidscf5qxlcrqg39wws-e2fsprogs-1.44.2-bin
1.2M	/nix/store/889crh8aaml1p3fcnq74viqy7sbppz2q-gnugrep-3.1
1.2M	/nix/store/cdi5y1vwwid181i2zg27f3279mv5lvrc-sqlite-3.23.1
1.2M	/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19
1.2M	/nix/store/y1q7n34vhpznx57qc7svbaipjb6p5c46-libjpeg-turbo-1.5.3
1.3M	/nix/store/0ck4h8vs058wlmkafq2yb8y72i2jar2w-libgcrypt-1.8.2
1.3M	/nix/store/qy51j48qw21693ij1h6yi19fwi3f6nmy-volume_key-0.3.10
1.4M	/nix/store/8asmwjwxaiydgcw3rcxkwh10315pbyg1-xfsprogs-4.14.0
1.4M	/nix/store/dgv8a5yxim85rp1rc1wa0hxfg2s9mnps-pcre2-10.23
1.4M	/nix/store/i972ghxk3ny7qynbp26f136yf9npm5qd-libxcb-1.12
1.4M	/nix/store/nvr0nm0af4hjwc24xpbf3rcnv59lf3ib-thin-provisioning-tools-0.7.6
1.4M	/nix/store/s991c2jn6bn6f8140h4hg6clgi00v9md-ntfs3g-2017.3.23
1.4M	/nix/store/vclgkmhb4a8xi25z6vxf1sainlg0sciv-cryptsetup-1.7.5
1.5M	/nix/store/awn7im9zraf3yq7m9zq1l390d31rmam1-xfsprogs-4.14.0-bin
1.6M	/nix/store/59hdzi939fjw32yzblfz8jicyz3cnr9n-libunistring-0.9.9
1.6M	/nix/store/cdf9bjvgiybfyq4bjknxcmymis2c8zk9-util-linux-2.32
1.8M	/nix/store/m1042703dbxphbik2qpl4mksgqd1xslb-systemd-238-lib
1.9M	/nix/store/gcj950j2360nxj0shahfcip84g745llh-cairo-1.15.12
2.0M	/nix/store/j6wkcj12ckw1dp389p5lywv3png33xgl-zstd-1.3.4
2.1M	/nix/store/44dqncx7wdbcaw0cqk7521hf2wl4xrf4-libglvnd-1.0.0
2.2M	/nix/store/595152h235zfnj5hln2vx77mm7wq2bmr-atk-2.28.1
2.3M	/nix/store/0ybx41rnan5gi771q1s1fzkwl837f4zq-libkrb5-1.15.2
2.3M	/nix/store/shl208plvfhmhfv0z1nimknvbmi9pnsc-parted-3.2
2.4M	/nix/store/c0fify8ir2wplmx3qb6qja8nbfwdvyhb-gnutls-3.6.2
2.4M	/nix/store/khzxq2wzxn0lxcl76qmqy1a5vj4c9flx-avahi-0.7
2.6M	/nix/store/rvfaa3fxhnbafn2mvxx5msqaip3afwx5-glibc-2.27-bin
2.7M	/nix/store/b9rcg5p9is9dp2pk272rrlzd8rvs9z9v-iptables-1.6.2
2.7M	/nix/store/nvj50f7fla52gq6yxn3vw0bfl4nb8x7d-libsepol-2.7
2.7M	/nix/store/zsybshrdn65rlxdz6l0636jvq6y7clcg-libselinux-2.7
3.0M	/nix/store/bx17bcz9z9gh7bjh22vi3qk3s8206izw-linux-pam-1.3.0
3.5M	/nix/store/59zqkm5wh967wjrj1nlyb3fzzgk1hili-db-4.8.30
3.5M	/nix/store/jp9bvj0fsmi6dvqmkn7k4j48qfx7f849-e2fsprogs-1.44.2
3.5M	/nix/store/m0gzmk8izjmg2380wmgilhymv04jsz4n-libX11-1.6.5
3.6M	/nix/store/vjp3dbvj01w1m6xbfy9chiy3qnj54rgf-openssl-1.0.2o
3.6M	/nix/store/xqzqv15k0cv88jsi9n10v1xd2fnx6p2s-p11-kit-0.23.12
3.6M	/nix/store/zgbhf3yx7sbzp4x4v1j0i3ypyg2szjsp-udisks-2.7.6
3.8M	/nix/store/kkvzwsk7pqp145nav0kafx5iwg7k918g-openldap-2.4.45
4.0M	/nix/store/dnx6f9k9ar3lpbn392sbafhm97ah27qh-cups-2.2.6-lib
4.0M	/nix/store/mb2z56fy5z4f7363hd1j5nax4vfj86bk-gdk-pixbuf-2.36.12
4.1M	/nix/store/br0whyj9xbxcmbh5l6wdvsgbvi0ljbnp-db-5.3.28
4.1M	/nix/store/kdsygh93bm3ji17azd79nfavcbwfw3k3-kbd-2.0.4
4.3M	/nix/store/r5izd4v4j694l84yxixn20x90ianglsv-shadow-4.5
4.4M	/nix/store/22wcf2g9kwm7pm3f05qk5hbkv8hf5jrz-spidermonkey-17.0.0-lib
4.7M	/nix/store/x2aj629b5pqkzi7hkvx9j9ghjc7fp4c3-util-linux-2.32-bin
4.8M	/nix/store/cm3k91xr4d12p923hmbvxasj3bsanq0z-nss-3.36.1
5.0M	/nix/store/zqz4qrspf4hs9zw4cfyxly3y16czhd6l-util-linux-2.32-bin
5.5M	/nix/store/6r6hk0qq5jd8n0sbfmpri0wd7icszi16-gcc-7.3.0-lib
5.5M	/nix/store/za50fzypczypw1wk3rs41zlb71qp8ssj-btrfs-progs-4.15.1
7.0M	/nix/store/k61hikmpns09p8csddc1q2g7sbplwba5-lvm2-2.02.177
7.2M	/nix/store/xc9ny9m2515a3qyznd6aj5sc168zz0q2-lvm2-2.02.177
7.8M	/nix/store/fr9a6l744pzn2nc68ayksl1v4400r27w-ncurses-6.1
8.5M	/nix/store/h9cv9q2ylpa0jfdr81dvyid41zj1n88v-util-linux-2.32
11M	/nix/store/d63w7xvnj4rq8pg6lnll6z6ll46z02h8-gnupg-2.2.8
12M	/nix/store/x6drb9dk0wj88lspd9jm8vdcihb2bnax-coreutils-8.29
13M	/nix/store/2sym41rwn06nxhsnzv2yhca356za7vnj-glib-2.56.0
22M	/nix/store/5pi082mkn91pmwrbhfn7hwg52vcppj5s-systemd-238
27M	/nix/store/pr73kx0cdszbv9iw49g8dzi0nqxfjbx2-glibc-2.27
29M	/nix/store/53ypvbni29lmbyar22rkl94503b98ffm-gtk+-2.24.32
51M	/nix/store/6zmk1ankwbnydn447vnv8m3rqx8yjm6l-python-2.7.15
353M	total

Looks like the main culprits are GTK, python and systemd.

@vcunat
Copy link
Member

vcunat commented Jun 21, 2018

Well the larger things here will likely be present on a desktop anyway, which brought me to why we actually enable udisks2 service by default on all systems 18a7ce7. Maybe we could reconsider this or add some light udisks version for headless machines.

@flokli
Copy link
Contributor Author

flokli commented Jun 21, 2018

Didn't take a look at the exact dependency graphs, but one possible way to minimize size and dependencies could be to strip some of the applications inside the makeBinPath, depending on a feature flag. However, this could possibly mean there'll be two variants of udisk on desktop systems present, and the slimmed-down variant will just fail on some filesystem and partitioning-related actions.

Not enabling udisks2 service by default on headless systems seems to be the more sane approach IMHO.

@jtojnar
Copy link
Contributor

jtojnar commented Jun 21, 2018

$ nix why-depends -f . udisks python2
/nix/store/zgbhf3yx7sbzp4x4v1j0i3ypyg2szjsp-udisks-2.7.6
╚═══libexec/udisks2/udisksd: …-systemd-238-lib/lib:/nix/store/84gh7y8nlvwi45nigd95hskll5yf20wf-libblockdev-2.17/lib:/nix/store…
    => /nix/store/84gh7y8nlvwi45nigd95hskll5yf20wf-libblockdev-2.17
    ╚═══lib/libbd_crypto.so.2.0.0: …-systemd-238-lib/lib:/nix/store/qy51j48qw21693ij1h6yi19fwi3f6nmy-volume_key-0.3.10/lib:/nix/stor…
        => /nix/store/qy51j48qw21693ij1h6yi19fwi3f6nmy-volume_key-0.3.10
        ╚═══lib/python2.7/site-packages/_volume_key.la: …masb-pcre-8.41/lib -L/nix/store/6zmk1ankwbnydn447vnv8m3rqx8yjm6l-python-2.7.15/lib -lpython2.7 /…
            => /nix/store/6zmk1ankwbnydn447vnv8m3rqx8yjm6l-python-2.7.15
$ nix why-depends -f . udisks gtk2
/nix/store/zgbhf3yx7sbzp4x4v1j0i3ypyg2szjsp-udisks-2.7.6
╚═══libexec/udisks2/udisksd: …-systemd-238-lib/lib:/nix/store/84gh7y8nlvwi45nigd95hskll5yf20wf-libblockdev-2.17/lib:/nix/store…
    => /nix/store/84gh7y8nlvwi45nigd95hskll5yf20wf-libblockdev-2.17
    ╚═══lib/libbd_crypto.so.2.0.0: …-systemd-238-lib/lib:/nix/store/qy51j48qw21693ij1h6yi19fwi3f6nmy-volume_key-0.3.10/lib:/nix/stor…
        => /nix/store/qy51j48qw21693ij1h6yi19fwi3f6nmy-volume_key-0.3.10
        ╚═══bin/volume_key: …-util-linux-2.32/lib:/nix/store/0yjdzvzgzq19rdcwjmxgn3jpjxczap9w-gpgme-1.11.1/lib:/nix/store/ail…
            => /nix/store/0yjdzvzgzq19rdcwjmxgn3jpjxczap9w-gpgme-1.11.1
            ╚═══lib/libgpgme.so.11.20.1: …=%a..release_op_data./nix/store/d63w7xvnj4rq8pg6lnll6z6ll46z02h8-gnupg-2.2.8/bin.....gpgme-walk_…
                => /nix/store/d63w7xvnj4rq8pg6lnll6z6ll46z02h8-gnupg-2.2.8
                ╚═══bin/dirmngr: ….2.8/var/cache/gnupg./nix/store/21wwwsgs87r5pwci91ns0d6zk189j7kv-pinentry-1.1.0/bin/pinentry.~/.…
                    => /nix/store/21wwwsgs87r5pwci91ns0d6zk189j7kv-pinentry-1.1.0
                    ╚═══bin/pinentry-gtk-2: …ibgpg-error-1.28/lib:/nix/store/53ypvbni29lmbyar22rkl94503b98ffm-gtk+-2.24.32/lib:/nix/store/gcj…
                        => /nix/store/53ypvbni29lmbyar22rkl94503b98ffm-gtk+-2.24.32
$ nix why-depends -f . udisks systemd
/nix/store/zgbhf3yx7sbzp4x4v1j0i3ypyg2szjsp-udisks-2.7.6
╚═══libexec/udisks2/udisksd: …-systemd-238-lib/lib:/nix/store/84gh7y8nlvwi45nigd95hskll5yf20wf-libblockdev-2.17/lib:/nix/store…
    => /nix/store/84gh7y8nlvwi45nigd95hskll5yf20wf-libblockdev-2.17
    ╚═══lib/libbd_crypto.la: …b/libcryptsetup.la -L/nix/store/k61hikmpns09p8csddc1q2g7sbplwba5-lvm2-2.02.177/lib -L/nix/store/…
        => /nix/store/k61hikmpns09p8csddc1q2g7sbplwba5-lvm2-2.02.177
        ╚═══lib/systemd/system-generators/lvm2_activation_generator_systemd_red_hat: …ervice].ExecStartPre=/nix/store/5pi082mkn91pmwrbhfn7hwg52vcppj5s-systemd-238/bin/udevadm settle.…
            => /nix/store/5pi082mkn91pmwrbhfn7hwg52vcppj5s-systemd-238
  • python2 dependency via volume_key can be fixed by moving python bindings to a separate output.
  • gtk2 is pulled in by pinentry, @fpletz was working on making the frontend configurable by NixOS module, IIRC, which might fix this.
  • systemd we will probably unable to get rid of.

@jtojnar
Copy link
Contributor

jtojnar commented Jun 21, 2018

Removing python2 got it down to 297M, see #42324

@edolstra
Copy link
Member

Please revert. Even a closure size of 297M is unacceptable. We cannot have a system service like udisks depend on GTK, libX11, etc.

@jtojnar
Copy link
Contributor

jtojnar commented Jun 21, 2018

I guess, we can build without crypto support by default for now. In the long run we need to switch to selecting gnupg pinentry frontend by NixOS module, so we can get rid of gtk2 from closure.

@jtojnar
Copy link
Contributor

jtojnar commented Jun 22, 2018

Splitting the packages gets us rid of python (50M) for free. More drastic modifications (udisksMinimal) got it down to 126M, but I am not sure we want that, it makes the expressions pretty ugly and I am not sure which functionality can we remove safely.

We could use udisks1 in the installer but it unsupported and might be insecure.

Alternately, we could switch to a lighter solution on the installer, for example pmount (already packaged) or usbmount.

@edolstra
Copy link
Member

Or we could revert to the previous version, which, AFAICT, worked fine.

@jtojnar
Copy link
Contributor

jtojnar commented Jun 22, 2018

I do not really thing downgrading to an ancient versions of software is a good idea, just look at the NEWS file for the number of bugs fixed (including #34999). Moreover, if the goal is to allow unprivileged mount, choosing a library for general disk management is an overkill. Much simpler solutions exist and are already packaged (pmount).

@flokli
Copy link
Contributor Author

flokli commented Jun 22, 2018

So not enabling udisks2 per default on all systems as suggested by @vcunat seems to be the best approach IMHO. Splitting packages to get rid of python shouldn't hurt either :-)

jtojnar referenced this pull request Aug 17, 2018
Due to whoever-knows-what, udisks nowadays pulls in GTK+ et al. But it
shouldn't be needed anyway in the installer, so disable it.
@edolstra
Copy link
Member

No, udisks should be the default on non-graphical systems, since you may still want to do things like mount USB sticks in a uniform way. We just shouldn't have insanity like depending on GTK+.

@jtojnar
Copy link
Contributor

jtojnar commented Oct 11, 2018

GTK dependency is really an issue with pinentry. We need the @fpletz’s fix.

Downgrading udisks is not an option, since the older version lacks some features and contains vulnerabilities.

@flokli
Copy link
Contributor Author

flokli commented Oct 14, 2018

@jtojnar what's this fix about? Is there a patch around making the GTK dependency optional?

@jtojnar
Copy link
Contributor

jtojnar commented Oct 15, 2018

It is supposed to build pinentry with only curses front-end by default, and enabling different front-ends in a NixOS module. I am not sure if Franz ever finished it though.

@fpletz
Copy link
Member

fpletz commented Oct 27, 2018

Working on it right now to be able to enable udisks again.

@fpletz
Copy link
Member

fpletz commented Oct 27, 2018

Openend a PR with the fixes to enable udisks2 again on install media: #49270

@nixos-discourse
Copy link

This pull request has been mentioned on Nix community. There might be relevant details there:

https://discourse.nixos.org/t/runtime-dependency-on-an-executable/1759/2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

gnome3.gnome-disk-utility unable to find parted
8 participants