debian: Separate binary packages for each language manual

- When there are multiple binary packages, a common practice is to install into
  debian/tmp using the Makefile and then use dh_install and .install files. This
  splits the contents installed into debian/tmp to various package directories
  debian/{package}.

- Install documentation in to /usr/share/freedombox instead of
  /usr/share/doc/freedombox. Then create a link to /usr/share/doc/freedombox/.
  This approach is recommended Debian Policy Manual in section 12.3[1] because
  it should safe for administrator to delete files in /usr/share/doc safely
  without breaking the application functionality. The doc-base must refer to the
  documentation in /usr/share/doc as per doc-base documentation.

Links

1) https://www.debian.org/doc/debian-policy/ch-docs.html#additional-documentation

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Sunil Mohan Adapa 2019-10-24 10:43:48 -07:00 committed by James Valleroy
parent 58b6f0a8e1
commit 172f5f3160
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808
12 changed files with 79 additions and 23 deletions

View File

@ -5,7 +5,7 @@ config_dir = /etc/plinth
data_dir = /var/lib/plinth
server_dir = /plinth
actions_dir = /usr/share/plinth/actions
doc_dir = /usr/share/doc/freedombox
doc_dir = /usr/share/freedombox
custom_static_dir = /var/www/plinth/custom/static
# file locations

31
debian/control vendored
View File

@ -119,6 +119,9 @@ Recommends:
dosfstools,
# Priority: standard
file,
# FreedomBox documentation
freedombox-manual-en,
freedombox-manual-es,
# Provide entropy using HAVEGE algorithm
haveged,
# Monitor system resources
@ -176,3 +179,31 @@ Description: easy to manage, privacy oriented home server
This package provides the FreedomBox Service (Plinth) which installs,
configures and manages all functions of FreedomBox. The service is managed
using a web interface available at https://localhost/.
Package: freedombox-doc-en
Architecture: all
Section: doc
Depends: ${misc:Depends}
Description: easy to manage, privacy oriented home server - user manual (English)
FreedomBox is designed to be your own inexpensive server at home. It runs free
software and offers an increasing number of services ranging from a calendar or
jabber server to a wiki or VPN. A web interface allows you to easily install
and configure your apps.
.
This package contains the English user manual in HTML and PDF formats. It
describes how to setup and use each application in FreedomBox and FreedomBox
itself. It is accessible from Help menu in the FreedomBox web interface.
Package: freedombox-doc-es
Architecture: all
Section: doc
Depends: ${misc:Depends}
Description: easy to manage, privacy oriented home server - user manual (Spanish)
FreedomBox is designed to be your own inexpensive server at home. It runs free
software and offers an increasing number of services ranging from a calendar or
jabber server to a wiki or VPN. A web interface allows you to easily install
and configure your apps.
.
This package contains the Spanish user manual in HTML and PDF formats. It
describes how to setup and use each application in FreedomBox and FreedomBox
itself. It is accessible from Help menu in the FreedomBox web interface.

15
debian/freedombox-doc-en.doc-base vendored Normal file
View File

@ -0,0 +1,15 @@
Document: freedombox-doc-en
Title: FreedomBox User Manual - English
Author: FreedomBox Authors
Abstract: easy to manage, privacy oriented home server - English user manual.
This user manual describes how to setup and use each application in FreedomBox
and FreedomBox itself. It is also accessible from Help menu in the FreedomBox
web interface.
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/freedombox/manual/en/freedombox-manual.part.html
Files: /usr/share/doc/freedombox/manual/en/*.html
Format: PDF
Files: /usr/share/doc/freedombox/manual/en/freedombox-manual.pdf

1
debian/freedombox-doc-en.install vendored Normal file
View File

@ -0,0 +1 @@
usr/share/freedombox/manual/en/

1
debian/freedombox-doc-en.links vendored Normal file
View File

@ -0,0 +1 @@
usr/share/freedombox/manual/en usr/share/doc/freedombox/manual/en

15
debian/freedombox-doc-es.doc-base vendored Normal file
View File

@ -0,0 +1,15 @@
Document: freedombox-doc-es
Title: FreedomBox User Manual - Spanish
Author: FreedomBox Authors
Abstract: easy to manage, privacy oriented home server - Spanish user manual.
This user manual describes how to setup and use each application in FreedomBox
and FreedomBox itself. It is also accessible from Help menu in the FreedomBox
web interface.
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/freedombox/manual/es/freedombox-manual.part.html
Files: /usr/share/doc/freedombox/manual/es/*.html
Format: PDF
Files: /usr/share/doc/freedombox/manual/es/freedombox-manual.pdf

1
debian/freedombox-doc-es.install vendored Normal file
View File

@ -0,0 +1 @@
usr/share/freedombox/manual/es/

1
debian/freedombox-doc-es.links vendored Normal file
View File

@ -0,0 +1 @@
usr/share/freedombox/manual/es usr/share/doc/freedombox/manual/es

View File

@ -1,20 +0,0 @@
Document: freedombox
Title: FreedomBox Documentation
Author: FreedomBox Authors
Abstract: easy to manage, privacy oriented home server
FreedomBox is designed to be your own inexpensive server at home. It runs free
software and offers an increasing number of services ranging from a calendar or
jabber server to a wiki or VPN. A web interface allows you to easily install
and configure your apps.
.
This package provides the FreedomBox Service (Plinth) which installs,
configures and manages all functions of FreedomBox. The service is managed
using a web interface available at https://localhost/.
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/freedombox/manual/en/freedombox-manual.part.html
Files: /usr/share/doc/freedombox/manual/en/*.html
Format: PDF
Files: /usr/share/doc/freedombox/manual/en/freedombox-manual.pdf

11
debian/freedombox.install vendored Normal file
View File

@ -0,0 +1,11 @@
etc
lib
usr/bin
usr/lib
usr/share/augeas
usr/share/dbus-1
usr/share/man
usr/share/pam-configs
usr/share/plinth
usr/share/polkit-1
var

2
debian/rules vendored
View File

@ -1,7 +1,7 @@
#!/usr/bin/make -f
export DH_VERBOSE=1
export PYBUILD_DESTDIR=debian/freedombox
export PYBUILD_DESTDIR=debian/tmp
%:
dh $@ --with python3 --buildsystem=pybuild

View File

@ -10,7 +10,7 @@ MANUAL_URL_RAW="https://wiki.debian.org/{lang-fragment}FreedomBox/Manual?action=
MANUAL_PAGE_URL="https://wiki.debian.org/{lang-fragment}FreedomBox/Manual/{page}?action=show&mimetype=text%2Fdocbook"
DESTDIR=
INSTALL_DIR=$(DESTDIR)/usr/share/doc/freedombox
INSTALL_DIR=$(DESTDIR)/usr/share/freedombox
SCRIPTS_DIR=scripts
manual-pdfs=$(foreach lang,$(MANUAL_LANGUAGES),manual/$(lang)/freedombox-manual.pdf)