Skip to content

Commit aec01c9

Browse files
committed
debian: Declaring deps required only for docs/testing
1 parent 2d9da86 commit aec01c9

2 files changed

Lines changed: 39 additions & 25 deletions

File tree

debian/control.top.in

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ Build-Depends:
1212
@KERNEL_HEADERS@,
1313
@MODUTILS_DEPENDS@,
1414
@EXTRA_BUILD@,
15-
docbook-xsl,
16-
asciidoc,
17-
ghostscript,
18-
groff-base,
19-
imagemagick,
20-
asciidoc-dblatex,
15+
docbook-xsl <!nodocs>,
16+
asciidoc <!nodocs>,
17+
ghostscript <!nodocs>,
18+
groff-base <!nodocs>,
19+
imagemagick <!nodocs>,
20+
asciidoc-dblatex <!nodocs>,
2121
autoconf,
2222
automake,
2323
bwidget (>= 1.7),
@@ -37,7 +37,7 @@ Build-Depends:
3737
libxmu-dev,
3838
netcat-traditional | netcat-openbsd | netcat,
3939
netpbm,
40-
po4a,
40+
po4a <!nodocs>,
4141
procps,
4242
psmisc,
4343
python3,
@@ -51,8 +51,8 @@ Build-Depends:
5151
yapps2
5252
Build-Depends-Indep:
5353
@DOC_DEPENDS@,
54-
Build-Conflicts: libjpeg8-dev, libtiff4-dev
55-
Standards-Version: 4.7.0
54+
Build-Conflicts-Arch: libjpeg8-dev, libtiff4-dev
55+
Standards-Version: 4.7.2
5656
Homepage: https://linuxcnc.org/
5757
Vcs-Browser: https://github.com/LinuxCNC/linuxcnc
5858
Vcs-Git: https://github.com/LinuxCNC/linuxcnc.git
@@ -72,23 +72,23 @@ Section: devel
7272
Description: PC based motion controller for real-time Linux
7373
LinuxCNC is a fully-realised CNC machine controller that can interpret
7474
machine-control programs (such as G-code), plan trajectories and finally
75-
output low-level signals to machine control hardware
75+
output low-level signals to machine control hardware.
7676
.
77-
LinuxCNC is modular and in principle the HAL (hardware abstraction layer),
78-
pluggable interpreters and variety of hardware drivers mean that it can
79-
control almost any software-defined physical system.
77+
LinuxCNC is modular, thus in principle its HAL (hardware abstraction
78+
layer) together with pluggable interpreters and variety of hardware
79+
drivers can control almost any software-defined physical system.
8080
.
8181
LinuxCNC relies on a realtime kernel to support real-time motion control,
82-
typically updating the position waypoints every 1mS and reacting to
83-
input within tens of microseconds.
82+
typically updating the position waypoints every millisecond and reacting
83+
to input within tens of microseconds.
8484
.
8585
Modules exist to use the low-level parts of LinuxCNC as a motion-control
8686
client for OpenPnP. Interfaces exist for ROS (the Robot Operating System)
8787
with which LinuxCNC has considerable overlap.
8888
.
8989
LinuxCNC supports arbitrary kinematics (the mapping between coordinate
90-
space and actuator space) and can control both parallel (eg Stewart
91-
platform) and serial (eg robot arm) systems in addition to conventional
90+
space and actuator space) and can control both parallel (e.g., Stewart
91+
platform) and serial (e.g., robot arm) systems in addition to conventional
9292
cartesian machine tools.
9393
.
9494
LinuxCNC supports 9 cartesian axes and 16 "Joints" (individual actuators)

debian/rules.in

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ export TIME=$(shell LANG=C date --date='@$(TIMESTAMP)' '+%T')
3232

3333
kernel_version = @KERNEL_VERSION@
3434
configure_realtime_arg = @CONFIGURE_REALTIME_ARG@
35+
ifeq (,$(filter nodocs,$(DEB_BUILD_OPTIONS)))
3536
enable_build_documentation = @ENABLE_BUILD_DOCUMENTATION@
37+
endif
3638
SRCDIR = $(CURDIR)/src
3739
DESTDIR=$(CURDIR)/debian/tmp
3840
DEV_PACKAGE_NAME=@MAIN_PACKAGE_NAME@-dev
@@ -55,18 +57,25 @@ override_dh_auto_build-arch:
5557
dh_auto_build -- build-software
5658

5759
override_dh_auto_build-indep:
60+
ifeq (,$(filter nodocs,$(DEB_BUILD_OPTIONS)))
5861
ifneq "$(enable_build_documentation)" ""
5962
dh_auto_build -- manpages
6063
dh_auto_build -- translateddocs
6164
dh_auto_build -- docs
6265
endif
66+
endif
6367

6468
override_dh_auto_clean:
6569
if [ -r src/Makefile.inc -a -r src/config.status ]; then \
6670
dh_auto_clean; \
6771
py3clean .; \
6872
fi
6973

74+
override_dh_auto_test:
75+
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
76+
dh_auto_test
77+
endif
78+
7079
override_dh_auto_install-arch:
7180
# Install all architecture-dependent libraries and executables
7281
# in DESTDIR (the staging dir for the main package).
@@ -79,24 +88,30 @@ override_dh_auto_install-arch:
7988
rm -f $(DESTDIR)/usr/share/doc/@MAIN_PACKAGE_NAME@/examples/sample-configs/*/*position*.txt
8089

8190
override_dh_installdocs-arch:
82-
# Sample configs go in `usr/share/doc/linuxcnc` (not `.../doc/@MAIN_PACKAGE_NAME@`)
83-
# because that's where the `linuxcnc` launcher script looks for them,
84-
# and that's inconvenient to change.
91+
ifeq (,$(filter nodocs,$(DEB_BUILD_OPTIONS)))
92+
# Sample configs go in `usr/share/doc/linuxcnc` (not
93+
# `.../doc/@MAIN_PACKAGE_NAME@`) because that's where the
94+
# `linuxcnc` launcher script looks for them, and that's
95+
# inconvenient to change.
8596
dh_installdocs --doc-main-package=@MAIN_PACKAGE_NAME@ --package=@MAIN_PACKAGE_NAME@
8697
mkdir -p debian/@MAIN_PACKAGE_NAME@/usr/share/doc/linuxcnc
8798
mv debian/@MAIN_PACKAGE_NAME@/usr/share/doc/@MAIN_PACKAGE_NAME@/examples debian/@MAIN_PACKAGE_NAME@/usr/share/doc/linuxcnc
8899

89100
dh_installdocs --doc-main-package=@MAIN_PACKAGE_NAME@ --package=@MAIN_PACKAGE_NAME@-dev
90-
101+
endif
91102

92103
override_dh_auto_install-indep:
104+
ifeq (,$(filter nodocs,$(DEB_BUILD_OPTIONS)))
93105
DESTDIR=$(DESTDIR) $(MAKE) -C src install-docs install-doc
94106
# Remove the docs we just built that we don't have debs for yet...
95107
rm -f $(DESTDIR)/usr/share/doc/linuxcnc/*_nb.pdf
108+
endif
96109

97110
override_dh_installdocs-indep:
98-
# The G-code quick reference html docs are built as `docs/html/${LANG}/gcode.html`.
99-
# We install them into `/usr/share/doc/@MAIN_PACKAGE_NAME@/` in each
111+
ifeq (,$(filter nodocs,$(DEB_BUILD_OPTIONS)))
112+
# The G-code quick reference html docs are built as
113+
# `docs/html/${LANG}/gcode.html`. We install them
114+
# into `/usr/share/doc/@MAIN_PACKAGE_NAME@/` in each
100115
# linuxcnc-doc-${LANG} package, then rename them there (except
101116
# for the English one) to include the language in the filename,
102117
# so they don't collide when we install all the doc debs.
@@ -116,8 +131,7 @@ override_dh_installdocs-indep:
116131
$(RM) debian/tmp/usr/share/doc/linuxcnc/LinuxCNC_*_$$l.pdf; \
117132
done
118133
$(RM) debian/tmp/usr/share/doc/linuxcnc/*_es.adoc
119-
120-
134+
endif
121135

122136
override_dh_compress:
123137
dh_compress -X.pdf -X.txt -X.hal -X.ini -X.clp -X.var -X.nml -X.tbl -X.xml -Xsample-configs

0 commit comments

Comments
 (0)