* Why installing some packages results in two directories containing binaries in /gnu/store?
@ 2023-04-08 0:04 Rodrigo Morales
2023-04-08 0:44 ` Csepp
0 siblings, 1 reply; 3+ messages in thread
From: Rodrigo Morales @ 2023-04-08 0:04 UTC (permalink / raw)
To: help-guix
Table of Contents
_________________
1. TL; DR
2. Installation of packages and resulting files
.. 1. aria2c
.. 2. transmission
.. 3. htop
3. Question
1 TL; DR
========
I have installed three packages: `transmission', `aria2c' and
`htop'. These three packages install a binary.. I've noticed that
`transmission' and `aria2c' create two directories with the same
folder structure in `/gnu/store'. I'm now trying to understand what's
the reason behind this.
2 Installation of packages and resulting files
=============================================
2.1 aria2c
~~~~~~~~~~
Before installing the package, I made sure that there was no directory
in `/gnu/store' whose name contains `aria2'. See proof below.
,----
| find /gnu/store -mindepth 1 -maxdepth 1 -name '*aria2*' | wc -l
`----
,----
| 0
`----
I installed the package
,----
| rdrg@sony ~$ guix package -i aria2
| The following package will be installed:
| aria2 1.36.0
|
| 1.4 MB will be downloaded
| aria2-1.36.0 1.4MiB
723KiB/s 00:02 ▕██████████████████▏ 100.0%
| The following derivation will be built:
| /gnu/store/8nbbjvnby06zpd4yngxqamnml1v1av07-profile.drv
|
| applying 3 grafts for aria2-1.36.0 ...
| building profile with 6 packages...
| rdrg@sony ~$ echo $?
| 0
`----
The following files and directories get created in `/gnu/store'.
,----
| find /gnu/store -mindepth 1 -maxdepth 1 -name '*aria2*' -printf '%y
%p\n'
`----
,----
| f /gnu/store/1qblfzq6pih64mgkh84zj363y4a0lv8s-aria2-1.36.0.tar.xz.drv
| f /gnu/store/jgjvdz764qkrdb8y8ns9is2c33i92493-aria2-1.36.0-builder
| f /gnu/store/n8gc9f5jdav18fqpqmzizgm0aldil8md-aria2-1.36.0.drv
| f /gnu/store/78h4v9fxgbikrpvwi91alj47vy5i68n2-aria2-1.36.0-builder
| f /gnu/store/y6fiq5hm3dkgzmv7ybdl1vny2r54xn4d-aria2-1.36.0.drv
| d /gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0
| d /gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0
`----
As can be seen above, there are only 2 directories that don't end in
`*.drv' or `*-builder'. These two directories have a similar file
structure, as can be seen below in the output of the `diff' command.
,----
| diff \
| --brief \
| --recursive \
| /gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0 \
| /gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0
`----
,----
| Files
/gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0/bin/aria2c and
/gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0/bin/aria2c differ
| Files
/gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0/etc/ld.so.cache
and
/gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0/etc/ld.so.cache
differ
| Files /gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0/lib/
libaria2.la and
/gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0/lib/libaria2.la
differ
| Files
/gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0/lib/libaria2.so
and
/gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0/lib/libaria2.so
differ
| Files
/gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0/lib/libaria2.so.0
and
/gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0/lib/libaria2.so.0
differ
| Files
/gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0/lib/libaria2.so.0.0.0
and
/gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0/lib/libaria2.so.0.0.0
differ
| Files
/gnu/store/qmabjifn34h1rrak1pgrfzg1ca3sxssa-aria2-1.36.0/lib/pkgconfig/libaria2.pc
and
/gnu/store/fam1k2569vvy3fw6skw2px08hwcqzx81-aria2-1.36.0/lib/pkgconfig/libaria2.pc
differ
`----
2.2 transmission
~~~~~~~~~~~~~~~~
Similarly, before installing the package `transmission', I made sure
that there were no directory in `/gnu/store' whose name contain
`transmission'. See proof below.
,----
| find /gnu/store -mindepth 1 -maxdepth 1 -name '*transmission*' | wc -l
`----
,----
| 0
`----
I installed the package `transmission'. See proof below.
,----
| rdrg@sony ~$ guix package -i transmission
| The following package will be installed:
| transmission 3.00
|
| substitute: updating substitutes from 'https://ci.guix.gnu.org'...
100.0%
| 1.5 MB will be downloaded
| transmission-3.00 664KiB
392KiB/s 00:02 ▕██████████████████▏ 100.0%
| transmission-3.00-gui 757KiB
604KiB/s 00:01 ▕██████████████████▏ 100.0%
| The following derivation will be built:
| /gnu/store/x3kig2j74i2nar18fnyma6l2wgikkhqc-profile.drv
|
| applying 27 grafts for transmission-3.00 ...
| building profile with 4 packages...
| rdrg@sony ~$ echo $?
| 0
`----
The following files and directories get created in `/gnu/store'.
,----
| find /gnu/store -mindepth 1 -maxdepth 1 -name '*transmission*' -printf
'%y %p\n'
`----
,----
| f
/gnu/store/w5axm22g9nrgbkhrsjlf4zvnksavdjwp-transmission-3.00.tar.xz.drv
| f
/gnu/store/d4h1gkavik552f9bqcnimiylhrp18b7c-transmission-honor-localedir.patch
| f
/gnu/store/xivc36rv3dk5qzfmf78hzrrvnp6m1crv-transmission-3.00.tar.xz-builder
| f
/gnu/store/01h9m5lrmxhcbxxlf45z24zgmbvm6ibj-transmission-3.00.tar.xz.drv
| f /gnu/store/asq7m7221syq0rlwiy01lhcsj54lihyv-transmission-3.00-builder
| f /gnu/store/v8sgmbxrji7gkd4pyc2x4wik4x29qysg-transmission-3.00.drv
| f /gnu/store/dan5qy88nzdyn9010qz0a9666bss6x4v-transmission-3.00-builder
| f /gnu/store/pv9yvk7qzs7ifx5fkam2mqla51y12ihh-transmission-3.00.drv
| d /gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00
| d /gnu/store/p4wfwg0d6qz5navc6w5gnc6gzibhiisd-transmission-3.00-gui
| d /gnu/store/6kmyb111bpf0mx25vd981h4zqmzp02jl-transmission-3.00-gui
| d /gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00
`----
As happened with the package `aria2', there are two directories that
created and have the simiilar file structure, as can be seen below in
the output of the `diff' command.
,----
| diff \
| --brief \
| --recursive \
| /gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00 \
| /gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00
`----
,----
| Files
/gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00/bin/transmission-create
and
/gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00/bin/transmission-create
differ
| Files
/gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00/bin/transmission-daemon
and
/gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00/bin/transmission-daemon
differ
| Files
/gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00/bin/transmission-edit
and
/gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00/bin/transmission-edit
differ
| Files
/gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00/bin/transmission-remote
and
/gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00/bin/transmission-remote
differ
| Files
/gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00/bin/transmission-show
and
/gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00/bin/transmission-show
differ
| Files
/gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00/etc/ld.so.cache
and
/gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00/etc/ld.so.cache
differ
| Files
/gnu/store/pnq464qnrr5nrmhr3avn39b22axf1na8-transmission-3.00/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
and
/gnu/store/dxyjmmrw6vkbjmm4jx17i92rnc4mmcm3-transmission-3.00/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
differ
`----
,----
| diff \
| --brief \
| --recursive \
| /gnu/store/6kmyb111bpf0mx25vd981h4zqmzp02jl-transmission-3.00-gui \
| /gnu/store/p4wfwg0d6qz5navc6w5gnc6gzibhiisd-transmission-3.00-gui
`----
,----
| Files
/gnu/store/6kmyb111bpf0mx25vd981h4zqmzp02jl-transmission-3.00-gui/bin/transmission-gtk
and
/gnu/store/p4wfwg0d6qz5navc6w5gnc6gzibhiisd-transmission-3.00-gui/bin/transmission-gtk
differ
| Files
/gnu/store/6kmyb111bpf0mx25vd981h4zqmzp02jl-transmission-3.00-gui/bin/.transmission-gtk-real
and
/gnu/store/p4wfwg0d6qz5navc6w5gnc6gzibhiisd-transmission-3.00-gui/bin/.transmission-gtk-real
differ
| Files
/gnu/store/6kmyb111bpf0mx25vd981h4zqmzp02jl-transmission-3.00-gui/etc/ld.so.cache
and
/gnu/store/p4wfwg0d6qz5navc6w5gnc6gzibhiisd-transmission-3.00-gui/etc/ld.so.cache
differ
| Files
/gnu/store/6kmyb111bpf0mx25vd981h4zqmzp02jl-transmission-3.00-gui/share/applications/transmission-gtk.desktop
and
/gnu/store/p4wfwg0d6qz5navc6w5gnc6gzibhiisd-transmission-3.00-gui/share/applications/transmission-gtk.desktop
differ
`----
2.3 htop
~~~~~~~~
Similarly, before installing the package `htop', I made sure that
there were no directory in `/gnu/store' whose name contain `htop'. See
proof below.
,----
| find /gnu/store -mindepth 1 -maxdepth 1 -name '*htop*' | wc -l
`----
,----
| 0
`----
I installed the package `htop'. See proof below.
,----
| rdrg@sony ~$ guix package -i htop
| The following package will be installed:
| htop 3.2.2
|
| 0.1 MB will be downloaded
| htop-3.2.2 120KiB
260KiB/s 00:00 ▕██████████████████▏ 100.0%
| The following derivation will be built:
| /gnu/store/7f3ffwx42wb61jxg3jnxjvqwqypj1h53-profile.drv
|
| creating GTK+ icon theme cache...
| building XDG desktop file cache...
| building profile with 4 packages...
| rdrg@sony ~$ echo $?
| 0
`----
The following files and directories get created in `/gnu/store'.
,----
| find /gnu/store -mindepth 1 -maxdepth 1 -name '*htop*'
`----
,----
| /gnu/store/s6vkhmfbvkwha9hvnic3c9rm469saqnh-htop-3.2.2-checkout.drv
| /gnu/store/71ssyqrv0vqbqh01wirkwksvy7j6jayi-htop-3.2.2-builder
| /gnu/store/d3mmj23lxjkrw8wpdiwxarsvmnppn7f3-htop-3.2.2.drv
| /gnu/store/kk95nfidydwy96s2x2y0l7xd6j089587-htop-3.2.2
`----
As can be seen above, there's a single directory which doesn't end in
`*.drv', `*-builder', or `*-checkout.drv'. This didn't happen with the
packages explained above: `transmission' and `aria2'.
3 Question
==========
As we could see above, both `transmission' and `aria2c' create two
directories with an identical folder structure but with byte-by-byte
different files. This didn't happen with `htop', which only creates a
single directory under `/gnu/store'.
What's the reasoning behind this behavior?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Why installing some packages results in two directories containing binaries in /gnu/store?
2023-04-08 0:04 Why installing some packages results in two directories containing binaries in /gnu/store? Rodrigo Morales
@ 2023-04-08 0:44 ` Csepp
2023-04-08 0:51 ` Rodrigo Morales
0 siblings, 1 reply; 3+ messages in thread
From: Csepp @ 2023-04-08 0:44 UTC (permalink / raw)
To: Rodrigo Morales; +Cc: help-guix
Rodrigo Morales <moralesrodrigo1100@gmail.com> writes:
> Table of Contents
> _________________
>
> 1. TL; DR
> 2. Installation of packages and resulting files
> .. 1. aria2c
> .. 2. transmission
> .. 3. htop
> 3. Question
>
>
> 1 TL; DR
> ========
>
> I have installed three packages: `transmission', `aria2c' and
> `htop'. These three packages install a binary.. I've noticed that
> `transmission' and `aria2c' create two directories with the same
> folder structure in `/gnu/store'. I'm now trying to understand what's
> the reason behind this.
>
Fairly sure this is due to grafts.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Why installing some packages results in two directories containing binaries in /gnu/store?
2023-04-08 0:44 ` Csepp
@ 2023-04-08 0:51 ` Rodrigo Morales
0 siblings, 0 replies; 3+ messages in thread
From: Rodrigo Morales @ 2023-04-08 0:51 UTC (permalink / raw)
To: Csepp; +Cc: help-guix
Thanks. I haven't read on this topic yet. I'll read about it.
On Sat, 8 Apr 2023 at 00:44, Csepp <raingloom@riseup.net> wrote:
>
> Rodrigo Morales <moralesrodrigo1100@gmail.com> writes:
>
> > Table of Contents
> > _________________
> >
> > 1. TL; DR
> > 2. Installation of packages and resulting files
> > .. 1. aria2c
> > .. 2. transmission
> > .. 3. htop
> > 3. Question
> >
> >
> > 1 TL; DR
> > ========
> >
> > I have installed three packages: `transmission', `aria2c' and
> > `htop'. These three packages install a binary.. I've noticed that
> > `transmission' and `aria2c' create two directories with the same
> > folder structure in `/gnu/store'. I'm now trying to understand what's
> > the reason behind this.
> >
>
> Fairly sure this is due to grafts.
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-04-08 1:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-08 0:04 Why installing some packages results in two directories containing binaries in /gnu/store? Rodrigo Morales
2023-04-08 0:44 ` Csepp
2023-04-08 0:51 ` Rodrigo Morales
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).