]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
docs: Write how to import new libgcrypt master
authorVladimir Serbinenko <phcoder@gmail.com>
Mon, 7 Jul 2025 14:52:21 +0000 (14:52 +0000)
committerDaniel Kiper <daniel.kiper@oracle.com>
Fri, 11 Jul 2025 21:12:51 +0000 (23:12 +0200)
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
docs/grub-dev.texi

index f4367f89555bbe4ed9b3cad1d47b45b948c29a0a..62ad43c9db80fe84d32a3e4eb26a30ea34cf829b 100644 (file)
@@ -507,6 +507,7 @@ to update it.
 * jsmn::
 * minilzo::
 * libtasn1::
+* libgcrypt::
 @end menu
 
 @node Gnulib
@@ -631,6 +632,43 @@ please include updated patches as part of the a patch set sent to the list.
 If new patches are needed or existing patches are not needed, also please send
 additions or removals as part of any patch set upgrading libtasn1.
 
+@node libgcrypt
+@section libgcrypt
+
+libgcrypt is a GNU implementation of crypto library. To import a new version
+you need to unpack the release tarball into grub-core/lib/libgcrypt. Delete
+following files/directories:
+* acinclude.m4
+* aclocal.m4
+* autogen.rc
+* autogen.sh
+* build-aux
+* ChangeLog
+* ChangeLog-2011
+* doc
+* INSTALL
+* m4
+* Makefile.am
+* Makefile.in
+* NEWS
+* random
+* tests
+* TODO
+* */Makefile.in
+* mpi/hppa1.1
+
+Regenerate the file gost-sb.h:
+grub-core/lib/libgcrypt/cipher$ gcc -o gost-s-box gost-s-box.c
+grub-core/lib/libgcrypt/cipher$ ./gost-s-box gost-sb.h
+
+Then rerun ./bootstrap and pay attention to the errors. Especially to warnings
+that a file isn't a module as it means that some file is actually unused by
+GRUB. If any, find where it declares its cipher or hash and add a pattern to
+import_gcry.py. See commit ``libgcrypt: Import blake family of hashes'' for an
+example. If file reallly is useless to GRUB in its current state, add it to
+whitelist in import_gcry.py.
+Compile and fix any new errors. Put patches into grub-core/lib/libgcrypt-patches
+
 @node Debugging
 @chapter Debugging