Hi wirelessduck,
wirelessduck--- via Dng writes:
>> On 20 Oct 2021, at 20:45, Olaf Meeuwissen via Dng <dng@???> wrote:
>>
>> I really looked into snapshotting but the etckeeper commit messages also
>> list which packages changed, like so (after I "beautified" the logging a
>> bit to suit my taste and needs)
>>
>> commit dd9602a525e590f24ec19904248938e6ab76e999 (HEAD -> master)
>> Author: olaf <olaf@quark>
>> Date: Mon Oct 11 21:48:25 2021 +0900
>>
>> Committing changes in /etc after APT run
>>
>> Package changes:
>> - debconf 1.5.71 all
>> + debconf 1.5.71+deb10u1 all
>> - libgssapi-krb5-2 1.17-3+deb10u2 amd64
>> + libgssapi-krb5-2 1.17-3+deb10u3 amd64
>> - libk5crypto3 1.17-3+deb10u2 amd64
>> + libk5crypto3 1.17-3+deb10u3 amd64
>> - libkrb5-3 1.17-3+deb10u2 amd64
>> + libkrb5-3 1.17-3+deb10u3 amd64
>> - libkrb5support0 1.17-3+deb10u2 amd64
>> + libkrb5support0 1.17-3+deb10u3 amd64
>> - libmariadb3 1:10.3.29-0+deb10u1 amd64
>> + libmariadb3 1:10.3.31-0+deb10u1 amd64
>>
>> which gives me a chance to pinpoint any culprits and submit bug reports
>> if necessary with detailed info on the changed packages.
>
> Is this formatting configured in etckeeper or gitconfig? I would like
> to try and replicate. It looks very useful.
TL;DR: in etckeeper.
The etckeeper utility does a good job of collecting the package changes
out-of-the-box but the exact output is slightly different from what I
included above. The out-of-the-box behaviour includes the output of
diff -U0 $before $after | egrep '^[-+]'
where $before and $after are "files" with the output of
dpkg-query -W -f '${Status}\t${Package} ${Version}\n' | \
egrep '(ok installed|ok config-files)' | cut -f2,3
I've tweaked that a bit to insert a space after the '^[-+]' and run the
diff output through `sort -k2` so I get the before and after package
info closer together. I've also made a few very minor changes to start
the message with a capital and capitalized APT.
Without my changes, the above would have looked something like
commit dd9602a525e590f24ec19904248938e6ab76e999 (HEAD -> master)
Author: olaf <olaf@quark>
Date: Mon Oct 11 21:48:25 2021 +0900
committing changes in /etc after apt run
Package changes:
-debconf 1.5.71 all
+debconf 1.5.71+deb10u1 all
-libgssapi-krb5-2 1.17-3+deb10u2 amd64
+libgssapi-krb5-2 1.17-3+deb10u3 amd64
-libk5crypto3 1.17-3+deb10u2 amd64
-libkrb5-3 1.17-3+deb10u2 amd64
-libkrb5support0 1.17-3+deb10u2 amd64
+libk5crypto3 1.17-3+deb10u3 amd64
+libkrb5-3 1.17-3+deb10u3 amd64
+libkrb5support0 1.17-3+deb10u3 amd64
-libmariadb3 1:10.3.29-0+deb10u1 amd64
+libmariadb3 1:10.3.31-0+deb10u1 amd64
BTW, the version in chimaera (and later) also includes a section that
lists the packages with configuration changes and includes the command
line invocation that triggered the changes.
Oh, I've also made a few changes to record package changes if nothing
below /etc has changed.
Hope this helps,
--
Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27
GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9
Support Free Software https://my.fsf.org/donate
Join the Free Software Foundation https://my.fsf.org/join