Subject: bug#33285: Installing, then removing, a package yields a different profile

From: Chris Marusich <[email-masked]>
Date: Tue, 06 Nov 2018 23:08:17 -0800

[email-masked] (Ludovic Courtès) writes:

> Hi,
>
> Chris Marusich <[email-masked]> skribis:
>
>> [...]
>>
>> Why is it that profile generations 1 and 3 don't both point to the
>> same profile in the store?  Is this expected behavior?
>
> It’s not!  Could you look at the derivers of these two profiles (use
> ‘guix gc --derivers’) and see what differs?

Due to preparations for SeaGL and other matters, I'm afraid I won't have
much extra time until the end of this month.  However, I've peeked at
the derivers, and I may have a hint for now.

The derivers' builders differ as follows:

--8<---------------cut here---------------start------------->8---
$ diff -u  <(cat /gnu/store/nxjngfdrnbid45vibaa3rwyahs8mxdy8-profile-builder | tr ' ' '\n') <(cat /gnu/store/ibgc1gmwmqpvq3shls19b6w7x96r773m-profile-builder | tr ' ' '\n')
--- /dev/fd/63	2018-11-06 22:57:06.113873035 -0800
+++ /dev/fd/62	2018-11-06 22:57:06.113873035 -0800
@@ -38,10 +38,10 @@
 getenv)
 "out")
 (quote
-("/gnu/store/cb6cxb0k18a648qclh7zd7pvpsh1imny-info-dir"
-"/gnu/store/s616mj87kgz41g89b46fgr12y85gldrv-manual-database"
-"/gnu/store/1mj3mlqc28p68q0lnplv217vv4v9fslc-fonts-dir"
-"/gnu/store/g2q9r93pylmfqx4sw3k5gxixg8q2ksb1-ca-certificate-bundle"
+("/gnu/store/vh0ngq20a6x7zshjpv4qnd39p6sfh892-info-dir"
+"/gnu/store/ha6an8rfxadrk3slg9rxwdirv3a64kbz-manual-database"
+"/gnu/store/6cn1mrlyp1xlvln6msx25h822zjk62c3-fonts-dir"
+"/gnu/store/r5vlx8c33xs9g041hi7fyjc0fy2yndrn-ca-certificate-bundle"
 "/gnu/store/bihfrh609gkxb9dp7n96wlpigiv3krfy-hello-2.10"))
 #:symlink
 symlink
--8<---------------cut here---------------end--------------->8---

Notably, they DO both seem to use the same store path for hello.  The
only differing paths look like they were produced by profile hooks.
Perhaps this issue has something to do with profile hooks?

-- 
Chris