On Thu, Dec 07, 2023 at 05:28:47PM +0800, Pan Xie wrote: > Hello > > I find this interesting thing but I don't have an explanation. If I query > the "references" of my store item "sbcl", it shows that sbcl reference > bash-mininal, as the following output: > > # guix gc --references /gnu/store/sbbp9nvslqcf3bmcnz5wgxf2qpsi757$ > /gnu/store/6ncav55lbk5kqvwwflrzcr41hp5jbq0c-gcc-11.3.0-lib > /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35 > /gnu/store/mzx7j93w5szyzrgnql8dqhqdgjh6si02-mpfr-4.2.0 > /gnu/store/nl194qnq5lhjxpfwcs15xqihnfqif335-zstd-1.5.2-lib > /gnu/store/sbbp9nvslqcf3bmcnz5wgxf2qpsi757i-sbcl-2.3.7 > /gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16 > /gnu/store/ybadavwz1z9kmxanqy3siw38lnkwnkrp-gmp-6.2.1 > > But when I look into sbcl's package definition, there is no "bash-minimal" > as its input. I use "guix graph" find a path from sbcl to bash-minimal: > > # guix graph --path sbcl bash-minimal > sbcl@2.3.7 > texlive-updmap.cfg@66594 > texlive-scheme-basic@66594 > texlive-collection-basic@66594 > texlive-bin@20230313 > cairo@1.16.0 > bash-minimal@5.1.16 > > But I think that is build time dependency, not run time. cairo also requires > "ghostscript" as its input, which is not referenced by sbcl. > > If I run "guix size sbcl" or "guix pack sbcl", bash-minimal also included. I > think SBCL might require "sh" to execute some script files, > > but I can't figure out how guix decides "bash-minimal" is part of sbcl. > Would some one please tell me > > which part of codes in sbcl's package definition make guix include > "bash-minimal" into sbcl's references? I would suggest checking the output of 'grep bash-minimal /gnu/store/sbbp9nvslqcf3bmcnz5wgxf2qpsi757 -R' and that should let you see which files include a reference to bash-minimal. -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted