From acdece2b628af7c8e1f18ab9d84c2d016555c10a Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 25 Oct 2017 17:08:26 +0000 Subject: doc: Add working cross-reference to 'standards' info manual of GNU/prep/standards. --- doc/documentation/htmlxref.cnf | 668 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 668 insertions(+) create mode 100644 doc/documentation/htmlxref.cnf (limited to 'doc/documentation/htmlxref.cnf') diff --git a/doc/documentation/htmlxref.cnf b/doc/documentation/htmlxref.cnf new file mode 100644 index 0000000000..9ab9e4158d --- /dev/null +++ b/doc/documentation/htmlxref.cnf @@ -0,0 +1,668 @@ +# htmlxref.cnf - reference file for free Texinfo manuals on the web. +# Modified by Ludovic Courtès for the GNU Guix manual. +# Modified by ng0 for the GNUnet manual. + +htmlxrefversion=2017-10-25.16; # UTC + +# Copyright 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. +# +# The latest version of this file is available at +# http://ftpmirror.gnu.org/texinfo/htmlxref.cnf. +# Email corrections or additions to bug-texinfo@gnu.org. +# The primary goal is to list all relevant GNU manuals; +# other free manuals are also welcome. +# +# To be included in this list, a manual must: +# +# - have a generic url, e.g., no version numbers; +# - have a unique file name (e.g., manual identifier), i.e., be related to the +# package name. Things like "refman" or "tutorial" don't work. +# - follow the naming convention for nodes described at +# http://www.gnu.org/software/texinfo/manual/texinfo/html_node/HTML-Xref.html +# This is what makeinfo and texi2html implement. +# +# Unless the above criteria are met, it's not possible to generate +# reliable cross-manual references. +# +# For information on automatically generating all the useful formats for +# a manual to put on the web, see +# http://www.gnu.org/prep/maintain/html_node/Manuals-on-Web-Pages.html. + +# For people editing this file: when a manual named foo is related to a +# package named bar, the url should contain a variable reference ${BAR}. +# Otherwise, the gnumaint scripts have no way of knowing they are +# associated, and thus gnu.org/manual can't include them. + +# shorten references to manuals on www.gnu.org. +G = https://www.gnu.org +GS = ${G}/software + +3dldf mono ${GS}/3dldf/manual/user_ref/3DLDF.html +3dldf node ${GS}/3dldf/manual/user_ref/ + +alive mono ${GS}/alive/manual/alive.html +alive node ${GS}/alive/manual/html_node/ + +anubis chapter ${GS}/anubis/manual/html_chapter/ +anubis section ${GS}/anubis/manual/html_section/ +anubis node ${GS}/anubis/manual/html_node/ + +artanis mono ${GS}/artanis/manual/artanis.html +artanis node ${GS}/artanis/manual/html_node/ + +aspell section http://aspell.net/man-html/index.html + +auctex mono ${GS}/auctex/manual/auctex.html +auctex node ${GS}/auctex/manual/auctex/ + +autoconf mono ${GS}/autoconf/manual/autoconf.html +autoconf node ${GS}/autoconf/manual/html_node/ + +autogen mono ${GS}/autogen/manual/html_mono/autogen.html +autogen chapter ${GS}/autogen/manual/html_chapter/ +autogen node ${GS}/autoconf/manual/html_node/ + +automake mono ${GS}/automake/manual/automake.html +automake node ${GS}/automake/manual/html_node/ + +avl node http://www.stanford.edu/~blp/avl/libavl.html/ + +bash mono ${GS}/bash/manual/bash.html +bash node ${GS}/bash/manual/html_node/ + +BINUTILS = http://sourceware.org/binutils/docs +binutils node ${BINUTILS}/binutils/ + as node ${BINUTILS}/as/ + bfd node ${BINUTILS}/bfd/ + gprof node ${BINUTILS}/gprof/ + ld node ${BINUTILS}/ld/ + +bison mono ${GS}/bison/manual/bison.html +bison node ${GS}/bison/manual/html_node/ + +bpel2owfn mono ${GS}/bpel2owfn/manual/2.0.x/bpel2owfn.html + +ccd2cue mono ${GS}/ccd2cue/manual/ccd2cue.html +ccd2cue node ${GS}/ccd2cue/manual/html_node/ + +cflow mono ${GS}/cflow/manual/cflow.html +cflow node ${GS}/cflow/manual/html_node/ + +chess mono ${GS}/chess/manual/gnuchess.html +chess node ${GS}/chess/manual/html_node/ + +combine mono ${GS}/combine/manual/combine.html +combine chapter ${GS}/combine/manual/html_chapter/ +combine section ${GS}/combine/manual/html_section/ +combine node ${GS}/combine/manual/html_node/ + +complexity mono ${GS}/complexity/manual/complexity.html +complexity node ${GS}/complexity/manual/html_node/ + +coreutils mono ${GS}/coreutils/manual/coreutils +coreutils node ${GS}/coreutils/manual/html_node/ + +cpio mono ${GS}/cpio/manual/cpio +cpio node ${GS}/cpio/manual/html_node/ + +cssc node ${GS}/cssc/manual/ + +#cvs cannot be handled here; see http://ximbiot.com/cvs/manual. + +ddd mono ${GS}/ddd/manual/html_mono/ddd.html + +ddrescue mono ${GS}/ddrescue/manual/ddrescue_manual.html + +DICO = http://puszcza.gnu.org.ua/software/dico/manual +dico mono ${DICO}/dico.html +dico chapter ${DICO}/html_chapter/ +dico section ${DICO}/html_section/ +dico node ${DICO}/html_node/ + +diffutils mono ${GS}/diffutils/manual/diffutils +diffutils node ${GS}/diffutils/manual/html_node/ + +ed mono ${GS}/ed/manual/ed_manual.html + +EMACS = ${GS}/emacs/manual +emacs mono ${EMACS}/html_mono/emacs.html +emacs node ${EMACS}/html_node/emacs/ + # + ada-mode mono ${EMACS}/html_mono/ada-mode.html + ada-mode node ${EMACS}/html_node/ada-mode/ + # + autotype mono ${EMACS}/html_mono/autotype.html + autotype node ${EMACS}/html_node/autotype/ + # + ccmode mono ${EMACS}/html_mono/ccmode.html + ccmode node ${EMACS}/html_node/ccmode/ + # + cl mono ${EMACS}/html_mono/cl.html + cl node ${EMACS}/html_node/cl/ + # + ebrowse mono ${EMACS}/html_mono/ebrowse.html + ebrowse node ${EMACS}/html_node/ebrowse/ + # + ediff mono ${EMACS}/html_mono/ediff.html + ediff node ${EMACS}/html_node/ediff/ + # + eieio mono ${EMACS}/html_mono/eieio.html + eieio node ${EMACS}/html_node/eieio/ + # + elisp mono ${EMACS}/html_mono/elisp.html + elisp node ${EMACS}/html_node/elisp/ + # + epa mono ${EMACS}/html_mono/epa.html + epa node ${EMACS}/html_node/epa/ + # + erc mono ${EMACS}/html_mono/erc.html + erc node ${EMACS}/html_node/erc/ + # + dired-x mono ${EMACS}/html_mono/dired-x.html + dired-x node ${EMACS}/html_node/dired-x/ + # + eshell mono ${EMACS}/html_mono/eshell.html + eshell node ${EMACS}/html_node/eshell/ + # + flymake mono ${EMACS}/html_mono/flymake.html + flymake node ${EMACS}/html_node/flymake/ + # + gnus mono ${EMACS}/html_mono/gnus.html + gnus node ${EMACS}/html_node/gnus/ + # + idlwave mono ${EMACS}/html_mono/idlwave.html + idlwave node ${EMACS}/html_node/idlwave/ + # + message mono ${EMACS}/html_mono/message.html + message node ${EMACS}/html_node/message/ + # + mh-e mono ${EMACS}/html_mono/mh-e.html + mh-e node ${EMACS}/html_node/mh-e/ + # + nxml-mode mono ${EMACS}/html_mono/nxml-mode.html + nxml-mode node ${EMACS}/html_node/nxml-mode/ + # + org mono ${EMACS}/html_mono/org.html + org node ${EMACS}/html_node/org/ + # + pcl-cvs mono ${EMACS}/html_mono/pcl-cvs.html + pcl-cvs node ${EMACS}/html_node/pcl-cvs/ + # + rcirc mono ${EMACS}/html_mono/rcirc.html + rcirc node ${EMACS}/html_node/rcirc/ + # + semantic mono ${EMACS}/html_mono/semantic.html + semantic node ${EMACS}/html_node/semantic/ + # + smtp mono ${EMACS}/html_mono/smtpmail.html + smtp node ${EMACS}/html_node/smtpmail/ + # + speedbar mono ${EMACS}/html_mono/speedbar.html + speedbar node ${EMACS}/html_node/speedbar/ + # + tramp mono ${EMACS}/html_mono/tramp.html + tramp node ${EMACS}/html_node/tramp/ + # + vip mono ${EMACS}/html_mono/vip.html + vip node ${EMACS}/html_node/vip/ + # + viper mono ${EMACS}/html_mono/viper.html + viper node ${EMACS}/html_node/viper/ + # + woman mono ${EMACS}/html_mono/woman.html + woman node ${EMACS}/html_node/woman/ + # (end emacs manuals) + +easejs mono ${GS}/easejs/manual/easejs.html +easejs node ${GS}/easejs/manual/ + +EMACS_GUIX = https://alezost.github.io/guix.el/manual/latest +emacs-guix mono ${EMACS_GUIX}/emacs-guix.html +emacs-guix node ${EMACS_GUIX}/html_node/ + +emacs-muse node ${GS}/emacs-muse/manual/muse.html +emacs-muse node ${GS}/emacs-muse/manual/html_node/ + +emms node ${GS}/emms/manual/ + +# The file is called 'find.info' but the package is 'findutils'. +find mono ${GS}/findutils/manual/html_mono/find.html +find node ${GS}/findutils/manual/html_node/find_html +findutils mono ${GS}/findutils/manual/html_mono/find.html +findutils node ${GS}/findutils/manual/html_node/find_html + +FLEX = http://flex.sourceforge.net +flex node ${FLEX}/manual/ + +gama mono ${GS}/gama/manual/gama.html +gama node ${GS}/gama/manual/html_node/ + +GAWK = ${GS}/gawk/manual +gawk mono ${GAWK}/gawk.html +gawk node ${GAWK}/html_node/ + gawkinet mono ${GAWK}/gawkinet/gawkinet.html + gawkinet node ${GAWK}/gawkinet/html_node/ + +gcal mono ${GS}/gcal/manual/gcal.html +gcal node ${GS}/gcal/manual/html_node/ + +GCC = http://gcc.gnu.org/onlinedocs +gcc node ${GCC}/gcc/ + cpp node ${GCC}/cpp/ + gcj node ${GCC}/gcj/ + gfortran node ${GCC}/gfortran/ + gnat_rm node ${GCC}/gnat_rm/ + gnat_ugn_unw node ${GCC}/gnat_ugn_unw/ + libgomp node ${GCC}/libgomp/ + libstdc++ node ${GCC}/libstdc++/ + # + gccint node ${GCC}/gccint/ + cppinternals node ${GCC}/cppinternals/ + gfc-internals node ${GCC}/gfc-internals/ + gnat-style node ${GCC}/gnat-style/ + libiberty node ${GCC}/libiberty/ + +GDB = http://sourceware.org/gdb/current/onlinedocs +gdb node ${GDB}/gdb/ + stabs node ${GDB}/stabs/ + +GDBM = http://www.gnu.org.ua/software/gdbm/manual +gdbm mono ${GDBM}/gdbm.html +gdbm chapter ${GDBM}/html_chapter/ +gdbm section ${GDBM}/html_section/ +gdbm node ${GDBM}/html_node/ + +gettext mono ${GS}/gettext/manual/gettext.html +gettext node ${GS}/gettext/manual/html_node/ + +gforth node http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/ + +global mono ${GS}/global/manual/global.html + +gmediaserver node ${GS}/gmediaserver/manual/ + +gmp node http://www.gmplib.org/manual/ + +gnu-arch node ${GS}/gnu-arch/tutorial/ + +gnu-c-manual mono ${GS}/gnu-c-manual/gnu-c-manual.html + +gnu-crypto node ${GS}/gnu-crypto/manual/ + +gnubg mono ${GS}/gnubg/manual/gnubg.html +gnubg node ${GS}/gnubg/manual/html_node/ + +gnubik mono ${GS}/gnubik/manual/gnubik.html +gnubik node ${GS}/gnubik/manual/html_node/ + +gnulib mono ${GS}/gnulib/manual/gnulib.html +gnulib node ${GS}/gnulib/manual/html_node/ + +GNUN = ${GS}/trans-coord/manual +gnun mono ${GNUN}/gnun/gnun.html +gnun node ${GNUN}/gnun/html_node/ + web-trans mono ${GNUN}/web-trans/web-trans.html + web-trans node ${GNUN}/web-trans/html_node/ + +GNUNET = https://docs.gnunet.org/manuals +gnunet node ${GNUNET}/gnunet/ + gnunet-c-tutorial node ${GNUNET}/gnunet-c-tutorial/ + gnunet-java-tutorial node ${GNUNET}/gnunet-java-tutorial/ + +GNUPG = http://www.gnupg.org/documentation/manuals +gnupg node ${GNUPG}/gnupg/ + dirmngr node ${GNUPG}/dirmngr/ + gcrypt node ${GNUPG}/gcrypt/ + libgcrypt node ${GNUPG}/gcrypt/ + ksba node ${GNUPG}/ksba/ + assuan node ${GNUPG}/assuan/ + gpgme node ${GNUPG}/gpgme/ + +gnuprologjava node ${GS}/gnuprologjava/manual/ + +gnuschool mono ${GS}/gnuschool/gnuschool.html + +GNUSTANDARDS = ${G}/prep + maintain mono ${GNUSTANDARDS}/maintain/maintain.html + maintain node ${GNUSTANDARDS}/maintain/html_node/ + # + standards mono ${GNUSTANDARDS}/standards/standards.html + standards node ${GNUSTANDARDS}/standards/html_node/ + +gnutls mono http://gnutls.org/manual/gnutls.html +gnutls node http://gnutls.org/manual/html_node/ + +gnutls-guile mono http://gnutls.org/manual/gnutls-guile.html +gnutls-guile node http://gnutls.org/manual/gnutls-guile/ + +gperf mono ${GS}/gperf/manual/gperf.html +gperf node ${GS}/gperf/manual/html_node/ + +grep mono ${GS}/grep/manual/grep.html +grep node ${GS}/grep/manual/html_node/ + +groff node ${GS}/groff/manual/html_node/ + +GRUB = ${GS}/grub/manual + grub mono ${GRUB}/grub.html + grub node ${GRUB}/html_node/ + # + multiboot mono ${GRUB}/multiboot/multiboot.html + multiboot node ${GRUB}/multiboot/html_node/ + +gsasl mono ${GS}/gsasl/manual/gsasl.html +gsasl node ${GS}/gsasl/manual/html_node/ + +gsl node ${GS}/gsl/manual/html_node/ + +gsrc mono ${GS}/gsrc/manual/gsrc.html +gsrc node ${GS}/gsrc/manual/html_node/ + +gss mono ${GS}/gss/manual/gss.html +gss node ${GS}/gss/manual/html_node/ + +gtypist mono ${GS}/gtypist/doc/ + +guile mono ${GS}/guile/manual/guile.html +guile node ${GS}/guile/manual/html_node/ + +guile-avahi mono http://nongnu.org/guile-avahi/doc/guile-avahi.html + +GUILE_GNOME = ${GS}/guile-gnome/docs + gobject node ${GUILE_GNOME}/gobject/html/ + glib node ${GUILE_GNOME}/glib/html/ + atk node ${GUILE_GNOME}/atk/html/ + pango node ${GUILE_GNOME}/pango/html/ + pangocairo node ${GUILE_GNOME}/pangocairo/html/ + gdk node ${GUILE_GNOME}/gdk/html/ + gtk node ${GUILE_GNOME}/gtk/html/ + libglade node ${GUILE_GNOME}/libglade/html/ + gnome-vfs node ${GUILE_GNOME}/gnome-vfs/html/ + libgnomecanvas node ${GUILE_GNOME}/libgnomecanvas/html/ + gconf node ${GUILE_GNOME}/gconf/html/ + libgnome node ${GUILE_GNOME}/libgnome/html/ + libgnomeui node ${GUILE_GNOME}/libgnomeui/html/ + corba node ${GUILE_GNOME}/corba/html/ + clutter node ${GUILE_GNOME}/clutter/html/ + clutter-glx node ${GUILE_GNOME}/clutter-glx/html/ + +guile-gtk node ${GS}/guile-gtk/docs/guile-gtk/ + +guile-rpc mono ${GS}/guile-rpc/manual/guile-rpc.html +guile-rpc node ${GS}/guile-rpc/manual/html_node/ + +guix mono ${GS}/guix/manual/guix.html +guix node ${GS}/guix/manual/html_node/ + +gv mono ${GS}/gv/manual/gv.html +gv node ${GS}/gv/manual/html_node/ + +gzip mono ${GS}/gzip/manual/gzip.html +gzip node ${GS}/gzip/manual/html_node/ + +hello mono ${GS}/hello/manual/hello.html +hello node ${GS}/hello/manual/html_node/ + +help2man mono ${GS}/help2man/help2man.html + +idutils mono ${GS}/idutils/manual/idutils.html +idutils node ${GS}/idutils/manual/html_node/ + +inetutils mono ${GS}/inetutils/manual/inetutils.html +inetutils node ${GS}/inetutils/manual/html_node/ + +jwhois mono ${GS}/jwhois/manual/jwhois.html +jwhois node ${GS}/jwhois/manual/html_node/ + +libc mono ${GS}/libc/manual/html_mono/libc.html +libc node ${GS}/libc/manual/html_node/ + +LIBCDIO = ${GS}/libcdio + libcdio mono ${LIBCDIO}/libcdio.html + cd-text mono ${LIBCDIO}/cd-text-format.html + +libextractor mono ${GS}/libextractor/manual/libextractor.html +libextractor node ${GS}/libextractor/manual/html_node/ + +libidn mono ${GS}/libidn/manual/libidn.html +libidn node ${GS}/libidn/manual/html_node/ + +librejs mono ${GS}/librejs/manual/librejs.html +librejs node ${GS}/librejs/manual/html_node/ + +libmatheval mono ${GS}/libmatheval/manual/libmatheval.html + +LIBMICROHTTPD = ${GS}/libmicrohttpd +libmicrohttpd mono ${LIBMICROHTTPD}/manual/libmicrohttpd.html +libmicrohttpd node ${LIBMICROHTTPD}/manual/html_node/ + microhttpd-tutorial mono ${LIBMICROHTTPD}/tutorial.html + +libtasn1 mono ${GS}/libtasn1/manual/libtasn1.html +libtasn1 node ${GS}/libtasn1/manual/html_node/ + +libtool mono ${GS}/libtool/manual/libtool.html +libtool node ${GS}/libtool/manual/html_node/ + +lightning mono ${GS}/lightning/manual/lightning.html +lightning node ${GS}/lightning/manual/html_node/ + +# The stable/ url redirects immediately, but that's ok. +# The .html extension is omitted on their web site, but it works if given. +LILYPOND = http://lilypond.org/doc/stable/Documentation + lilypond-internals node ${LILYPOND}/internals/ + lilypond-learning node ${LILYPOND}/learning/ + lilypond-notation node ${LILYPOND}/notation/ + lilypond-snippets node ${LILYPOND}/snippets/ + lilypond-usage node ${LILYPOND}/usage/ + lilypond-web node ${LILYPOND}/web/ + music-glossary node ${LILYPOND}/music-glossary/ + +liquidwar6 mono ${GS}/liquidwar6/manual/liquidwar6.html +liquidwar6 node ${GS}/liquidwar6/manual/html_node/ + +lispintro mono ${GS}/emacs/emacs-lisp-intro/html_mono/emacs-lisp-intro.html +lispintro node ${GS}/emacs/emacs-lisp-intro/html_node/index.html + +LSH = http://www.lysator.liu.se/~nisse/lsh + lsh mono ${LSH}/lsh.html + +m4 mono ${GS}/m4/manual/m4.html +m4 node ${GS}/m4/manual/html_node/ + +mailutils mono ${GS}/mailutils/manual/mailutils.html +mailutils chapter ${GS}/mailutils/manual/html_chapter/ +mailutils section ${GS}/mailutils/manual/html_section/ +mailutils node ${GS}/mailutils/manual/html_node/ + +make mono ${GS}/make/manual/make.html +make node ${GS}/make/manual/html_node/ + +mcron mono ${GS}/mcron/manual/mcron.html +mcron node ${GS}/mcron/manual/html_node/ + +mdk mono ${GS}/mdk/manual/mdk.html +mdk node ${GS}/mdk/manual/html_node/ + +METAEXCHANGE = http://ftp.gwdg.de/pub/gnu2/iwfmdh/doc/texinfo + iwf_mh node ${METAEXCHANGE}/iwf_mh.html + scantest node ${METAEXCHANGE}/scantest.html + +MIT_SCHEME = ${GS}/mit-scheme/documentation + mit-scheme-ref node ${MIT_SCHEME}/mit-scheme-ref/ + mit-scheme-user node ${MIT_SCHEME}/mit-scheme-user/ + sos node ${MIT_SCHEME}/mit-scheme-sos/ + mit-scheme-imail node ${MIT_SCHEME}/mit-scheme-imail/ + +moe mono ${GS}/moe/manual/moe_manual.html + +motti node ${GS}/motti/manual/ + +mpc node http://www.multiprecision.org/index.php?prog=mpc&page=html + +mpfr mono http://www.mpfr.org/mpfr-current/mpfr.html + +mtools mono ${GS}/mtools/manual/mtools.html + +myserver node http://www.myserverproject.net/documentation/ + +nano mono http://www.nano-editor.org/dist/latest/nano.html + +nettle chapter http://www.lysator.liu.se/~nisse/nettle/nettle.html + +ocrad mono ${GS}/ocrad/manual/ocrad_manual.html + +parted mono ${GS}/parted/manual/parted.html +parted node ${GS}/parted/manual/html_node/ + +pascal mono http://www.gnu-pascal.de/gpc/ + +# can't use pcb since url's contain dates --30nov10 + +perl mono ${GS}/perl/manual/perldoc-all.html + +PIES = http://www.gnu.org.ua/software/pies/manual +pies mono ${PIES}/pies.html +pies chapter ${PIES}/html_chapter/ +pies section ${PIES}/html_section/ +pies node ${PIES}/html_node/ + +plotutils mono ${GS}/plotutils/manual/en/plotutils.html +plotutils node ${GS}/plotutils/manual/en/html_node/ + +proxyknife mono ${GS}/proxyknife/manual/proxyknife.html +proxyknife node ${GS}/proxyknife/manual/html_node/ + +pspp mono ${GS}/pspp/manual/pspp.html +pspp node ${GS}/pspp/manual/html_node/ + +pyconfigure mono ${GS}/pyconfigure/manual/pyconfigure.html +pyconfigure node ${GS}/pyconfigure/manual/html_node/ + +R = http://cran.r-project.org/doc/manuals + R-intro mono ${R}/R-intro.html + R-lang mono ${R}/R-lang.html + R-exts mono ${R}/R-exts.html + R-data mono ${R}/R-data.html + R-admin mono ${R}/R-admin.html + R-ints mono ${R}/R-ints.html + +rcs mono ${GS}/rcs/manual/rcs.html +rcs node ${GS}/rcs/manual/html_node/ + +READLINE = http://cnswww.cns.cwru.edu/php/chet/readline +readline mono ${READLINE}/readline.html + rluserman mono ${READLINE}/rluserman.html + history mono ${READLINE}/history.html + +recode mono http://recode.progiciels-bpi.ca/manual/index.html + +recutils mono ${GS}/recutils/manual/recutils.html +recutils node ${GS}/recutils/manual/html_node/ + +reftex mono ${GS}/auctex/manual/reftex.html +reftex node ${GS}/auctex/manual/reftex/ + +remotecontrol mono ${GS}/remotecontrol/manual/remotecontrol.html +remotecontrol node ${GS}/remotecontrol/manual/html_node/ + +rottlog mono ${GS}/rottlog/manual/rottlog.html +rottlog node ${GS}/rottlog/manual/html_node/ + +RUSH = http://www.gnu.org.ua/software/rush/manual +rush mono ${RUSH}/rush.html +rush chapter ${RUSH}/html_chapter/ +rush section ${RUSH}/html_section/ +rush node ${RUSH}/html_node/ + +screen mono ${GS}/screen/manual/screen.html +screen node ${GS}/screen/manual/html_node/ + +sed mono ${GS}/sed/manual/sed.html +sed node ${GS}/sed/manual/html_node/ + +sharutils mono ${GS}/sharutils/manual/html_mono/sharutils.html +sharutils chapter ${GS}/sharutils/manual/html_chapter/ +sharutils node ${GS}/sharutils/manual/html_node/ + +shepherd mono ${GS}/shepherd/manual/shepherd.html +shepherd node ${GS}/shepherd/manual/html_node/ + +# can't use mono files since they have generic names +SMALLTALK = ${GS}/smalltalk +smalltalk node ${SMALLTALK}/manual/html_node/ + smalltalk-base node ${SMALLTALK}/manual-base/html_node/ + smalltalk-libs node ${SMALLTALK}/manual-libs/html_node/ + +sourceinstall mono ${GS}/sourceinstall/manual/sourceinstall.html +sourceinstall node ${GS}/sourceinstall/manual/html_node/ + +sqltutor mono ${GS}/sqltutor/manual/sqltutor.html +sqltutor node ${GS}/sqltutor/manual/html_node/ + +src-highlite mono ${GS}/src-highlite/source-highlight.html + +swbis mono ${GS}/swbis/manual.html + +tar mono ${GS}/tar/manual/tar.html +tar chapter ${GS}/tar/manual/html_chapter/ +tar section ${GS}/tar/manual/html_section/ +tar node ${GS}/autoconf/manual/html_node/ + +teseq mono ${GS}/teseq/teseq.html +teseq node ${GS}/teseq/html_node/ + +TEXINFO = ${GS}/texinfo/manual +texinfo mono ${TEXINFO}/texinfo/texinfo.html +texinfo node ${TEXINFO}/texinfo/html_node/ + # + info mono ${TEXINFO}/info/info.html + info node ${TEXINFO}/info/html_node/ + # + info-stnd mono ${TEXINFO}/info-stnd/info-stnd.html + info-stnd node ${TEXINFO}/info-stnd/html_node/ + +thales node ${GS}/thales/manual/ + +units mono ${GS}/units/manual/units.html +units node ${GS}/units/manual/html_node/ + +vc-dwim mono ${GS}/vc-dwim/manual/vc-dwim.html +vc-dwim node ${GS}/vc-dwim/manual/html_node/ + +wdiff mono ${GS}/wdiff/manual/wdiff.html +wdiff node ${GS}/wdiff/manual/html_node/ + +websocket4j mono ${GS}/websocket4j/manual/websocket4j.html +websocket4j node ${GS}/websocket4j/manual/html_node/ + +wget mono ${GS}/wget/manual/wget.html +wget node ${GS}/wget/manual/html_node/ + +xboard mono ${GS}/xboard/manual/xboard.html +xboard node ${GS}/xboard/manual/html_node/ + +# emacs-page +# Free TeX-related Texinfo manuals on tug.org. + +T = http://tug.org/texinfohtml + +dvipng mono ${T}/dvipng.html +dvips mono ${T}/dvips.html +eplain mono ${T}/eplain.html +kpathsea mono ${T}/kpathsea.html +latex2e mono ${T}/latex2e.html +tlbuild mono ${T}/tlbuild.html +web2c mono ${T}/web2c.html + + +# Local Variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "htmlxrefversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: -- cgit v1.2.3-70-g09d2 From e2f0870adf4baad5dfefaefd92c122ee9e1e0e5a Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 26 Oct 2017 12:28:28 +0000 Subject: documentation --- doc/documentation/chapters/developer.texi | 169 +++++++++++++++++------------- doc/documentation/gnunet-c-tutorial.texi | 51 ++++++--- doc/documentation/htmlxref.cnf | 2 +- 3 files changed, 131 insertions(+), 91 deletions(-) (limited to 'doc/documentation/htmlxref.cnf') diff --git a/doc/documentation/chapters/developer.texi b/doc/documentation/chapters/developer.texi index 996474359c..9459068a96 100644 --- a/doc/documentation/chapters/developer.texi +++ b/doc/documentation/chapters/developer.texi @@ -4,11 +4,14 @@ This book is intended to be an introduction for programmers that want to extend the GNUnet framework. GNUnet is more than a simple peer-to-peer -application. For developers, GNUnet is: +application. + +For developers, GNUnet is: @itemize @bullet -@item Free software under the GNU General Public License, with a community -that believes in the GNU philosophy +@item developed by a community that believes in the GNU philosophy +@item Free Software (Free as in Freedom), licensed under the +@xref{GNU General Public License} @item A set of standards, including coding conventions and architectural rules @item A set of layered protocols, both specifying the communication @@ -20,17 +23,19 @@ writing extensions In particular, the architecture specifies that a peer consists of many processes communicating via protocols. Processes can be written in almost -any language. C and Java APIs exist for accessing existing services and -for writing extensions. It is possible to write extensions in other -languages by implementing the necessary IPC protocols. +any language. +C and Java APIs exist for accessing existing services and for writing +extensions. It is possible to write extensions in other languages by +implementing the necessary IPC protocols. GNUnet can be extended and improved along many possible dimensions, and anyone interested in Free Software and Freedom-enhancing Networking is welcome to join the effort. This Developer Handbook attempts to provide an initial introduction to some of the key design choices and central -components of the system. This part of the GNUNet documentation -is far from complete, and we welcome informed contributions, -be it in the form of new chapters or insightful comments. +components of the system. +This part of the GNUNet documentation is far from complete, +and we welcome informed contributions, be it in the form of +new chapters, sections or insightful comments. @menu * Developer Introduction:: @@ -92,11 +97,13 @@ following links: @item GNUnet Java tutorial @end itemize -In addition to this book, the GNUnet server contains various resources for -GNUnet developers. They are all conveniently reachable via the "Developer" +In addition to the GNUnet Reference Documentation you are reading, +the GNUnet server contains various resources for GNUnet +developers and those who aspire to become regular contributors. +They are all conveniently reachable via the "Developer" entry in the navigation menu. Some additional tools (such as static analysis reports) require a special developer access to perform certain -operations. If you feel you need access, you should contact +operations. If you want (or require) access, you should contact @uref{http://grothoff.org/christian/, Christian Grothoff}, GNUnet's maintainer. @@ -104,20 +111,26 @@ The public subsystems on the GNUnet server that help developers are: @itemize @bullet -@item The Version control system (git) keeps our code and enables +@item The version control system (git) keeps our code and enables distributed development. +It is pubclicly accessible at @uref{https://gnunet.org/git/}. Only developers with write access can commit code, everyone else is encouraged to submit patches to the -@uref{https://lists.gnu.org/mailman/listinfo/gnunet-developers, GNUnet-developers mailinglist} -. - -@item The GNUnet bugtracking system (Mantis) is used to track -feature requests, open bug reports and their resolutions. -Anyone can report bugs, only developers can claim to have fixed them. - -@item A site installation of the CI system "Buildbot" is used to check -GNUnet builds automatically on a range of platforms. -Builds are triggered automatically after 30 minutes of no changes to Git. +@uref{https://lists.gnu.org/mailman/listinfo/gnunet-developers, GNUnet-developers mailinglist}. + +@item The bugtracking system (Mantis). +We use it to track feature requests, open bug reports and their +resolutions. +It can be accessed at @uref{https://gnunet.org/bugs/}. +Anyone can report bugs, but only developers can claim to have fixed them. + +@item Our site installation of the +CI@footnote{Continuous Integration} system "@code{Buildbot}" is used +to check GNUnet builds automatically on a range of platforms. +The web interface of this CI is exposed at +@uref{https://gnunet.org/buildbot/}. +Builds are triggered automatically 30 minutes after the last commit to +our repository was made. @item The current quality of our automated test suite is assessed using Code coverage analysis. This analysis is run daily; however the webpage @@ -163,34 +176,41 @@ GNUnet sub-projects in order of likely relevance are currently: @table @asis -@item gnunet +@item @command{gnunet} Core of the P2P framework, including file-sharing, VPN and -chat applications; this is what the developer handbook covers mostly -@item gnunet-gtk Gtk+-based user interfaces, including gnunet-fs-gtk -(file-sharing), gnunet-statistics-gtk (statistics over time), -gnunet-peerinfo-gtk (information about current connections and known -peers), gnunet-chat-gtk (chat GUI) and gnunet-setup (setup tool for -"everything") -@item gnunet-fuse +chat applications; this is what the Developer Handbook covers mostly +@item @command{gnunet-gtk} +Gtk+-based user interfaces, including: + +@itemize @bullet +@item @command{gnunet-fs-gtk} (file-sharing), +@item @command{gnunet-statistics-gtk} (statistics over time), +@item @command{gnunet-peerinfo-gtk} +(information about current connections and known peers), +@item @command{gnunet-chat-gtk} (chat GUI) and +@item @command{gnunet-setup} (setup tool for "everything") +@end itemize + +@item @command{gnunet-fuse} Mounting directories shared via GNUnet's file-sharing -on Linux -@item gnunet-update +on GNU/Linux distributions +@item @command{gnunet-update} Installation and update tool -@item gnunet-ext +@item @command{gnunet-ext} Template for starting 'external' GNUnet projects -@item gnunet-java +@item @command{gnunet-java} Java APIs for writing GNUnet services and applications @c ** FIXME: Point to new website repository once we have it: @c ** @item svn/gnunet-www/ Code and media helping drive the GNUnet @c website -@item eclectic +@item @command{eclectic} Code to run GNUnet nodes on testbeds for research, development, testing and evaluation @c ** FIXME: Solve the status and location of gnunet-qt -@item gnunet-qt -Qt-based GNUnet GUI (dead?) -@item gnunet-cocoa -cocoa-based GNUnet GUI (dead?) +@item @command{gnunet-qt} +Qt-based GNUnet GUI (is it depreacated?) +@item @command{gnunet-cocoa} +cocoa-based GNUnet GUI (is it depreacated?) @end table @@ -198,19 +218,19 @@ We are also working on various supporting libraries and tools: @c ** FIXME: What about gauger, and what about libmwmodem? @table @asis -@item libextractor +@item @command{libextractor} GNU libextractor (meta data extraction) -@item libmicrohttpd +@item @command{libmicrohttpd} GNU libmicrohttpd (embedded HTTP(S) server library) -@item gauger +@item @command{gauger} Tool for performance regression analysis -@item monkey +@item @command{monkey} Tool for automated debugging of distributed systems -@item libmwmodem +@item @command{libmwmodem} Library for accessing satellite connection quality reports -@item libgnurl -gnURL (feature restricted variant of cURL/libcurl) +@item @command{libgnurl} +gnURL (feature-restricted variant of cURL/libcurl) @end table Finally, there are various external projects (see links for a list of @@ -247,7 +267,7 @@ type defines a particular format and how that binary format is to be linked to a hash code (the key for the DHT and for databases). The block library is a wapper around block plugins which provide the necessary functions for each block type. -@item @file{statistics/} +@item @file{statistics/} --- statistics service The statistics service enables associating values (of type uint64_t) with a componenet name and a string. The main uses is debugging (counting events), performance tracking and user @@ -257,7 +277,7 @@ The automatic-restart-manager (ARM) service is the GNUnet master service. Its role is to start gnunet-services, to re-start them when they crashed and finally to shut down the system when requested. -@item @file{peerinfo/} +@item @file{peerinfo/} --- peerinfo service The peerinfo service keeps track of which peers are known to the local peer and also tracks the validated addresses for each peer (in the form of a HELLO message) for each of those peers. The peer is not @@ -269,17 +289,17 @@ The datacache library provides (temporary) block storage for the DHT. Existing plugins can store blocks in Sqlite, Postgres or MySQL databases. All data stored in the cache is lost when the peer is stopped or restarted (datacache uses temporary tables). -@item @file{datastore/} +@item @file{datastore/} --- datastore service The datastore service stores file-sharing blocks in databases for extended periods of time. In contrast to the datacache, data is not lost when peers restart. However, quota restrictions may still cause old, expired or low-priority data to be eventually discarded. Existing plugins can store blocks in Sqlite, Postgres or MySQL databases. -@item @file{template/} +@item @file{template/} --- service template Template for writing a new service. Does nothing. @item @file{ats/} --- Automatic Transport Selection -The automatic transport -selection (ATS) service is responsible for deciding which address (i.e. +The automatic transport selection (ATS) service +is responsible for deciding which address (i.e. which transport plugin) should be used for communication with other peers, and at what bandwidth. @item @file{nat/} --- libgnunetnat @@ -295,14 +315,14 @@ transfer unit (MTU) for packets. The fragmentation library can be used to break larger packets into chunks of at most 1k and transmit the resulting fragments reliabily (with acknowledgement, retransmission, timeouts, etc.). -@item @file{transport/} +@item @file{transport/} --- transport service The transport service is responsible for managing the basic P2P communication. It uses plugins to support P2P communication over TCP, UDP, HTTP, HTTPS and other protocols.The transport service validates peer addresses, enforces bandwidth restrictions, limits the total number of connections and enforces connectivity restrictions (i.e. friends-only). -@item @file{peerinfo-tool/} +@item @file{peerinfo-tool/} --- gnunet-peerinfo This directory contains the gnunet-peerinfo binary which can be used to inspect the peers and HELLOs known to the peerinfo service. @item @file{core/} @@ -315,7 +335,7 @@ for writing testcases. It also supports automatic generation of configurations for peers ensuring that the ports and paths are disjoint. libgnunettesting is also the foundation for the testbed service -@item @file{testbed/} +@item @file{testbed/} --- testbed service The testbed service is used for creating small or large scale deployments of GNUnet peers for evaluation of protocols. It facilitates peer depolyments on multiple @@ -329,13 +349,13 @@ P2P network. The distributed hash table (DHT) service provides a distributed implementation of a hash table to store blocks under hash keys in the P2P network. -@item @file{hostlist/} +@item @file{hostlist/} --- hostlist service The hostlist service allows learning about other peers in the network by downloading HELLO messages from an HTTP server, can be configured to run such an HTTP server and also implements a P2P protocol to advertise and automatically learn about other peers that offer a public hostlist server. -@item @file{topology/} +@item @file{topology/} --- topology service The topology service is responsible for maintaining the mesh topology. It tries to maintain connections to friends (depending on the configuration) and also tries to ensure that the peer @@ -349,7 +369,7 @@ connections are permitted (for friend-to-friend networking) The file-sharing (FS) service implements GNUnet's file-sharing application. Both anonymous file-sharing (using gap) and non-anonymous file-sharing (using dht) are supported. -@item @file{cadet/} +@item @file{cadet/} --- cadet service The CADET service provides a general-purpose routing abstraction to create end-to-end encrypted tunnels in mesh networks. We wrote a paper documenting key aspects of the design. @@ -368,7 +388,7 @@ Service that allows intercepting and modifying DNS requests of the local machine. Currently used for IPv4-IPv6 protocol translation (DNS-ALG) as implemented by "pt/" and for the GNUnet naming system. The service can also be configured to offer an exit service for DNS traffic. -@item @file{vpn/} +@item @file{vpn/} --- VPN service The virtual public network (VPN) service provides a virtual tunnel interface (VTUN) for IP routing over GNUnet. Needs some other peers to run an "exit" service to work. @@ -741,6 +761,7 @@ libgnunet_plugin_transport_tcp) @node Coding style @subsection Coding style +@c XXX: Adjust examples to GNU Standards! @itemize @bullet @item We follow the GNU Coding Standards (@pxref{Top, The GNU Coding Standards,, standards, The GNU Coding Standards}); @item Indentation is done with spaces, two per level, no tabs; @@ -1346,31 +1367,31 @@ shell program. For e.g: @example export GNUNET_TESTBED_RSH_CMD="ssh -o BatchMode=yes \ --o NoHostAuthenticationForLocalhost=yes %h"@ +-o NoHostAuthenticationForLocalhost=yes %h" @end example -Substitutions are allowed int the above command string also allows for -substitions. through placemarks which begin with a `%'. At present the -following substitutions are supported +Substitutions are allowed in the command string above, +this allows for substitutions through placemarks which begin with a `%'. +At present the following substitutions are supported @itemize @bullet -@item -%h: hostname -@item -%u: username -@item -%p: port +@item %h: hostname +@item %u: username +@item %p: port @end itemize Note that the substitution placemark is replaced only when the corresponding field is available and only once. Specifying + @example %u@atchar{}%h @end example -doesn't work either. -If you want to user username substitutions for SSH -use the argument @code{-l} before the username substitution. -For exmaple: + +doesn't work either. If you want to user username substitutions for +@command{SSH}, use the argument @code{-l} before the +username substitution. + +For example: @example ssh -l %u -p %p %h @end example diff --git a/doc/documentation/gnunet-c-tutorial.texi b/doc/documentation/gnunet-c-tutorial.texi index aca40d2ef1..b62db7855b 100644 --- a/doc/documentation/gnunet-c-tutorial.texi +++ b/doc/documentation/gnunet-c-tutorial.texi @@ -160,6 +160,16 @@ $ gpg --keyserver keys.gnupg.net --recv-keys 48426C7E @noindent and rerun the @code{gpg --verify-files} command. +@b{Note:}@ +@b{The pub key to sign the 0.10.1 release has been +revoked}. You will get an error message stating that +@i{there is no known public key or that it has been revoked}. +The next release of GNUnet will have a valid signature +again. We are sorry for the inconvenience this causes. +Another possible source you could use is our +"gnunet" git repository which has mandatory signed commits +by every developer. + Now you can extract the tarball and rename the resulting directory to @i{gnunet} which we will be using in the remainder of this document. @@ -178,14 +188,19 @@ from @uref{https://gnunet.org/git/, git}. @node Installing Build Tool Chain and Dependencies @section Installing Build Tool Chain and Dependencies -To successfully compile GNUnet you need the tools to build GNUnet and -the required dependencies. Please have a look at -@uref{https://gnunet.org/dependencies} for a list of required dependencies -and @uref{https://gnunet.org/generic_installation} for specific -instructions for your operating system. Please check the notes at -the end of the configure process about required dependencies. - -For GNUnet bootstrapping support and the http(s) plugin you should +To successfully compile GNUnet, you need the tools to build GNUnet and +the required dependencies. Please take a look at the +GNUnet Reference Documentation +(@pxref{Dependencies, The GNUnet Reference Documentation,, gnunet, The GNUnet Reference Documentation}) +for a list of required dependencies +and +(@pxref{Generic installation instructions, The GNUnet Reference Documentation,, gnunet, The GNUnet Reference Documentation}) +read its Installation chapter for specific instructions for +your operating system. +Please check the notes at the end of the configure process about +required dependencies. + +For GNUnet bootstrapping support and the HTTP(S) plugin you should install @uref{https://gnunet.org/gnurl, libgnurl}. For the filesharing service you should install at least one of the datastore backends. MySQL, SQlite and PostgreSQL are supported. @@ -194,8 +209,8 @@ datastore backends. MySQL, SQlite and PostgreSQL are supported. @section Obtaining the latest version from Git The latest development version can obtained from our Git repository. -To obtain the code you need Git installed and checkout the repository -using: +To obtain the code you need to have @code{Git} installed, which is +required for obtaining the repository via: @example $ git clone https://gnunet.org/git/gnunet @@ -203,21 +218,25 @@ $ git clone https://gnunet.org/git/gnunet @noindent After cloning the repository you have to execute the @file{bootstrap} -script in the directory: +script in the new directory: @example -$ cd gnunet ; ./bootstrap +$ cd gnunet +$ ./bootstrap @end example @noindent -The remainder of this tutorial assumes that you have the Git branch -``master'' checked out. +The remainder of this tutorial will assume that you have the +Git branch ``master'' checked out. @node Compiling and Installing GNUnet @section Compiling and Installing GNUnet -First, you need to install at least libgnupgerror 1.27 and -libgcrypt 1.7.6. +Note: This section is a duplication of the more in depth +@pxref{GNUnet Installation Handbook, The GNUnet Reference Documentation,, gnunet, The GNUnet Reference Documentation}. + +First, you need to install libgnupgerror @geq{} 1.27 and +libgcrypt @geq{} 1.7.6: @example $ export GNUPGFTP="https://www.gnupg.org/ftp/gcrypt" diff --git a/doc/documentation/htmlxref.cnf b/doc/documentation/htmlxref.cnf index 9ab9e4158d..a4928f6fee 100644 --- a/doc/documentation/htmlxref.cnf +++ b/doc/documentation/htmlxref.cnf @@ -2,7 +2,7 @@ # Modified by Ludovic Courtès for the GNU Guix manual. # Modified by ng0 for the GNUnet manual. -htmlxrefversion=2017-10-25.16; # UTC +htmlxrefversion=2017-10-26.06; # UTC # Copyright 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc. # -- cgit v1.2.3-70-g09d2