Skip to content

Commit

Permalink
mesa_modbus: Re-arrange files for Debian packaging
Browse files Browse the repository at this point in the history
  • Loading branch information
andypugh committed Jun 8, 2023
1 parent ab22da0 commit 6ad71f8
Show file tree
Hide file tree
Showing 9 changed files with 302 additions and 12 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ share/menus/CNC.menu
share/desktop-directories/linuxcnc-cnc.directory
share/desktop-directories/linuxcnc-ref.directory
share/desktop-directories/linuxcnc-doc.directory
share/linuxcnc/mesa_modbus.c.tmpl
src/modules.order
/configs/*/emc.nml
!/configs/common/emc.nml
Expand Down
12 changes: 12 additions & 0 deletions debian/linuxcnc-dev.files
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
usr/include/linuxcnc/*.hh
usr/include/linuxcnc/*.h
usr/lib/*.a
usr/lib/*.so
usr/share/man/man1/halcompile.1
usr/share/man/man3/*
usr/bin/halcompile
usr/bin/modcompile
usr/share/linuxcnc/mesa_modbus.c.tmpl
usr/share/doc/linuxcnc-dev/*
usr/share/linuxcnc/Makefile.modinc
usr/realtime-4.19.195-rtai-amd64/modules/linuxcnc/Module.symvers
2 changes: 2 additions & 0 deletions debian/linuxcnc-uspace-dev.install
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
usr/bin/halcompile
usr/bin/modcompile
usr/include/linuxcnc
usr/lib/liblinuxcnc.a
usr/lib/*.so
usr/share/linuxcnc/Makefile.modinc
usr/share/linuxcnc/mesa_modbus.c.tmpl
usr/share/man/man1/halcompile.1
usr/share/man/man3
263 changes: 263 additions & 0 deletions debian/linuxcnc.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,263 @@
etc

usr/bin/5axisgui
usr/bin/axis
usr/bin/axis-remote
usr/bin/classicladder
usr/bin/debuglevel
usr/bin/elbpcom
usr/bin/genserkins
usr/bin/gladevcp
usr/bin/gladevcp_demo
usr/bin/gmoccapy
usr/bin/gremlin_view
usr/bin/gs2_vfd
usr/bin/gscreen
usr/bin/hal-histogram
usr/bin/hal_input
usr/bin/hal_manualtoolchange
usr/bin/halcmd
usr/bin/halcmd_twopass
usr/bin/halmeter
usr/bin/halreport
usr/bin/halrmt
usr/bin/halrun
usr/bin/halsampler
usr/bin/halscope
usr/bin/halshow
usr/bin/halstreamer
usr/bin/haltcl
usr/bin/halui
usr/bin/hbmgui
usr/bin/hexagui
usr/bin/hy_gt_vfd
usr/bin/hy_vfd
usr/bin/image-to-gcode
usr/bin/inivar
usr/bin/io
usr/bin/iov2
usr/bin/latency-histogram
usr/bin/latency-plot
usr/bin/latency-test
usr/bin/lineardelta
usr/bin/linuxcnc
usr/bin/linuxcnc_info
usr/bin/linuxcnc_module_helper
usr/bin/linuxcnc_var
usr/bin/linuxcnclcd
usr/bin/linuxcncmkdesktop
usr/bin/linuxcncrsh
usr/bin/linuxcncsvr
usr/bin/linuxcnctop
usr/bin/maho600gui
usr/bin/max5gui
usr/bin/mb2hal
usr/bin/mdi
usr/bin/melfagui
usr/bin/milltask
usr/bin/millturngui
usr/bin/mitsub_vfd
usr/bin/z_level_compensation
usr/bin/monitor-xhc-hb04
usr/bin/motion-logger
usr/bin/moveoff_gui
usr/bin/ngcgui
usr/bin/panelui
usr/bin/pi500_vfd
usr/bin/pmx485
usr/bin/pmx485-test
usr/bin/pncconf
usr/bin/puma560gui
usr/bin/pumagui
usr/bin/pyngcgui
usr/bin/pyui
usr/bin/pyvcp
usr/bin/pyvcp_demo
usr/bin/qtplasmac-cfg2prefs
usr/bin/qtplasmac-materials
usr/bin/qtplasmac-plasmac2qt
usr/bin/qtplasmac_gcode
usr/bin/qtvcp
usr/bin/rotarydelta
usr/bin/rs274
usr/bin/rtapi_app
usr/bin/scaragui
usr/bin/schedrmt
usr/bin/scorbot-er-3
usr/bin/sendkeys
usr/bin/shuttle
usr/bin/sim-torch
usr/bin/sim_pin
usr/bin/simulate_probe
usr/bin/stepconf
usr/bin/svd-ps_vfd
usr/bin/teach-in
usr/bin/thermistor
usr/bin/tool_mmap_read
usr/bin/tool_watch
usr/bin/tooledit
usr/bin/touchy
usr/bin/update_ini
usr/bin/vfdb_vfd
usr/bin/vfs11_vfd
usr/bin/wj200_vfd
usr/bin/xhc-hb04
usr/bin/xhc-hb04-accels
usr/bin/xhc-whb04b-6
usr/bin/xyzac-trt-gui
usr/bin/xyzbc-trt-gui

usr/lib/lib*.so.*
usr/lib/linuxcnc
usr/lib/python3
usr/lib/tcltk

usr/share/axis
usr/share/glade3
usr/share/gmoccapy
usr/share/gscreen
usr/share/gtksourceview-2.0

usr/share/applications/linuxcnc.desktop
usr/share/applications/linuxcnc-latency.desktop
usr/share/applications/linuxcnc-latency-histogram.desktop
usr/share/applications/linuxcnc-pncconf.desktop
usr/share/applications/linuxcnc-stepconf.desktop

usr/share/linuxcnc/gremlin_view.ui
usr/share/linuxcnc/gscreen2.glade
usr/share/linuxcnc/gscreen.glade
usr/share/linuxcnc/hallib/
usr/share/linuxcnc/linuxcnc_big.nml
usr/share/linuxcnc/linuxcnc.gif
usr/share/linuxcnc/linuxcncicon.png
usr/share/linuxcnc/linuxcnc.nml
usr/share/linuxcnc/linuxcnc-wizard.gif
usr/share/linuxcnc/ncfiles/
usr/share/linuxcnc/pncconf/
usr/share/linuxcnc/popupkeyboard.ui
usr/share/linuxcnc/stepconf/
usr/share/linuxcnc/touchy.glade

usr/share/locale

usr/share/man/man1/5axisgui.1
usr/share/man/man1/axis.1
usr/share/man/man1/axis-remote.1
usr/share/man/man1/debuglevel.1
usr/share/man/man1/elbpcom.1
usr/share/man/man1/gladevcp.1
usr/share/man/man1/gladevcp_demo.1
usr/share/man/man1/gmoccapy.1
usr/share/man/man1/gremlin_view.1
usr/share/man/man1/gs2_vfd.1
usr/share/man/man1/gscreen.1
usr/share/man/man1/halcmd.1
usr/share/man/man1/halcmd_twopass.1
usr/share/man/man1/hal-histogram.1
usr/share/man/man1/hal_input.1
usr/share/man/man1/hal_manualtoolchange.1
usr/share/man/man1/halmeter.1
usr/share/man/man1/hal_parport.1
usr/share/man/man1/halreport.1
usr/share/man/man1/halrmt.1
usr/share/man/man1/halrun.1
usr/share/man/man1/halsampler.1
usr/share/man/man1/halscope.1
usr/share/man/man1/halshow.1
usr/share/man/man1/halstreamer.1
usr/share/man/man1/haltcl.1
usr/share/man/man1/halui.1
usr/share/man/man1/hbmgui.1
usr/share/man/man1/hexagui.1
usr/share/man/man1/hy_gt_vfd.1
usr/share/man/man1/hy_vfd.1
usr/share/man/man1/image-to-gcode.1
usr/share/man/man1/inivar.1
usr/share/man/man1/io.1
usr/share/man/man1/iocontrol.1
usr/share/man/man1/iov2.1
usr/share/man/man1/latency-histogram.1
usr/share/man/man1/latency-plot.1
usr/share/man/man1/latency-test.1
usr/share/man/man1/lineardelta.1
usr/share/man/man1/linuxcnc.1
usr/share/man/man1/linuxcnc_info.1
usr/share/man/man1/linuxcnclcd.1
usr/share/man/man1/linuxcncmkdesktop.1
usr/share/man/man1/linuxcnc_module_helper.1
usr/share/man/man1/linuxcncrsh.1
usr/share/man/man1/linuxcncsvr.1
usr/share/man/man1/linuxcnctop.1
usr/share/man/man1/linuxcnc_var.1
usr/share/man/man1/maho600gui.1
usr/share/man/man1/max5gui.1
usr/share/man/man1/mb2hal.1
usr/share/man/man1/mdi.1
usr/share/man/man1/mdro.1
usr/share/man/man1/milltask.1
usr/share/man/man1/mitsub_vfd.1
usr/share/man/man1/monitor-xhc-hb04.1
usr/share/man/man1/motion-logger.1
usr/share/man/man1/moveoff_gui.1
usr/share/man/man1/ngcgui.1
usr/share/man/man1/panelui.1
usr/share/man/man1/pi500_vfd.1
usr/share/man/man1/pmx485.1
usr/share/man/man1/pmx485-test.1
usr/share/man/man1/pncconf.1
usr/share/man/man1/puma560gui.1
usr/share/man/man1/pumagui.1
usr/share/man/man1/pyngcgui.1
usr/share/man/man1/pyui.1
usr/share/man/man1/pyvcp.1
usr/share/man/man1/pyvcp_demo.1
usr/share/man/man1/qtplasmac-cfg2prefs.1
usr/share/man/man1/qtplasmac-materials.1
usr/share/man/man1/qtplasmac-plasmac2qt.1
usr/share/man/man1/qtplasmac-setup.1
usr/share/man/man1/qtvcp.1
usr/share/man/man1/rotarydelta.1
usr/share/man/man1/rs274.1
usr/share/man/man1/rtapi_app.1
usr/share/man/man1/scaragui.1
usr/share/man/man1/schedrmt.1
usr/share/man/man1/scorbot-er-3.1
usr/share/man/man1/sendkeys.1
usr/share/man/man1/shuttle.1
usr/share/man/man1/sim_pin.1
usr/share/man/man1/sim-torch.1
usr/share/man/man1/simulate_probe.1
usr/share/man/man1/stepconf.1
usr/share/man/man1/svd-ps_vfd.1
usr/share/man/man1/teach-in.1
usr/share/man/man1/thermistor.1
usr/share/man/man1/tooledit.1
usr/share/man/man1/touchy.1
usr/share/man/man1/update_ini.1
usr/share/man/man1/vfdb_vfd.1
usr/share/man/man1/vfs11_vfd.1
usr/share/man/man1/wj200_vfd.1
usr/share/man/man1/xhc-hb04.1
usr/share/man/man1/xhc-hb04-accels.1
usr/share/man/man1/xhc-whb04b-6.1
usr/share/man/man1/xyzac-trt-gui.1
usr/share/man/man1/xyzbc-trt-gui.1

usr/share/man/man9

usr/share/qtvcp

src/emc/usr_intf/axis/etc usr/share/doc/linuxcnc/axis
src/emc/usr_intf/axis/README usr/share/doc/linuxcnc/axis

debian/linuxcnc-uspace.metainfo.xml usr/share/metainfo

debian/extras/etc /
debian/extras/lib /

debian/extras/usr/share/icons usr/share

debian/extras/usr/share/desktop-directories/linuxcnc-cnc.directory usr/share/desktop-directories
debian/extras/usr/share/desktop-directories/linuxcnc-doc.directory usr/share/desktop-directories
debian/extras/usr/share/desktop-directories/linuxcnc-ref.directory usr/share/desktop-directories
4 changes: 2 additions & 2 deletions docs/src/drivers/mesa_modbus.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -293,13 +293,13 @@ necessary except in the special case of the 'modcompile all' command,
which will compile and install all .mod files in the current directory.

----
modcompile my_file.mod
sudo modcompile my_file.mod
----

or

----
modcompile all
sudo modcompile all
----

"modcompile" is provided by the "linuxcnc-dev" package.
Expand Down
2 changes: 2 additions & 0 deletions src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -766,6 +766,8 @@ install-kernel-indep: install-dirs

$(FILE) ../share/gtksourceview-2.0/language-specs/*.lang $(DESTDIR)$(datadir)/gtksourceview-2.0/language-specs/

$(FILE) ../src/hal/drivers/mesa-hostmot2/modbus/*.tmpl $(DESTDIR)$(prefix)/share/linuxcnc/

install-kernel-indep: install-python
install-python: install-dirs
$(DIR) $(DESTDIR)$(SITEPY) $(DESTDIR)$(SITEPY)/rs274
Expand Down
19 changes: 10 additions & 9 deletions ...l/drivers/mesa-hostmot2/modbus/modcompile → ...rivers/mesa-hostmot2/modbus/modcompile.py
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! /usr/bin/env python3
#!/usr/bin/python3

# Build Realtime Modbus modules to use the Mesa FPGA card PktUART

Expand Down Expand Up @@ -42,8 +42,7 @@ def find_modinc():
global modinc
if modinc: return modinc
d = os.path.abspath(os.path.dirname(os.path.dirname(sys.argv[0])))
for e in ['%s/src' % os.environ["EMC2_HOME"], 'etc/linuxcnc',
'/etc/linuxcnc', 'share/linuxcnc']:
for e in ['src', 'etc/linuxcnc', '/etc/linuxcnc', 'share/linuxcnc']:
e = os.path.join(d, e, 'Makefile.modinc')
if os.path.exists(e):
modinc = e
Expand All @@ -59,17 +58,19 @@ def find_modinc():
names = [sys.argv[1]]

tempdir = tempfile.mkdtemp()
BASE = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), ".."))
print(os.path.join(tempdir, "mesa_modbus.c"))
os.symlink(os.path.join(os.path.abspath("."), "mesa_modbus.c"), os.path.join(tempdir, "mesa_modbus.c"))
os.symlink(os.path.join(BASE, "share", "linuxcnc", "mesa_modbus.c.tmpl"), os.path.join(tempdir, "mesa_modbus.c"))
for f in names:
b = os.path.splitext(os.path.basename(f))[0]
# The module definition is #included as mesa_modbus.h
m = open(os.path.join(tempdir, "Makefile"), "w")
print("obj-m += %s.o" % os.path.splitext(f)[0],file=m)
print("%s-objs:=mesa_modbus.o" % os.path.splitext(f)[0],file=m)
print("obj-m += %s.o" % b,file=m)
print("%s-objs:=mesa_modbus.o" % b,file=m)
print("include %s" % find_modinc(), file=m)
print("EXTRA_CFLAGS += -I%s" % os.path.abspath('.'), file=m)
print("EXTRA_CFLAGS += -DMODFILE=%s" % f, file=m)
print("EXTRA_CFLAGS += -D_COMP_NAME_=%s" % os.path.splitext(f)[0], file=m)
print("EXTRA_CFLAGS += -I%s" % tempdir, file=m)
print("EXTRA_CFLAGS += -DMODFILE=%s" % os.path.abspath(f), file=m)
print("EXTRA_CFLAGS += -D_COMP_NAME_=%s" % b, file=m)
m.close()
os.system("touch mesa_modbus.c") # Force a recompile
result = os.system("cd %s && make -S modules install" % tempdir)
Expand Down
11 changes: 10 additions & 1 deletion src/hal/utils/Submakefile
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,16 @@ endif
$(ECHO) Copying python script $(notdir $@)
$(Q)(echo '#!$(PYTHON)'; sed '1 { /^#!/d; }' $<) > [email protected] && chmod +x [email protected] && mv -f [email protected] $@

TARGETS += ../bin/halcompile ../bin/elbpcom
../bin/modcompile: ../bin/%: hal/drivers/mesa-hostmot2/modbus/%.py
@$(ECHO) Syntax checking python script $(notdir $@)
$(Q)$(PYTHON) -m py_compile $<
$(ECHO) Copying python script $(notdir $@)
$(Q)(echo '#!$(PYTHON)'; sed '1 { /^#!/d; }' $<) > [email protected] && chmod +x [email protected] && mv -f [email protected] $@
../share/linuxcnc/mesa_modbus.c.tmpl: hal/drivers/mesa-hostmot2/modbus/mesa_modbus.c.tmpl
$(ECHO) Copying Modbus template $(notdir $@)
$(Q)cp -f $< $@

TARGETS += ../bin/halcompile ../bin/elbpcom ../bin/modcompile ../share/linuxcnc/mesa_modbus.c.tmpl
objects/%.py: %.g
@mkdir -p $(dir $@)
$(Q)$(YAPPS) $< $@

0 comments on commit 6ad71f8

Please sign in to comment.