Page MenuHome GnuPG

Gpg4win: Include compendium as PDF or remove it
Open, NormalPublic

Description

I will remove the requirement for all the tex / texlive etc. stuff from the installer build requirements. The compendium has not been seriously updated for about a decade and only the german version received some minor updates. It is problematic for reproducible builds and the current state is rather embarrassing. For example in GnuPG VS-Desktop the compendium is not included. The HTML part is even more embarrassing since we are unable to update the website from the current latex sources since the HTML does not work.

I see three options:
a) Remove it from the installer and just link to a website.
b) Include it as pdf.
c) Convert it to something like org mode.

I am currently completely disregarding option c and will at least do option b. Bernhard I am adding you to CC so you know about this. Ideally if Christoph could filter-branch out the compendium and put it in a seperate repo and Intevation would pick up the maintenance that would be ideal.

Revisions and Commits

Event Timeline

aheinecke triaged this task as Normal priority.Jul 24 2023, 6:08 AM
aheinecke created this task.

I spent my afternoon with git-filter-repo and while that worked nicely I failed to come up with a new build system for the compendium that worked, I tried to do the full autotools shebang but in the evening I realized that a simple static Makefile would probably be better like with the website branch. But I leave that to someone else. I will now tag gpg4win-4.2.0 as "the-last-compendium" and include the pdfs from that version from now on and just remove the compendium from master.

What I tried so far (after checking out de40f2fe3336c63e5f73cce93402a73029779fd3, the commit before you removed the compendium):

diff --git a/doc/manual/Makefile b/doc/manual/Makefile
index 62b5f6e7..5af23713 100644
--- a/doc/manual/Makefile
+++ b/doc/manual/Makefile
@@ -208,7 +208,7 @@ png_manual_files = \
        images-manual/pk-safe-opened-with-sk.png \
        images-manual/pk-safe-open.png \
        images-manual/sc-en-gpa-first-key.png \
-       images-manual/sc-en-gpa-gen-backup.png
+       images-manual/sc-en-gpa-gen-backup.png \
        images-manual/sc-en-gpa-gen-backup-warn.png \
        images-manual/sc-en-gpa-gen-email.png \
        images-manual/sc-en-gpa-gen-name.png \
@@ -324,6 +324,9 @@ durchblicker.html.d-stamp : version.tex macros.tex
 novices.dvi : version.tex macros-en.tex $(eps_manual_files)
 novices.html.d-stamp : version.tex macros-en.tex
 
+version.tex:
+       autoconf -o version.tex version.tex.in
+
 
 %.eps : %.png
        $(CONVERT) $< eps2:$@

As you can see I made Makefile.am to a Makefile.

With these changes I was able to create both compendiums (although I got an error and there is an empty page at the beginning)

Ok cool, I think then you can mostly use git-filter-repo to filter out the history of the manual subfolder into a new git empty repo. Just give the word and I can create one here on dev.gnupg.org where you can then push to.
I am not sure what autoconf -o does though? How are the replacements handled which were defined in confiugure.ac etc?

I am not sure what autoconf -o does though?

It's just for defining the output file

How are the replacements handled which were defined in confiugure.ac etc?

I forgot a detail: I use the make command right in the manual folder. That way configure.ac isn't used at all. The only line there that seems important for the compendium is

AC_CONFIG_FILES(doc/manual/Makefile doc/manual/version.tex)

And that is what I catched with the Make task version.tex

I think then you can mostly use git-filter-repo to filter out the history of the manual subfolder into a new git empty repo

Okay, I will try it. Never used git-filter-repo before. So you really mean a new repo? I'm aksing because you named the branch website.

That was not me. I would much prefer to have the website in its own repo with its own contributors and so on. Maybe we could also do this then.

What you want to do sounds like just git filter-repo --path doc/manual/ I'll create a repo.

I have created the repo now. https://dev.gnupg.org/source/gpg4win-compendium/

Write access has the g10code group and bernhard and you. You have to have your ssh keys in your profile here.

I have the website repo now filtered and ready to be pushed but the write access to repos only hosted on phabricator does not work. We probably need repos on playfair.gnupg.org and only then mirror them here. Since werner is currently busy and I need him for that I will do that tomorrow or wednesday. As tomorrow I am on the road.