JustinTimperio / pacback

Advanced Version Control for Arch Linux
MIT License
148 stars 4 forks source link

Package version differences are not shown in `--info` or `--diff` outputs #38

Open AlexFolland opened 2 months ago

AlexFolland commented 2 months ago

Describe the Bug Names of packages which updated and their version differences are not shown in --info or --diff outputs.

Output of Command pacback --info ss25:

                                            Snapshot #25                                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Meta Info                ┃ Changed Since Creation ┃ Added Since Creation ┃ Removed Since Creation ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Installed Packages: 3304 │          NONE          │      gucharmap       │          NONE          │
│ Date: 2024/06/29         │                        │                      │                        │
│ Time: 11:37:53           │                        │                      │                        │
│ Pacback Version: 2.1.0   │                        │                      │                        │
│ User Label: None         │                        │                      │                        │
└──────────────────────────┴────────────────────────┴──────────────────────┴────────────────────────┘

cat /var/log/pacback.log:


[... years worth of logging that's probably not relevant omitted ...]

======================== 2024/07/06 ========================
[20:45:00.845312] session.lock(): Started Logging Session
[20:45:00.845356] session.lock(): Passed Root Check
[20:45:00.845394] session.lock(): Started Active Session
[20:45:00.845733] create.snapshot(00): Started Snapshot Creation...
[20:45:00.845827] session.hlock_check(300): ABORT: A Hook Lock Was Created 153.845819 Ago!
[20:45:00.845858] session.unlock(): Ended Active Session
[20:45:00.845882] session.unlock(): Ended Logging Session

======================== 2024/07/06 ========================
[20:46:20.377102] session.lock(): Started Logging Session
[20:46:20.377149] session.lock(): Passed Root Check
[20:46:20.377185] session.lock(): Started Active Session
[20:46:20.377237] create.snapshot(00): Started Snapshot Creation...
[20:46:20.377332] session.hlock_check(300): ABORT: A Hook Lock Was Created 233.377324 Ago!
[20:46:20.377397] session.unlock(): Ended Active Session
[20:46:20.377427] session.unlock(): Ended Logging Session

======================== 2024/07/06 ========================
[21:34:13.446032] session.lock(): Started Logging Session
[21:34:13.446093] session.lock(): Passed Root Check
[21:34:13.446146] session.lock(): Started Active Session
[21:34:13.446220] create.snapshot(00): Started Snapshot Creation...
[21:34:13.446343] session.hlock_check(300): Passed Cooldown Check
[21:34:13.446406] create.snapshot(00): Shifting All Snapshots Forward +1...
[21:34:13.452785] create.snapshot(00): Finished Shifting Snapshots Forward
[21:34:13.452913] create.snapshot(00): All Checks Passed! Ready For Snapshot Creation
[21:34:13.452985] create.main(ss00): Building ID:00 As Light Snapshot
[21:34:13.485073] create.main(ss00): Generated Meta Data File
[21:34:13.486018] create.main(ss00): Generated Meta Data Checksum
[21:34:13.486113] create.main(ss00): Main Build Complete of ID:00 As Light Snapshot
[21:34:13.486607] session.hlock_start(300): Created Hook Lock With 300 Second Cooldown
[21:34:13.486680] create.snapshot(00): Snapshot Creation Complete!
[21:34:13.486756] session.unlock(): Ended Active Session
[21:34:13.486816] session.unlock(): Ended Logging Session

======================== 2024/07/06 ========================
[21:35:57.144057] session.lock(): Started Logging Session
[21:35:57.144122] session.lock(): Passed Root Check
[21:35:57.144175] session.lock(): Started Active Session
[21:35:57.144250] create.snapshot(00): Started Snapshot Creation...
[21:35:57.144386] session.hlock_check(300): ABORT: A Hook Lock Was Created 104.144373 Ago!
[21:35:57.144440] session.unlock(): Ended Active Session
[21:35:57.144491] session.unlock(): Ended Logging Session

cat /etc/pacback.conf:

## Pacback Config File
## Version 2.0.0

## Mandatory Settings

# Number Of Seconds Before The Snapshot Lock Expires
# MUST be an INT
hook_cooldown = 300

# Max Number Of Snapshots To Keep
# MUST be an INT
max_ss =  25

# Let The User Schedule a Reboot if Needed.
# If False Pacback Will Only Notify You
# MUST be True or False
reboot = True

## Optional Settings

# Number Of Minutes In Future To Schedule Reboot
# Only Runs After The Kernel Has Changed
# MUST be an INT
reboot_offset = 5

# Number of Old Cached Versions To Keep
# When Running a Pacback Cache Clean
# MUST be an INT
keep_versions = 3

# Number Of Days Before an RP is Flagged Old
# MUST be an INT
old_rp = 180

Machine (please fill in the following information):

Steps to reproduce

  1. Generate snapshots using pacback hook over the course of at least 2 system updates which contain package version changes.
  2. Run pacback --info ss1.
  3. Run pacback --diff ss0 ss1.

Expected behavior I expect some way for pacback to tell me which packages' versions changed between compared snapshots.

Observed behavior Pacback tells me nothing changed between compared snapshots except for packages which were installed or removed. I see only "NONE" in the "Changed Since Creation" column.

Screenshots image

Additional context I browsed the help with --help and couldn't find any way to see what package versions pacback is tracking, so this is not necessarily just about these 2 command-line arguments, but pacback's output in general. If this information should be in some other command-line argument instead, consider this bug report to be discussing the existence and/or discoverability of that command-line argument.