[PROJ] documentation pdf changing content without changing name
Greg Troxel
gdt at lexort.com
Mon Jul 6 05:38:47 PDT 2026
(Packaging systems expect that a specific download URL will always
return the same contents; to have it otherwise looks like an attack.)
pkgsrc has had a proj-doc package for a long time. The point is to have
the docs locally, and via a package that will get automatically updated.
I recently (and belatedly, for no good reason) updated
pkgsrc/geography/proj-doc from 9.6 to 9.8. I have been using a URL over
multiple versions, adjusted for version numbers:
https://proj.org/_/downloads/en/${VERSION}/pdf/
I went to proj.org and found
"Documentation in PDF and zipped HTML can be downloaded using the
flyout menu on the left side of the browser window."
but couldn't find anything on the left. On the bottom right there is a
funky floating menu, and could switch to 9.8 and then PDF and that led
to
https://proj.org/_/downloads/en/9.8/pdf/
which is not the 9.8 manual; it's the 9.8.1 manual. The file I
downloaded earlier was also the 9.8.1 manual, but it's different.
The URL
https://proj.org/en/stable/_/downloads/en/9.8.1/pdf/
is not found.
The files I downloaded earlier and just now:
$ ls -l
total 98886
-rw-r--r-- 1 gdt users 48630680 Apr 28 18:29 proj-doc-9.8-20260428.pdf
-rw-r--r-- 1 gdt users 48630679 Jul 3 03:04 proj-doc-9.8-20260703.pdf
(pdftotext)
$ diff -u proj-doc-9.8-20260428.txt proj-doc-9.8-20260703.txt
--- proj-doc-9.8-20260428.txt 2026-07-06 08:18:19.822051535 -0400
+++ proj-doc-9.8-20260703.txt 2026-07-06 08:18:37.116398639 -0400
@@ -7726,7 +7726,7 @@
7.1. Projections
-Polyhedral, equal area
+Polyhedral
Forward and inverse, spherical and ellipsoidal
Global
airocean
I'm not sure how this is generated, and what's to be done. I see two
problems for packagers:
- Docs for 9.8.1 are at a URL that says 9.8
+ Probably The pdf was replaced from the 9.8 pdf at some point.
+ A pdf for 9.8 is no longer available to download.
- The pdf for 9.8.1 has changed.
Ideally, the pdf would be generated at release time by CI, named with
the release version numbers, placed in the same download area as the
sources, and then treated as immutable just like releases.
I've got a workaround, to name the pdfs back to what they should be at
download time, and add a nano if they are changed after posting.
How are other packagers dealing with this (other than "don't package
proj docs")?
More information about the PROJ
mailing list