mirror of
https://github.com/javalsai/lidm.git
synced 2025-07-03 22:38:41 +02:00
Compressing man pages is a distribution / user preference that should be handled on the packaging side of things. Indeed, compressing man pages by default imposes a compression algorithm / level whereas most package managers handle that already and eventually allow users to choose or customize them if wanted. Additionally, it can lead to unexpected side effects. For instance, gzip is recording timestamps in metadata by default, which prevents [reproducible builds](https://reproducible-builds.org/): ``` ==> ERROR: Package is not reproducible --- lidm-0.2.0-1-any.pkg.tar.zst +++ ./build/lidm-0.2.0-1-any.pkg.tar.zst ├── lidm-0.2.0-1-any.pkg.tar │ ├── file list │ │ @@ -1,9 +1,9 @@ │ │ -rw-r--r-- 0 root (0) root (0) 5391 2025-03-10 12:01:53.000000 .BUILDINFO │ │ --rw-r--r-- 0 root (0) root (0) 488 2025-03-10 12:01:53.000000 .MTREE │ │ +-rw-r--r-- 0 root (0) root (0) 492 2025-03-10 12:01:53.000000 .MTREE │ │ -rw-r--r-- 0 root (0) root (0) 427 2025-03-10 12:01:53.000000 .PKGINFO │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-10 12:01:53.000000 etc/ │ │ -rw-r--r-- 0 root (0) root (0) 930 2025-03-10 12:01:53.000000 etc/lidm.ini │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-10 12:01:53.000000 usr/ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-10 12:01:53.000000 usr/bin/ │ │ -rwxr-xr-x 0 root (0) root (0) 39656 2025-03-10 12:01:53.000000 usr/bin/lidm │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-10 12:01:53.000000 usr/share/ │ ├── .MTREE │ │ ├── .MTREE-content │ │ │ @@ -7,10 +7,10 @@ │ │ │ /set mode=755 │ │ │ ./usr time=1741608113.0 type=dir │ │ │ ./usr/bin time=1741608113.0 type=dir │ │ │ ./usr/bin/lidm time=1741608113.0 size=39656 sha256digest=1a27eef50f6caf35d408f7650c362dea788c7a00a2736f0ec4c94ecd38ae6c6f │ │ │ ./usr/share time=1741608113.0 type=dir │ │ │ ./usr/share/man time=1741608113.0 type=dir │ │ │ ./usr/share/man/man1 time=1741608113.0 type=dir │ │ │ -./usr/share/man/man1/lidm.1.gz time=1741608113.0 mode=644 size=615 sha256digest=7babc0d1e7d84c3ff18db5ea327313cdbe2ba1117c33d733622a916dfd9d8d0e │ │ │ +./usr/share/man/man1/lidm.1.gz time=1741608113.0 mode=644 size=615 sha256digest=497e49b75ab0d2c3f3edb70967bf189724990c46df23492738254395ec835d8c │ │ │ ./usr/share/man/man5 time=1741608113.0 type=dir │ │ │ -./usr/share/man/man5/lidm-config.5.gz time=1741608113.0 mode=644 size=1374 sha256digest=d0b54c3117c417dfdc43a7629f26cf4c64235742f698a0498722a03a4d1c25c2 │ │ │ +./usr/share/man/man5/lidm-config.5.gz time=1741608113.0 mode=644 size=1374 sha256digest=4e16649cb31029b039a594ffa2f2d4d8a624917aaacc865836c5c2d2a92cd3e4 │ ├── usr/share/man/man1/lidm.1.gz │ │ ├── filetype from file(1) │ │ │ @@ -1 +1 @@ │ │ │ -gzip compressed data, was "lidm.1", last modified: Mon Mar 10 12:01:59 2025, from Unix │ │ │ +gzip compressed data, was "lidm.1", last modified: Mon Mar 10 12:15:51 2025, from Unix │ ├── usr/share/man/man5/lidm-config.5.gz │ │ ├── filetype from file(1) │ │ │ @@ -1 +1 @@ │ │ │ -gzip compressed data, was "lidm-config.5", last modified: Mon Mar 10 12:01:59 2025, from Unix │ │ │ +gzip compressed data, was "lidm-config.5", last modified: Mon Mar 10 12:15:51 2025, from Unix ``` See https://cmpct.info/~sam/blog/posts/automatic-manpage-compression/ for detailed rational.
AUR Packages
These files are just for reference, I'll manually edit and publish them, at least until I automate it with github actions (like updating version automatically on a release).
There are three packages that follow standard conventions:
lidm
: Builds latest release (manually updated per release basis)lidm-bin
: Fetches latest release binary (compiled by GitHub Actions, also updated per release)lidm-git
: Fetches latest commit and builds it (should be updated automatically)
[!IMPORTANT] None of those packages include the service files. You have to do this yourself.