Debian Package Tracker
Register | Log in
Subscribe

linuxcnc

Choose email to subscribe with

general
  • source: linuxcnc (main)
  • version: 1:2.9.9-2
  • maintainer: LinuxCNC Developers (DMD)
  • uploaders: Petter Reinholdtsen [DMD] – Sebastian Kuzminsky [DMD] – Jeff Epler [DMD] – Andy Pugh [DMD]
  • arch: all any
  • std-ver: 4.7.4
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • oldstable: 2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u2
  • old-p-u: 2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u2
  • stable: 1:2.9.4-2+deb13u1
  • unstable: 1:2.9.9-2
versioned links
  • 2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1:2.9.4-2+deb13u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1:2.9.9-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • linuxcnc-doc-de
  • linuxcnc-doc-en
  • linuxcnc-doc-es
  • linuxcnc-doc-fr
  • linuxcnc-doc-zh-cn
  • linuxcnc-uspace (3 bugs: 1, 1, 1, 0)
  • linuxcnc-uspace-dev
action needed
Debci reports failed tests high
  • unstable: pass (log)
    The tests ran in 0:03:16
    Last run: 2026-09-25T07:28:45.000Z
    Previous status: unknown

  • testing: fail (log)
    The tests ran in 0:00:18
    Last run: 2026-01-31T13:46:36.000Z
    Previous status: unknown

  • stable: pass (log)
    The tests ran in 0:01:33
    Last run: 2026-07-15T20:01:47.000Z
    Previous status: unknown

Created: 2026-01-31 Last update: 2026-10-10 02:01
A new upstream version is available: 2.9.10 high
A new upstream version 2.9.10 is available, you should consider packaging it.
Created: 2026-07-03 Last update: 2026-10-09 20:30
lintian reports 1 error and 55 warnings high
Lintian reports 1 error and 55 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2026-06-30 Last update: 2026-06-30 09:17
The package has not entered testing even though the delay is over normal
The package has not entered testing even though the 2-day delay is over. Check why.
Created: 2026-07-04 Last update: 2026-10-10 01:33
1 bug tagged patch in the BTS normal
The BTS contains patches fixing 1 bug, consider including or untagging them.
Created: 2026-09-02 Last update: 2026-10-10 01:30
Depends on packages which need a new maintainer normal
The packages that linuxcnc depends on which need a new maintainer are:
  • dblatex (#942402)
    • Build-Depends-Indep: dblatex
  • docbook-xsl (#802370)
    • Build-Depends: docbook-xsl
Created: 2022-02-27 Last update: 2026-10-09 23:00
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 1:2.10.0~pre2, distribution UNRELEASED) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit 3f582d0f8fa31c8fc8ecfeef3526df6deb74d662
Merge: 60dd807b 45f9e0ce
Author: BsAtHome <bertho@vagrearg.org>
Date:   Fri Oct 9 15:48:14 2026 +0200

    Merge pull request #4622 from SyncTwin/synctwin/check-ini-e-option
    
    linuxcnc_check_ini: make -e/--error work

commit 60dd807b6c652cccc2065c69d4efa16ab5fcbe76
Merge: 376e24ad 3624a45d
Author: BsAtHome <bertho@vagrearg.org>
Date:   Fri Oct 9 15:47:30 2026 +0200

    Merge pull request #4637 from grandixximo/bldc-4625-comp-guard
    
    halcompile: allocate fake params for personality-masked params

commit 376e24adf3be0b6da4af8c2b63321a10960fcb49
Merge: 8f05c9d4 db154c41
Author: BsAtHome <bertho@vagrearg.org>
Date:   Fri Oct 9 15:43:16 2026 +0200

    Merge pull request #4654 from BsAtHome/fix_fc44-include-order
    
    emcmodule: Reorder include to prevent duplicate define error

commit db154c41b595967400416ef0b4f5d3f28900dd72
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Thu Oct 8 16:55:30 2026 +0200

    emcmodule: Reorder include to prevent duplicate define error

commit 8f05c9d47b3c97c2aaed37aedfbc60b58d41e02c
Merge: 46a388fd 0a1ef870
Author: andypugh <andy@bodgesoc.org>
Date:   Thu Oct 8 00:20:32 2026 +0100

    Merge pull request #4641 from LinuxCNC/andypugh/PR4519_followup
    
    Update MDI helpers for new D word in G33 and G76.

commit 46a388fd15a477b4bf2ce090919b0273074e7fc1
Merge: 7f67ef2e ba58691c
Author: Rene Hopf <renehopf@mac.com>
Date:   Wed Oct 7 11:28:14 2026 +0200

    Merge pull request #4649 from rene-dev/fix-msg2str-debug

commit ba58691c2125e3c4c816fccc8ab08cbb69db4157
Author: Rene Hopf <renehopf@mac.com>
Date:   Wed Oct 7 10:16:30 2026 +0200

    task: only call msg2str() when EMC_DEBUG_TASK_ISSUE is set
    
    0869c90e38 replaced the 'if (emc_debug & EMC_DEBUG_TASK_ISSUE)' guard
    around the 'Issuing ...' debug print with log_debug(), which checks the
    flag inside the function. Its arguments are evaluated before the call,
    so msg2str() ran for every issued command: it encoded the whole message
    to ASCII for nothing, and the first call built the CMS display-ASCII
    updater, whose constructor prints the CMS_DISPLAY_ASCII_UPDATER
    warning reported in #4627.
    
    Put the guard back.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

commit 0a1ef8706e7314d5673144a136d2ead80a677e1f
Author: andypugh <andy@bodgesoc.org>
Date:   Wed Oct 7 00:54:48 2026 +0100

    Fix formatting in mdi_text.py

commit 7f67ef2e45255b8a3610840ab7780d1b86a2568d
Merge: 3f156d1a 7855121d
Author: Rene Hopf <renehopf@mac.com>
Date:   Tue Oct 6 14:20:22 2026 +0200

    Merge pull request #4627 from rene-dev/nml-cleanup2
    
    Nml cleanup

commit 7855121d7f05f5d297df10d4846bc5bdf8331897
Author: Rene Hopf <renehopf@mac.com>
Date:   Tue Oct 6 13:44:52 2026 +0200

    remove unused NML messages
    
    Nothing in the tree sends any of these:
    
    - EMC_TOOL_HALT had no handler either.
    - EMC_TOOL_UNLOAD, EMC_TRAJ_ABORT, EMC_TRAJ_PAUSE and EMC_TRAJ_RESUME
      were handled by task, but no GUI, halui, linuxcncrsh or the Python
      and Tcl bindings ever sends them. GUIs pause and resume through
      EMC_TASK_PLAN_PAUSE/RESUME and abort through EMC_TASK_ABORT.
    
    emcTrajPause(), emcTrajResume() and emcTrajAbort() stay, task calls
    them itself. emcToolUnload() was only reachable through
    EMC_TOOL_UNLOAD and goes with it.
    
    An external program speaking NML directly that sends one of these will
    now get "ignoring issue of unknown command".
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

commit 4df0d4beaf3a74e410579304aa8299a2364a148c
Author: Rene Hopf <renehopf@mac.com>
Date:   Tue Oct 6 13:40:17 2026 +0200

    libnml: remove unused files
    
    Nothing in LinuxCNC reaches any of these; linking every libnml user
    with --gc-sections discards all of it.
    
    - cms/cmssvrp.cc, os_intf/inetnull.cc, os_intf/inetfile.hh: never
      built.
    - os_intf/timer.cc: RCS_TIMER, replaced by linuxcnc::CyclicTimer.
      timer.hh keeps the etime()/esleep() declarations libnml still uses.
    - cms/cms_pm.cc: CMS::update() for the POSEMATH types. The only one
      any message uses is PM_CARTESIAN (EMC_TRAJ_CIRCULAR_MOVE), which
      moves to cms.cc.
    - nml/nmldiag.cc, nml/nmldiag.hh: NML_DIAGNOSTICS_INFO::print() and
      nml_print_diag_list(), reachable only through the equally unused
      NML::get_diagnostics_info(), which goes too.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

commit 840126506df10bdba1c481887219089267daae72
Author: Rene Hopf <renehopf@mac.com>
Date:   Tue Oct 6 12:15:38 2026 +0200

    fixup! fix cppcheck

commit 7b22f3717b6483940dd56d4265c9054dc0325552
Author: Rene Hopf <renehopf@mac.com>
Date:   Tue Oct 6 12:15:38 2026 +0200

    fixup! replace rcs_print with libfmt, remove nml dependency from interplist

commit 0869c90e383a172ad303d182cf74eef1f4d354b0
Author: Rene Hopf <renehopf@mac.com>
Date:   Tue Oct 6 12:15:37 2026 +0200

    fixup! replace rcs_print with libfmt, remove nml dependency from interplist

commit b57499c08ae4fe8e40af61e55350507743b1fbd3
Author: Rene Hopf <renehopf@mac.com>
Date:   Sun Sep 20 17:27:37 2026 +0200

    fix cppcheck

commit 1ea510dce0095f8f0bdd016ba39ce17c0a6562fc
Author: Rene Hopf <renehopf@mac.com>
Date:   Sat Sep 19 20:24:58 2026 +0200

    replace rcs_print with libfmt, remove nml dependency from interplist

commit 0fb2cf2817da95b11c980af624bde581544cb83e
Author: andypugh <andy@bodgesoc.org>
Date:   Tue Oct 6 09:53:19 2026 +0100

    Fix syntax error in G33 command parameters

commit 2a1e2e60e1a65f7e03d0f344a9ed0c36a8a61ad5
Author: andypugh <andypugh@Geekom.bodgesoc.org>
Date:   Sun Oct 4 19:07:48 2026 +0100

    Update MDI helpers for new D word in G33 and G76. Also add $ for multi-spindle configs

commit 3624a45d68f4fc633676cda34ad68a0d147db51c
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Mon Oct 5 21:07:56 2026 +0800

    halcompile: allocate a fake param when personality masks a param
    
    A param masked out by personality was never allocated, so its accessor
    handle stayed NULL and reading it killed the realtime thread (#4625).
    Allocate a fake param in the personality else branch, per BsAtHome's
    review: the handle always points at HAL-owned storage, exported or
    not, and a masked param reads back zero.

commit e6ed165fb76d9d33ee654ca18ec3ca614867beb3
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Mon Oct 5 20:29:39 2026 +0800

    Revert "halcompile: back masked params with zeroed storage, warn on access"
    
    This reverts commit 3822d1e47864ad02732e74a2904ee562e872b29b.

commit 3f156d1a70f7c8750262d95c211af329e7ef1fb2
Merge: 929be84f e43723f5
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Mon Oct 5 08:39:24 2026 +0800

    Merge pull request #4519 from 85vmh/spindle_sync_motion_start_angle_control
    
    Add spindle angle offset (D word) for G33 and G76 threading

commit 929be84f2d21147774124432284d92ac586e868e
Merge: 5c18701b d0332262
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Oct 4 22:28:08 2026 +0100

    Merge pull request #4634 from grandixximo/sserial-globals-dup-check
    
    hostmot2: fix bounds of the sserial global duplicate check

commit 5c18701bf5ef270c897a0865b6df60a9275c965f
Merge: 7e57f5e3 2e1f94f6
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Oct 4 22:27:22 2026 +0100

    Merge pull request #4633 from grandixximo/sserial-hal-malloc-checks
    
    hostmot2: check hal_malloc results in sserial and abs_encoder setup

commit 7e57f5e3ca54df81c000aa170c56e8ab348e7bf4
Merge: f43ab823 603b30fd
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Oct 4 22:26:25 2026 +0100

    Merge pull request #4635 from grandixximo/sserial-encoder-h-pins
    
    hostmot2: use the H entry's pins for two-part sserial encoders

commit e43723f558cc47b51037f4ff6a132cb3adbd9c11
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Oct 4 19:10:53 2026 +0100

    Fix formatting of else statement in tp.c
    
    Typo when resolving conflicts

commit 70b93942a677ca1b08f54b0c909650b29b480ac7
Merge: dae3be85 f43ab823
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Oct 4 18:09:46 2026 +0100

    Merge branch 'master' into spindle_sync_motion_start_angle_control

commit f43ab823a401f4ebb2cb9e540ce243a9088a86bd
Merge: 0cd00073 3822d1e4
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Oct 4 17:14:20 2026 +0100

    Merge pull request #4626 from grandixximo/fix-4625-bldc-offset
    
    halcompile: back masked params with zeroed storage, warn on access

commit 0cd00073631b5880470757eeda4b0809c41f9eb6
Merge: 056f2fd8 284e4efd
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Oct 4 17:11:32 2026 +0100

    Merge pull request #4453 from grandixximo/g33-sync-origin
    
    tp: keep the G33 sync origin on the spindle index

commit d03322624e6c4ba4888e782347eb274de78b60bf
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun Oct 4 21:10:36 2026 +0800

    hostmot2: fix bounds of the sserial global duplicate check
    
    The loop that tells process records apart from globals ran with
    i <= num_confs, reading one entry past the confs array, and
    dereferenced chan->confs even when the remote has no process records
    at all (confs == NULL), crashing the driver load on such a device.
    Bound the loop to num_confs, which also skips it safely for a
    globals-only remote.

commit 2e1f94f6e2c579d7fcc37c6952796ed5b1e45bc1
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun Oct 4 21:10:36 2026 +0800

    hostmot2: check hal_malloc results in sserial and abs_encoder setup
    
    The load path dereferenced hal_malloc results without a check. On HAL
    shared-memory exhaustion, or on a garbage global/conf count read from
    an unresponsive remote, the next statement wrote through NULL and
    killed the loading process with no useful message. Fail with -ENOMEM
    and the channel name instead.

commit 603b30fd35c44c24ed0b644f56022a91219b21ca
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun Oct 4 21:10:36 2026 +0800

    hostmot2: use the H entry's pins for two-part sserial encoders
    
    LBP_ENCODER_L entries get no HAL pins, but the two-part Fanuc encoder
    reassembly fell through into the encoder body with whichever entry
    completed the pair. When a format lists the H part before the L part
    the body ran on the L entry's pins and dereferenced handles that were
    never created. Redirect the body to the matching LBP_ENCODER_H
    entry's pin set, and refuse the pair with an error when no H entry
    exists.

commit 3822d1e47864ad02732e74a2904ee562e872b29b
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun Oct 4 17:43:26 2026 +0800

    halcompile: back masked params with zeroed storage, warn on access
    
    A param masked out by personality is never exported, so its accessor
    handle stayed NULL; reading it dereferenced NULL and killed the
    realtime thread (#4625). Pre-conversion such params were plain struct
    fields and read back zero.
    
    Point each param's handle at a zeroed instance-local backing store
    before the guarded hal_param_new_*() call, restoring the old behavior.
    Reading 0 can hide a genuine logic error, so a personality-masked
    param also gets a masked flag, set when the export is skipped; the
    generated accessors print a one-time message naming the param on
    first access.
    
    Fixes #4625.

commit 056f2fd807fcc40178efcf680b3cc7d251d8bc1d
Merge: f7ccc4fc b4a4f1c6
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun Oct 4 12:38:17 2026 +0800

    Merge pull request #4628 from SyncTwin/synctwin/homing-dot-final-move
    
    docs: homing.dot: no HOME_DELAY before the final move

commit b4a4f1c6ccf681f617fc6b6e1f24bf87a527e26f
Author: yurc <yurik.x@gmail.com>
Date:   Sun Oct 4 06:35:09 2026 +0300

    docs: homing.dot: HOME_FINAL_MOVE_START does not wait HOME_DELAY
    
    Since the 2022 homing state-machine rework the HOME_FINAL_MOVE_START
    state plans the final move as soon as the joint has stopped (and, for a
    negative HOME_SEQUENCE, the other joints of the sequence are ready);
    there is no HOME_DELAY pause before it (src/emc/motion/homing.c, the
    timer branch of this state has no break). The diagram still showed
    'after HOME_DELAY' on that edge. Describe the actual behavior; no code
    change.
    
    See #4621.

commit b42a8cbb4a1b9888f781911316e0ea48299ac13b
Author: Rene Hopf <renehopf@mac.com>
Date:   Sat Sep 19 19:56:28 2026 +0200

    remove dependency on libnml string handling

commit 9dc6ac36f384ef83f665ff3368022de451609c1e
Author: Rene Hopf <renehopf@mac.com>
Date:   Sat Sep 19 19:13:27 2026 +0200

    remove unused libnml linkage from, motionlogger

commit f5c8ef9e008c129ceb693a9692c97a7a6c1f96e4
Author: Rene Hopf <renehopf@mac.com>
Date:   Sat Sep 19 19:12:31 2026 +0200

    replace libnml timing functions with std::chrono

commit 45f9e0ced8fd073961df2b07ce15c2d0adc98409
Author: yurc <yurik.x@gmail.com>
Date:   Sat Oct 3 20:40:26 2026 +0300

    linuxcnc_check_ini: make -e/--error work
    
    The option loop tested "-h" with a plain "if" after the "-e" branch, so
    "-e" fell through to the "else" and the script exited with
    "Unhandled option: '-e'" (exit code 2). Use "elif".
    
    Reproduce: linuxcnc_check_ini -e any.ini
      before: Unhandled option: '-e'
      after:  the INI file is checked and warnings are treated as errors.

commit f7ccc4fc9101c54cc074eacd410374c714fac8f5
Merge: c4e2e789 898e29a5
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Oct 2 00:59:28 2026 -0400

    Merge pull request #4611 from BsAtHome/hal64-halcmd-64-clean
    
    hal: Make halcmd 64-bit clean after HAL API break

commit c4e2e789bdfc17e41b3ee6571d1c6f7c1f967a2d
Merge: 87c20722 6d71648c
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Oct 2 00:59:23 2026 -0400

    Merge pull request #4610 from BsAtHome/hal64_components-64-clean
    
    hal: Make .comp components 64-bit clean after HAL API break

commit 87c2072252081f7f2411d9b4dc58592402ecc1ef
Merge: 9c9083cb aa9f52fc
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Oct 2 00:59:18 2026 -0400

    Merge pull request #4609 from BsAtHome/hal64_drivers-64-clean
    
    hal: Make hal_gm and hal_ppmc drivers 64-bit clean after HAL API break

commit 9c9083cbce2e34cb4eacc758005b2238a28ea4b9
Merge: eb82097a 386f49fb
Author: c-morley <c-morley@users.noreply.github.com>
Date:   Thu Oct 1 11:41:20 2026 -0700

    Merge pull request #4607 from grandixximo/qtvcp-preview-offsets
    
    qtvcp: write the var file before reloading the preview on offset changes

commit aa9f52fc6fa499ebd457fc5fe4dbd2917bff0b35
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Wed Sep 30 21:41:39 2026 +0200

    hal: Make hal_gm and hal_ppmc drivers 64-bit clean after HAL API break.

commit eb82097af8423037c2647ee2395d4beeaf596526
Merge: 703b666d 2656c7f2
Author: Greg Carl <26096779+snowgoer540@users.noreply.github.com>
Date:   Wed Sep 30 20:29:55 2026 -0400

    Merge pull request #4592 from LinuxCNC/pr-qtplasmac-dual-code
    
    qtplasmac: fix dual-code button's optional inidicator

commit 898e29a5a61ae9d23d5ac633ed970f8ee5b6649f
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Wed Sep 30 22:11:07 2026 +0200

    hal: Make halcmd 64-bit clean after HAL API break.

commit 6d71648c328553c3e281b746d70419f3d938cc85
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Wed Sep 30 21:47:48 2026 +0200

    hal: Make .comp components 64-bit clean after HAL API break.

commit 703b666d5db2db52b6a790a6afa1d4b498609634
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Sep 30 15:15:59 2026 -0400

    docs: fix pin/param documentation errors found by a docs-vs-code sweep (#4606)
    
    * docs: fix leftover old/wrong HAL type names in hy_vfd.1 and demux_generic.9
    * docs: correct rtcomps component reference against current sources
    * docs: fix pin/param errors in driver docs verified against sources
    * docs: fix man1 pin errors and omissions found by docs/code sweep
    * docs: fix halmodule.adoc table column count
    * docs: fix pin errors in hostmot2/sserial/hm2_eth man pages
    * docs: rename old HAL type names in hostmot2/sserial/hm2_eth man pages
    * docs: normalize type/dir tag style in hostmot2 and sserial man pages
    * docs: state prefixes once and use relative pin names in hostmot2 and sserial man pages
    * docs: unify prefix specification markup in hostmot2 and sserial man pages
    * docs: drop unbalanced closing bold markers after italic placeholders

commit 0c329cd40ec73b50c28daf02fe15f3aeff5e335a
Merge: 563ae1c6 813f0ffc
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Sep 30 11:06:23 2026 -0400

    Merge pull request #4608 from grandixximo/nutating-kins-type2
    
    xyzacb_trsrn, xyzbca_trsrn: declare the tool kinematics type

commit 813f0ffc5c365f78a099dd0dabc62f3f6fdb1f05
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Oct 1 00:32:30 2026 +1000

    switchkins docs: kinematicsTypeFlags() must cover every kinstype a module switches to
    
    A module that implements kinematicsTypeFlags() itself returns -1 only for kinstypes it does not provide, since G12.1 refuses those; the header and the switchable kinematics chapter now say so.

commit 94c7cf7c75e691ad1005f56ad1dc36a5d29260d7
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Oct 1 00:15:33 2026 +1000

    xyzacb_trsrn, xyzbca_trsrn: declare the tool kinematics type
    
    Both modules switch to a type 2, the tool kinematics the nutating TWP sims select with G12.1 P2 from their G53.n remap, but kinematicsTypeFlags() declared only types 0 and 1. The interpreter reads -1 as a type the module does not provide and refuses G12.1 P2, so every G53.1, G53.3 and G53.6 in those sims failed. Type 2 now returns 0: provided, neither identity nor primary.
    
    The preview's SELECT_KINS_TYPE printed a line on every call, which floods the terminal once a program switches kinematics in a loop; it is now a silent stub like the other canon calls the preview ignores.
    
    Reported by Sigma1912.

commit 2656c7f248613383c0653087da4cf3e090c65000
Author: Greg Carl <26096779+snowgoer540@users.noreply.github.com>
Date:   Sun Sep 27 12:25:41 2026 -0400

    qtplasmac: fix dual-code button's optional inidicator
    
    Previously this  used "setCheckable", but user button actions are based on "pressed" and "released", and checkable works from "clicked". Since the GUI was also toggling setChecked, it created a race.  Allowing qt to determine whether or not it was to be checked or not also did not work reliably.  Changed to manually handling the button's sytling which is congruent with what is done elsewhere in the GUI very reliably.

commit 563ae1c6beea559b5cdf3c4c8e958cd9f040145f
Merge: 66c2b1b4 54c6f6b3
Author: BsAtHome <bertho@vagrearg.org>
Date:   Tue Sep 29 21:20:22 2026 +0200

    Merge pull request #4605 from grandixximo/halui-mdi-restore-race
    
    halui: clear the MDI flag in the same pass that restores the mode

commit 386f49fb664b3b9ad99ad838bdaceae593b4505e
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Sep 29 22:24:57 2026 +1000

    qtvcp: write the var file before reloading the preview on offset changes
    
    The preview reads offsets from the var file, which the interpreter only writes when it synchs. Offset actions reloaded before that happened: the CALL_MDI ones did not wait for the MDI, and the others had no mode change to trigger the write when already in MDI mode.
    
    Run them through one helper that waits, requests a plan synch, restores the previous mode and reloads.

commit 66c2b1b4b5c1cf1df271444919c423ce6ddc7cd1
Merge: e7e2c5d8 1458d97b
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Sep 29 21:25:57 2026 +1000

    Merge pull request #4602 from BsAtHome/fix_cppcheck-2.19
    
    cppcheck: Fix problems that are detected with cppcheck 2.19+

commit e7e2c5d829c8635b794006de0e0745b2e62efff8
Merge: ab5c2db9 183c2802
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Sep 29 20:28:38 2026 +1000

    Merge pull request #4596 from BsAtHome/hal64_update-docs
    
    docs: Update to reflect the HAL API changes

commit ab5c2db9cb4474fcb0ebd693cbf0a46ca906bc21
Merge: 60478a29 7923fdc3
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Sep 29 20:26:26 2026 +1000

    Merge pull request #4599 from BsAtHome/hal64_update-man9
    
    docs: Update man9 pages to reflect the HAL API changes.

commit 60478a29254d309ff407528bc52e22cd8717f054
Merge: 5a08c14b 572949c6
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Sep 29 20:26:12 2026 +1000

    Merge pull request #4597 from BsAtHome/hal64_update-man1
    
    docs: Update man1 pages to reflect the HAL API changes.

commit 572949c631c7c91e538ddf3434b6831e9ab178f4
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Mon Sep 28 12:31:29 2026 +0200

    docs: Update man1 pages to reflect the HAL API changes.

commit 7923fdc32e56ee07115e960945e428a96a04ac0f
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Mon Sep 28 12:43:36 2026 +0200

    docs: Update man9 pages to reflect the HAL API changes.

commit 5a08c14ba8bcb660d9dca1d24c59c6e164a8a351
Merge: 8d3e540a bb026d4c
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Sep 29 17:06:12 2026 +1000

    Merge pull request #4598 from BsAtHome/hal64_update-man3
    
    docs: Update man3 pages after uses_fp arg was removed in HAL API changes

commit 54c6f6b338cf416de25a65fef26affac01a61d2c
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Sep 29 11:45:51 2026 +1000

    halui: clear the MDI flag in the same pass that restores the mode
    
    When a halui MDI command finishes, modify_hal_pins() restores the Task mode that was active before it, then clears halui_sent_mdi. Both steps tested emcStatus->status == DONE separately, but the restore goes through emcCommandSend(), which refreshes emcStatus while it waits for the echo. If Task echoes the restore while still reporting EXEC, the restore fires and the clear is skipped.
    
    The stale flag makes the next sendMdiCommand() keep the old halui_old_mode instead of recording the current mode, so halui later restores the wrong mode. In tests/halui/mdi this shows up as "timeout waiting for task mode to get to 3 (it's 2)" (reported by Bertho in #4604) or "get to 2 (it's 1)", depending on which restore the Task stall hits.
    
    Take the DONE decision once, before the restore, and use it for both steps.

commit 8d3e540accaefb6541d414eb946babbb7d3b46c6
Merge: 49119ab8 085f656c
Author: BsAtHome <bertho@vagrearg.org>
Date:   Mon Sep 28 22:26:59 2026 +0200

    Merge pull request #4593 from grandixximo/halmodule-port-read
    
    halmodule: fix inverted success check in port read() and peek()

commit 183c28026519b8b2a9d7f47c587b8830b41c1aca
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Mon Sep 28 12:16:40 2026 +0200

    docs: Update to reflect the HAL API changes.

commit bb026d4c9662199aa08ff0a12a2d7a5496701bf3
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Mon Sep 28 12:35:27 2026 +0200

    docs: Update man3 pages after uses_fp arg was removed in HAL API changes.

commit 1458d97bcd70e199a3407ac4bf4cd6a50bcf9eda
Author: Bertho Stultiens <bertho@vagrearg.org>
Date:   Mon Sep 28 14:24:15 2026 +0200

    cppcheck: Fix problems that are detected with cppcheck 2.19+.

commit 085f656c20bfa338796e6e1c4cb1144e2aa0711f
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Mon Sep 28 16:52:05 2026 +1000

    halmodule: fix inverted success check in port read() and peek()
    
    hal_port_read() and hal_port_peek() return true when the bytes were copied. The check was inverted, so a successful read or peek returned False, and read() had already consumed the data. Add tests/halmodule/port covering write, peek, peek_commit and read.

commit 284e4efd3acd8f60f862398d2e9624daf44973c8
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun Aug 23 12:56:43 2026 +1000

    tp: keep the G33 sync origin on the spindle index
    
    When the axis reached synchronized velocity the position-sync loop moved the sync origin to wherever the axis had got to, folding the lead-in ramp lag into the thread's phase. That lag grows with the square of the spindle speed, so the same thread cut at a different RPM landed at a different Z (issue #3455).
    
    Leave the origin at the index and let the tracking loop close the error instead, and warn when the segment is too short for it to do so.
    
    The Technical Info block in the G33 docs described a start point worked out from the spindle speed and the acceleration limits, which the planner never did. It now describes what the planner does, and what lead-in the move needs.
    
    Measured on a sim lathe, K0.1 in/rev, three G33 passes at 240/960/240 rpm in one program. Z offset from the ideal thread was 0.039/0.405/0.039 mm before and is 0.005/0.020/0.005 mm after, so the shift between the two speeds drops from 0.366 mm to 0.015 mm. The residual is half a servo cycle of travel and is linear in speed.

commit dae3be85e1cc2abaf519ae27a26666d4836e5bfd
Author: 85vmh <vasimihalca@gmail.com>
Date:   Sat Sep 12 20:52:51 2026 +0200

    Add spindle angle offset (D word) for G33 and G76 threading
    
    Why
    ---
    Spindle synchronized motion always starts at the spindle index pulse, so every
    threading pass begins at the same angular position. Cutting a multi-start thread
    means starting successive passes at a fixed angle past the index instead, and
    there was no way to ask for that.
    
    D on G33 and G76 now gives that start angle in degrees. The synchronized move is
    held at rest after the index until the spindle has turned through it. D is
    optional and defaults to zero, which is the existing behaviour of starting at the
    index pulse; a two-start thread is cut by running the program twice, with D0 and
    D180.
    
    What changed
    ------------
    Interpreter: interp_check.cc accepts D on G33 and G76, which previously rejected
    it as "D word with no G41 ... to use it". convert_straight() and
    convert_threading_cycle() read it and pass it to the canon layer. A negative D is
    taken as its magnitude rather than rejected -- the value is a delay past the
    index and has no direction.
    
    Canon and NML: START_SPEED_FEED_SYNCH() gains an angle_degrees parameter,
    defaulted to 0.0 so the interface and its non-task implementations stay source
    compatible. EMC_TRAJ_SET_SPINDLESYNC carries angular_offset_degrees, which
    reaches the planner through emcTrajSetSpindleSync() and EMCMOT_SET_SPINDLESYNC.
    
    Planner: tpSetSpindleSync() converts degrees to revolutions once and stores it in
    tp->spindle.pending_offset; tcSetupState() copies that into each TC as it is
    queued, so the passes of a G76 cycle each carry their own value rather than
    reading whatever the TP holds when they run. The hold itself is in
    tpSyncPositionMode(): spindle.revs resets to 0 at the index pulse, so while it is
    below the requested offset the move is held at target_vel 0. On reaching the
    angle, spindle.offset is set to the current revs so position mode starts tracking
    from zero error there. tpCheckAtSpeed() skips the sync_accel ramp when an offset
    is requested, because that ramp exists to catch the axis up to an already-turning
    spindle, which is what the hold is there to prevent.
    
    The hold is scoped to one index pulse by tp->spindle.angle_hold_pending, armed
    where the index wait is armed and cleared once the angle is reached. This matters
    for G76 with an entry taper: such a pass emits three synchronized moves, all
    carrying the same angle_offset, and only the first of them follows an index
    pulse. Without the flag the later segments also reset spindle.offset, discarding
    the value tpCompleteSegment() accumulates and shifting the thread phase part way
    through a pass.
    
    Compatibility: the canon signature change is a break in the public interface
    tests/interp/compile guards, so use-rs274.cc is updated -- per that test's README
    this is noted deliberately. canonmodule.cc spells out its argument list so the
    C++ default survives into Python; a bare function pointer would have made the new
    argument mandatory and broken every existing three-argument caller.
    
    Docs: the D word is documented for both G33 and G76, including that it defaults
    to zero, that a negative value is used as its magnitude, and that values of 360
    or more are not reduced. The letter table in overview.adoc gains the second
    meaning of D. A note under G33 Technical Info records that a D offset holds the
    axis at rest instead of using the usual post-index acceleration compensation.
    
    Testing
    -------
    tests/interp/g76-d-word (new) runs the interpreter over G33 and G76 with no D,
    with D, and with a negative D, and checks what reaches the canon layer. saicanon
    prints the angle only when one was asked for, so the expected output of the
    existing g33.1 and g76 tests is unchanged.
    
    tests/motion/spindle-angle-offset (new) runs a sim machine with sim_spindle,
    whose index pulse resets spindle.0.revs -- the same reset D is measured against.
    It samples Z, X, revs and the index pin every servo period and checks that G33
    without D starts at the index, that D180 waits half a turn longer, that D-180
    behaves identically to D180, that a G76 cycle with D180 starts half a turn later
    than an otherwise identical cycle without it, and that both G76 cycles still cut
    the programmed pitch. Each angle check is a difference between two passes,
    because detecting that the tool has started moving costs a fixed amount of
    rotation that only cancels that way.
    
    The new test was confirmed to fail when the hold is disabled. tests/interp and
    tests/motion pass in full, 90 tests, with tests/interp/compile skipped as it
    already was.
    
    Not covered by the tests
    ------------------------
    The segment scoping described above is not caught by any automated test. It was
    confirmed by restoring the unscoped version and rerunning: the test still passes,
    because core_sim.hal feeds motor-pos-cmd straight back as motor-pos-fb, so the
    simulated axis tracks perfectly and the discrepancy the fault feeds on is
    essentially zero. Reproducing it needs a machine, or a sim with a servo model
    that has real following error. Reviewers with a lathe are asked to look at a
    G76 pass with an entry taper (L1 or L3) and a D word.
    
    tests/interp/compile is still disabled and still does not link, for the unrelated
    and pre-existing reason that it is also missing SET_MOTION_CONTROL_MODE. Only the
    START_SPEED_FEED_SYNCH signature was brought up to date here.
    
    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Created: 2025-03-16 Last update: 2026-10-09 18:02
testing migrations
  • This package is part of the ongoing testing transition known as boost1.92. Please avoid uploads unrelated to this transition, they would likely delay it and require supplementary work from the release managers. On the other hand, if your package has problems preventing it to migrate to testing, please fix them as soon as possible. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.
  • excuses:
    • Migration status for linuxcnc (- to 1:2.9.9-2): BLOCKED: Rejected/violates migration policy/introduces a regression
    • Issues preventing migration:
    • ∙ ∙ Updating linuxcnc would introduce bugs in testing: #1089809, #1143333
    • ∙ ∙ New but not reproduced on amd64 - info: linuxcnc-doc-de, linuxcnc-doc-en, linuxcnc-doc-es, linuxcnc-doc-fr, linuxcnc-doc-zh-cn, linuxcnc-uspace
    • ∙ ∙ New but not reproduced on arm64 - info: linuxcnc-doc-de, linuxcnc-doc-en, linuxcnc-doc-es, linuxcnc-doc-fr, linuxcnc-doc-zh-cn, linuxcnc-uspace
    • ∙ ∙ New but not reproduced on armhf - info: linuxcnc-doc-de, linuxcnc-doc-en, linuxcnc-doc-es, linuxcnc-doc-fr, linuxcnc-doc-zh-cn, linuxcnc-uspace
    • ∙ ∙ New but not reproduced on i386 - info: linuxcnc-doc-de, linuxcnc-doc-en, linuxcnc-doc-es, linuxcnc-doc-fr, linuxcnc-doc-zh-cn, linuxcnc-uspace
    • Additional info (not blocking):
    • ∙ ∙ Piuparts tested OK - https://piuparts.debian.org/sid/source/l/linuxcnc.html
    • ∙ ∙ Autopkgtest for linuxcnc/1:2.9.9-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Pass
    • ∙ ∙ Required age reduced by 3 days because of autopkgtest
    • ∙ ∙ 103 days old (needed 2 days)
    • Not considered
news
[rss feed]
  • [2026-06-30] Accepted linuxcnc 2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u2 (source) into oldstable-proposed-updates (Debian FTP Masters) (signed by: Petter Reinholdtsen)
  • [2026-06-30] Accepted linuxcnc 1:2.9.4-2+deb13u1 (source) into proposed-updates (Debian FTP Masters) (signed by: Petter Reinholdtsen)
  • [2026-06-28] Accepted linuxcnc 1:2.9.9-2 (source) into unstable (Petter Reinholdtsen)
  • [2026-06-27] Accepted linuxcnc 1:2.9.9-1 (source) into unstable (Petter Reinholdtsen)
  • [2026-01-25] linuxcnc REMOVED from testing (Debian testing watch)
  • [2025-11-11] linuxcnc 1:2.9.7-1 MIGRATED to testing (Debian testing watch)
  • [2025-11-03] Accepted linuxcnc 1:2.9.7-1 (source) into unstable (andypugh) (signed by: Steffen Moeller)
  • [2025-05-20] linuxcnc 1:2.9.4-2 MIGRATED to testing (Debian testing watch)
  • [2025-04-13] Accepted linuxcnc 1:2.9.4-2 (source) into unstable (Steffen Moeller)
  • [2025-03-15] Accepted linuxcnc 1:2.9.4-1 (source) into unstable (Steffen Moeller)
  • [2025-03-11] linuxcnc REMOVED from testing (Debian testing watch)
  • [2025-01-31] linuxcnc 2.9.3-2 MIGRATED to testing (Debian testing watch)
  • [2025-01-27] Accepted linuxcnc 2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u1 (source) into proposed-updates (Debian FTP Masters) (signed by: Petter Reinholdtsen)
  • [2025-01-26] Accepted linuxcnc 2.9.3-2 (source) into unstable (Petter Reinholdtsen)
  • [2025-01-20] linuxcnc REMOVED from testing (Debian testing watch)
  • [2024-07-09] linuxcnc 2.9.3-1 MIGRATED to testing (Debian testing watch)
  • [2024-07-07] Accepted linuxcnc 2.9.3-1 (source) into unstable (Petter Reinholdtsen)
  • [2023-12-28] linuxcnc REMOVED from testing (Debian testing watch)
  • [2023-11-06] Accepted linuxcnc 2.9.1-2 (source) into unstable (Steffen Moeller)
  • [2023-10-26] Accepted linuxcnc 2.9.1-1 (source) into unstable (Andy Pugh) (signed by: Steffen Moeller)
  • [2023-02-13] linuxcnc 2.9.0~pre1+git20230208.f1270d6ed7-1 MIGRATED to testing (Debian testing watch)
  • [2023-02-10] Accepted linuxcnc 2.9.0~pre1+git20230208.f1270d6ed7-1 (source) into unstable (Sebastian Kuzminsky) (signed by: Petter Reinholdtsen)
  • [2022-11-11] linuxcnc 2.9.0~pre0+git20221105.ffb6bda926-1.2 MIGRATED to testing (Debian testing watch)
  • [2022-11-08] Accepted linuxcnc 2.9.0~pre0+git20221105.ffb6bda926-1.2 (source) into unstable (Petter Reinholdtsen)
  • [2022-11-08] Accepted linuxcnc 2.9.0~pre0+git20221105.ffb6bda926-1.1 (source) into unstable (Petter Reinholdtsen)
  • [2022-11-06] Accepted linuxcnc 2.9.0~pre0+git20221105.ffb6bda926-1 (source) into unstable (Sebastian Kuzminsky) (signed by: Petter Reinholdtsen)
  • [2022-09-12] linuxcnc 2.9.0~pre0+git20220906.02744cdef6-1 MIGRATED to testing (Debian testing watch)
  • [2022-07-15] linuxcnc 2.9.0~pre0+git20220402.2500863908-4 MIGRATED to testing (Debian testing watch)
  • [2022-07-14] linuxcnc REMOVED from testing (Debian testing watch)
  • [2022-07-14] linuxcnc REMOVED from testing (Debian testing watch)
  • 1
  • 2
bugs [bug history graph]
  • all: 10
  • RC: 2
  • I&N: 5
  • M&W: 3
  • F&P: 0
  • patch: 1
links
  • homepage
  • lintian (1, 55)
  • buildd: logs, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
  • l10n (-, 9)
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 1:2.9.4-2ubuntu4
  • 2 bugs
  • patches for 1:2.9.4-2ubuntu4

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing