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

teamspeak-client: fix stuck build #69431

Merged
merged 1 commit into from
Sep 25, 2019

Conversation

B4dM4n
Copy link
Contributor

@B4dM4n B4dM4n commented Sep 25, 2019

Motivation for this change

The teamspeak-client build gets stuck waiting for user input. When the installer gets executed via echo -e 'q\ny' | sh -xe $src, it displays the license to the user through less, which doesn't receive the q properly and stays alive.

To not modify the installer the less command will be replaced by a script that only calls cat to output the license.

Shortly after pushing this I realized there was a read before the less command in the installer, so a missing \n was all it took to fix the build.

Turns out, the first try was the correct fix and using overlays while testing is a bad idea (need to figure out how to disable them temporarily).

Fixes #69415

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 nix-review --run "nix-review wip" (no depend pkgs)
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @nathanielbaxter

@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 labels Sep 25, 2019
@B4dM4n B4dM4n force-pushed the teamspeak-client-build branch 2 times, most recently from 28d9aad to 7ddc19b Compare September 25, 2019 20:43
@infinisil
Copy link
Member

How can I reproduce the failure from HEAD~1 from this PR? nix-build -A teamspeak_client works no problem.

@B4dM4n
Copy link
Contributor Author

B4dM4n commented Sep 25, 2019

HEAD~1 gets stuck for me as reported in #69415 with the following ps-tree

nix-daemon --daemon
 \_ nix-daemon 31711
     \_ bash -e /nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh
         \_ sh -xe /nix/store/wkia500ys2xqb0rih7n4vnhnfy1px2h4-TeamSpeak3-Client-linux_amd64-3.3.0.run
             \_ sh -xe /nix/store/wkia500ys2xqb0rih7n4vnhnfy1px2h4-TeamSpeak3-Client-linux_amd64-3.3.0.run
             \_ less

I'm currently running:

# nix run nixpkgs.nix-info -c nix-info -m
 - system: `"x86_64-linux"`
 - host os: `Linux 5.2.13, NixOS, 19.09pre192418.e19054ab3cd (Loris)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3`
 - channels(root): `"nixos-20.03pre193829.f0fec244ca3"`
 - channels(fabian): `"nixos-19.09pre192418.e19054ab3cd"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

@infinisil
Copy link
Member

Hm weird, works for me. Anyways since this fixes it for you then I'll be happy to merge

@infinisil infinisil merged commit 96ac71d into NixOS:master Sep 25, 2019
@B4dM4n B4dM4n deleted the teamspeak-client-build branch September 30, 2019 19:54
@cleverca22 cleverca22 added the 9.needs: port to stable A PR needs a backport to the stable release. label Nov 16, 2019
@cleverca22
Copy link
Contributor

i suspect its related to a newer nix-daemon as well, that supports pty's in the builder

#73485 will backport it to 19.09, which was forked while things where broken

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
9.needs: port to stable A PR needs a backport to the stable release. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Installing teamspeak not working because of license agreement showing up
3 participants