[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libreboot-dev] Docs: texinfo merging/cleanup

From: paukoen
Subject: Re: [Libreboot-dev] Docs: texinfo merging/cleanup
Date: Tue, 19 Jul 2016 08:47:34 -0400
User-agent: Mutt/1.6.2 (2016-07-01)

Hi Leah,

On Tue, Jul 19, 2016 at 12:34:14AM +0100, Leah Rowe wrote:
> Can you do me a favour. Install lighttpd from scratch on a trisquel
> server (barebones install from netinstall) and tell me exactly what
> you had to install as dependency, then in document root create a
> symlink called "manual" pointing to the manual directory in a
> libreboot clone directory elsewhere on the system, where you have run
> the html ./build docs commands with w, and basically document in fine
> detail everything you're doing, until you get it working.

The solution I came up with is to create symlinks for both the manual
and resources directories in the document root. The "w" switch is no
longer needed.

Here's the fine detail!

I installed Trisquel from a netinstall iso like you recommended.


Building lighttpd:

# apt-get install git

$ git clone

$ cd lighttpd1.4

# apt-get install autoconf libtool pkg-config libbz2-dev zlib1g-dev

$ ./

### because these two modules are recommended on the lighttpd website
$ ./configure --with-zlib --with-pcre

$ make

# make install


Building libreboot docs:

$ cd ~

$ git clone git://

$ cd libreboot

### At this point, building the docs fails with "@ref reference to
### nonexistent node" errors. I am attaching a patch that will remove
### these errors:

$ git apply path/to/Update-references-to-SPI-flash-chip-node.patch

$ ./build docs html

### Optional
$ ./build docs html-one-page

### Optional
$ ./build docs html-by-section


Setting up the server:

# mkdir -p /var/www/servers/

$ cd /var/www/servers/

# ln -s ~/libreboot/docs/manual ./manual
# ln -s ~/libreboot/docs/resources ./resources

### The lighttpd configuration file. Derived from
$ echo "server.document-root = \"/var/www/servers/\"

server.port = 3000

server.username = \"www\"
server.groupname = \"www\"

mimetype.assign = (
  \".html\" => \"text/html\",
  \".txt\" => \"text/plain\",
  \".jpg\" => \"image/jpeg\",
  \".png\" => \"image/png\"

index-file.names = ( \"index.html\" )
" > ~/.lighttpd.conf

# useradd -r -s /usr/bin/nologin www

$ lighttpd -t -f ~/.lighttpd.conf

# lighttpd -D -f ~/.lighttpd.conf


At this point I was able to visit http://192.168.0.xx:3000/manual
(find actual ip with ifconfig or similar) with a different computer on
the same network and the images showed up.

I think all the dependencies are pulled in by the commands above, but
just in case, here is the full list.


For git:
  ca-certificates git git-man krb5-locales libasn1-8-heimdal libcurl3-gnutls
  libedit2 liberror-perl libgssapi-krb5-2 libgssapi3-heimdal
  libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal
  libhx509-5-heimdal libidn11 libk5crypto3 libkeyutils1 libkrb5-26-heimdal
  libkrb5-3 libkrb5support0 libldap-2.4-2 libroken18-heimdal librtmp0
  libsasl2-2 libsasl2-modules libsasl2-modules-db libwind0-heimdal libx11-6
  libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxmuu1 openssh-client
  openssl patch rsync xauth

For lighttpd build process:
  autoconf automake autotools-dev libsigsegv2 m4 libltdl-dev libltdl7
  libtool pkg-config make binutils cpp cpp-4.8 gcc gcc-4.8 libasan0
  libatomic1 libc-dev-bin libc6-dev libcloog-isl4 libgcc-4.8-dev
  libgmp10 libgomp1 libisl10 libitm1 libmpc3 libmpfr4 libpcre3-dev
  libpcrecpp0 libquadmath0 libtsan0 linux-libc-dev manpages
  manpages-dev zlib1g-dev libbz2-dev

Libreboot build docs html:
  libauthen-sasl-perl libencode-locale-perl libfile-listing-perl
  libfont-afm-perl libhtml-form-perl libhtml-format-perl libhtml-parser-perl
  libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl
  libhttp-daemon-perl libhttp-date-perl libhttp-message-perl
  libhttp-negotiate-perl libintl-perl libio-html-perl libio-socket-inet6-perl
  libio-socket-ssl-perl liblwp-mediatypes-perl liblwp-protocol-https-perl
  libmailtools-perl libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl
  libsocket6-perl libtext-unidecode-perl libtimedate-perl liburi-perl
  libwww-perl libwww-robotrules-perl libxml-libxml-perl
  libxml-namespacesupport-perl libxml-parser-perl libxml-sax-base-perl
  libxml-sax-expat-perl libxml-sax-perl texinfo


More dependencies would be required for building other types of
documentation (texlive packages...).

Let me know if I am on the right track, and if there are any other
things that I can try to change before the release. Makeinfo provides
the option of including a css file -- that would be an easy
patch. Also, if visting should go directly to the
index of html-by-node, I could look into that (removing the current
index and symlinking manual/libreboot_by-node/index.html to
manual/index.html would work, but maybe there's a cleaner way with URL

Thanks again!

Attachment: Update-references-to-SPI-flash-chip-node.patch
Description: Text Data

Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]