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

Feature request: show dependency tree #326

Open
chvillanuevap opened this issue Apr 22, 2015 · 1 comment
Open

Feature request: show dependency tree #326

chvillanuevap opened this issue Apr 22, 2015 · 1 comment

Comments

@chvillanuevap
Copy link
Contributor

I'm installing GCC on my machine using HashDist. GCC is the only package in my profile.

extends:
- file: linux.yaml

packages:
  gcc:
    sources:
    - url: http://ftpmirror.gnu.org/gcc/gcc-4.8.4/gcc-4.8.4.tar.bz2
      key: tar.bz2:jkakui3zrohjwv4tjffyzf3lhg4ntkro

So far, this is the output:

[launcher] Building launcher/wvmh5uvayzv3, follow log with:
[launcher]   tail -f /home/villanueva/.hashdist/tmp/launcher-wvmh5uvayzv3/build.log
Downloading http://releases.nixos.org/patchelf/patchelf-0.8/patchelf-0.8.tar.bz2...
[=========================] 100.0% (0.1MB of 0.1MB) 1.019MB/s ETA 0s  
[patchelf] Building patchelf/k3rloj265ogt, follow log with:
[patchelf]   tail -f /home/villanueva/.hashdist/tmp/patchelf-k3rloj265ogt/build.log
Downloading http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz...
[=========================] 100.0% (2.7MB of 2.7MB) 3.573MB/s ETA 0s  
[ncurses] Building ncurses/viognkgus4nj, follow log with:
[ncurses]   tail -f /home/villanueva/.hashdist/tmp/ncurses-viognkgus4nj/build.log
Downloading http://downloads.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz...
[=========================] 100.0% (0.5MB of 0.5MB) 0.272MB/s ETA 0s  
[zlib] Building zlib/v6anirfvk2op, follow log with:
[zlib]   tail -f /home/villanueva/.hashdist/tmp/zlib-v6anirfvk2op/build.log
Downloading http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz...
[=========================] 100.0% (0.7MB of 0.7MB) 0.940MB/s ETA 0s  
[bzip2] Building bzip2/yhn7t7sdxdfd, follow log with:
[bzip2]   tail -f /home/villanueva/.hashdist/tmp/bzip2-yhn7t7sdxdfd/build.log
Downloading http://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.bz2...
[=========================] 100.0% (1.4MB of 1.4MB) 2.510MB/s ETA 0s  
[m4] Building m4/44k2kvxu365p, follow log with:
[m4]   tail -f /home/villanueva/.hashdist/tmp/m4-44k2kvxu365p/build.log
Downloading http://ftp.heanet.ie/mirrors/gnu/gdbm/gdbm-1.11.tar.gz...
[=========================] 100.0% (0.8MB of 0.8MB) 0.914MB/s ETA 0s  
[gdbm] Building gdbm/xqni5hcjx43a, follow log with:
[gdbm]   tail -f /home/villanueva/.hashdist/tmp/gdbm-xqni5hcjx43a/build.log
Downloading http://mirrors.kernel.org/gnu/gmp/gmp-5.1.3.tar.bz2...
[=========================] 100.0% (2.1MB of 2.1MB) 3.326MB/s ETA 0s  
[gmp] Building gmp/vadkrj43wtyr, follow log with:
[gmp]   tail -f /home/villanueva/.hashdist/tmp/gmp-vadkrj43wtyr/build.log
Downloading http://www.mpfr.org/mpfr-3.1.2/mpfr-3.1.2.tar.bz2...
[=========================] 100.0% (1.2MB of 1.2MB) 0.345MB/s ETA 0s  
[mpfr] Building mpfr/vxwmnxjsshse, follow log with:
[mpfr]   tail -f /home/villanueva/.hashdist/tmp/mpfr-vxwmnxjsshse/build.log
Downloading ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz...
[=========================] 100.0% (0.6MB of 0.6MB) 1.474MB/s ETA 0s  
[mpc] Building mpc/sushaq7ufe2f, follow log with:
[mpc]   tail -f /home/villanueva/.hashdist/tmp/mpc-sushaq7ufe2f/build.log
Downloading http://ftp.gnu.org/gnu/sed/sed-4.2.tar.bz2...
[=========================] 100.0% (0.8MB of 0.8MB) 1.049MB/s ETA 0s  
[gnu-sed] Building gnu-sed/kouvqjatysek, follow log with:
[gnu-sed]   tail -f /home/villanueva/.hashdist/tmp/gnu-sed-kouvqjatysek/build.log
Downloading http://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz...
[=========================] 100.0% (2.2MB of 2.2MB) 2.979MB/s ETA 0s  
[readline] Building readline/5tdfuoei3z6e, follow log with:
[readline]   tail -f /home/villanueva/.hashdist/tmp/readline-5tdfuoei3z6e/build.log
Downloading https://sqlite.org/2013/sqlite-autoconf-3071700.tar.gz...
[=========================] 100.0% (1.8MB of 1.8MB) 1.855MB/s ETA 0s  
[sqlite] Building sqlite/m5jo67qgu6zf, follow log with:
[sqlite]   tail -f /home/villanueva/.hashdist/tmp/sqlite-m5jo67qgu6zf/build.log
Downloading http://rabbit.dereferenced.org/~nenolod/distfiles/pkgconf-0.9.6.tar.bz2...
[=========================] 100.0% (0.1MB of 0.1MB) 0.243MB/s ETA 0s  
[pkg-config] Building pkg-config/pjksilnbb4iy, follow log with:
[pkg-config]   tail -f /home/villanueva/.hashdist/tmp/pkg-config-pjksilnbb4iy/build.log
Downloading https://www.openssl.org/source/openssl-1.0.1g.tar.gz...
[=========================] 100.0% (4.3MB of 4.3MB) 2.120MB/s ETA 0s  
[openssl] Building openssl/pkrr3ils6o2k, follow log with:
[openssl]   tail -f /home/villanueva/.hashdist/tmp/openssl-pkrr3ils6o2k/build.log
Downloading http://python.org/ftp/python/2.7.9/Python-2.7.9.tgz...
[=========================] 100.0% (15.9MB of 15.9MB) 4.391MB/s ETA 0s  
[python] Building python/hvnvhtipxg2d, follow log with:
[python]   tail -f /home/villanueva/.hashdist/tmp/python-hvnvhtipxg2d/build.log
Downloading http://isl.gforge.inria.fr/isl-0.12.2.tar.bz2...
[=========================] 100.0% (1.3MB of 1.3MB) 0.844MB/s ETA 0s   
[isl] Building isl/qr4j7jaetze7, follow log with:
[isl]   tail -f /home/villanueva/.hashdist/tmp/isl-qr4j7jaetze7/build.log
...

The problem here is that I do not know how many more packages need to be installed, or why some packages are being installed at all. For example, it is not clear to me why OpenSSL is installed with GCC. Now, I know there is some dependency somewhere in there, but I do not know where exactly.

I could go into gcc.yaml, see the build dependencies, go into each dependent package, and keep tracking down the dependencies. However, it would be useful if HashDist had an option where it would simply print this information for me. The output would be similar to the output of the command-line tool tree.

gcc
|
|-- isl
  |-- gmp
  |-- ...
|-- ...

That way I have a better understanding of what packages will be installed, and why. I read somewhere in the docs that HashDist builds the dependency list at some point during the build. At that point, could we format and print the information?

@certik
Copy link
Member

certik commented Apr 22, 2015

Absolutely agreed. There is hit status, try it, it might provide some info. But a much better output is needed. I have already started on improving the 'hit' user experience in #325, and any help with it would be highly appreciated.

Definitely report all such usability issues.

It's high priority to fix those now.

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

No branches or pull requests

2 participants