Debian Package Tracker
Register | Log in
Subscribe

linuxcnc

Choose email to subscribe with

general
  • source: linuxcnc (main)
  • version: 1:2.9.7-1
  • maintainer: LinuxCNC Developers (DMD)
  • uploaders: Sebastian Kuzminsky [DMD] – Jeff Epler [DMD] – Andy Pugh [DMD]
  • arch: all any
  • std-ver: 4.7.2
  • 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+deb12u1
  • stable: 1:2.9.4-2
  • unstable: 1:2.9.7-1
versioned links
  • 2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1:2.9.4-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1:2.9.7-1: [.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 (5 bugs: 1, 3, 1, 0)
  • linuxcnc-uspace-dev
action needed
Debci reports failed tests high
  • unstable: pass (log)
    The tests ran in 0:01:49
    Last run: 2026-05-31T01:44:49.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:29
    Last run: 2025-11-09T07:26:19.000Z
    Previous status: unknown

Created: 2026-01-31 Last update: 2026-06-08 23:31
A new upstream version is available: 2.9.8 high
A new upstream version 2.9.8 is available, you should consider packaging it.
Created: 2026-02-19 Last update: 2026-06-08 18:30
lintian reports 1 error and 51 warnings high
Lintian reports 1 error and 51 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2023-10-30 Last update: 2026-05-27 03:01
The package has not entered testing even though the delay is over normal
The package has not entered testing even though the 5-day delay is over. Check why.
Created: 2026-04-13 Last update: 2026-06-09 00:01
1 bug tagged patch in the BTS normal
The BTS contains patches fixing 1 bug, consider including or untagging them.
Created: 2026-06-02 Last update: 2026-06-08 23: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-06-08 21:30
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~pre1, 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 f108dbd3c96e6a7cede75e04c6ae0843eef9eb8b
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Mon Jun 8 00:00:03 2026 +0200

    halscope: init "saved_vert_offset"
    
    Addition to #4128 because of #3722

commit 5235a84f0042a45876d663cdf06b1ae0c36205dc
Merge: 59697b01 c7b37d0f
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Sun Jun 7 23:24:19 2026 +0200

    Merge branch '2.9'

commit 59697b019a5cc12009987a510c7826f6b9d543b3
Merge: 4d0eeed8 2c61f67a
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Sun Jun 7 23:00:50 2026 +0200

    Merge pull request #4131 from grandixximo/touchy-fit-monitor
    
    touchy: fit the window to the monitor

commit 4d0eeed810e99071631d1c13e24c55998efbaa77
Merge: 58c57257 550d7e7b
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Sun Jun 7 18:46:29 2026 +0200

    Merge remote-tracking branch 'weblate/weblate-linuxcnc-linuxcnc-docs'

commit 58c57257300b22f7657a4ee796c7c4b4562f3706
Merge: ae8b38d7 fc2ab34e
Author: BsAtHome <bertho@vagrearg.org>
Date:   Sun Jun 7 17:01:19 2026 +0200

    Merge pull request #4110 from grandixximo/docs/render-en-from-build
    
    docs(build): render English and .dot SVGs into build/, keep docs/src clean

commit ae8b38d75be5a4de9f290f58d16389c1d3682041
Merge: cfa3a17b 04ef38c4
Author: BsAtHome <bertho@vagrearg.org>
Date:   Sun Jun 7 15:39:42 2026 +0200

    Merge pull request #4119 from hdiethelm/cppcheck_fail
    
    CI: Fail on cppcheck.sh error

commit fc2ab34ec04f3a1995bd9be9528d983898967926
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Mon Jun 1 11:12:14 2026 +0800

    docs(build): render .dot SVGs into build/, drop them from src
    
    The .dot diagrams under docs/src/code/ rendered their SVGs beside the
    sources; route them into build/adoc/en/<topic> instead, so docs/src holds
    no generated artifacts. The translated image-copy steps source images from
    src, so fall back to the English build tree for the generated SVGs. Drops
    the six src/code/*.svg entries from docs/.gitignore.

commit c774b793f96eeed9353e5a5c2de8624acc0869b7
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Mon Jun 1 10:17:31 2026 +0800

    docs(build): render English from build/adoc/en, keep docs/src clean
    
    Per review (BsAtHome): generated files should not live in the source tree.
    The English docs now render from build/adoc/en, the same model the
    translations already use, instead of from docs/src.
    
    - Stage the English .adoc + images + code fixtures (e.g. panelui_handler.py)
      into build/adoc/en via a find|tar copy (no rsync dependency).
    - Generate components_gen.adoc straight into build/adoc/en/hal and point its
      po4a master there (po4a.cfg only; msgids unchanged, so no pot/po churn).
    - Repoint the English HTML and PDF rules, the html-copy step, and the
      dependency extractor at build/adoc/en.
    
    docs/src no longer accumulates components_gen.adoc or per-topic .html;
    docs/.gitignore drops those entries.  The .dot-rendered SVGs are still
    generated in src/code and staged across (a follow-on moves their generation
    into build too).
    
    Validated with a full English htmldocs build (585 pages, no include errors).
    PDF and translated builds still to be verified.

commit cfa3a17b4185f784718aee1fa8ba8bf23f8f11a9
Merge: 5f10ab74 0b937cb5
Author: BsAtHome <bertho@vagrearg.org>
Date:   Sun Jun 7 15:05:03 2026 +0200

    Merge pull request #4113 from grandixximo/docs/topbar-greyout-on-build
    
    docs(html): KiCAD-inspired topbar, side TOC, language switcher, admonition tints

commit 2c61f67aafb67529c46b01f5e396fbcd34e1d8f4
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sat Jun 6 17:41:41 2026 +0800

    touchy: fix resize, startup tab, drag-to-scroll, listing click error
    
    - Window is now resizable smaller than screen (scroller max-content
      bounds the top end; min stays 0).
    - Startup tab restored correctly after page-wrapping loop shifted it.
    - Each page scroller accepts drag-to-pan (finger or mouse, 8px
      threshold so button taps are unaffected).
    - Fix pre-existing TypeError in listing.on_select: button_release_event
      passes (widget, event) but signature accepted only one argument.

commit 58331c79ca1b284e752f0ffe2c196b8d4ab29888
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Jun 5 13:35:42 2026 +0800

    touchy: fit the window to the monitor
    
    Touchy has no scrolling, so when content is larger than the display the
    window grows past the screen edge and controls become unreachable. The
    worst offender is structural: a GtkNotebook sizes to its largest page,
    so the small visible page (the buttons) was forced as wide as the hidden
    Preferences page, and the tall tool-table listing grew the window on
    reload.
    
      - Wrap each notebook page in a scroller, so the notebook sizes to the
        current page and oversized pages (Preferences, a long tool table)
        scroll instead of growing the window. This alone keeps the height in
        check and cuts the width from 1346 to 1094 px.
      - Wrap the whole window in a scroller and bound it to the monitor work
        area, so it can never exceed the screen.
      - Hide the handwheel column on the Preferences tab (you are not jogging
        there) so the wide settings page gets the full width.
      - When the content still does not fit a narrow screen, float a
        non-modal info bar over the content offering to shrink the fonts:
        Shrink to fit and save / Not now / Never ask again. Accepting scales
        to the largest fitting size, rounds to whole points, saves them, and
        updates the pickers to match. It is only shown when it does not fit
        and never repeated once it fits; Not now is remembered per screen
        size (fit_skip_size) so it is not offered again until the screen
        changes, and Never ask again (fit_fonts) disables it entirely.
      - Add an 'Offer to shrink fonts to fit the screen' checkbox to
        Preferences / Display Options to re-enable the offer after Never ask
        again, and document the behaviour.

commit 04ef38c40959ceaa10fe9a738b521978adca5f37
Author: Hannes Diethelm <hannes.diethelm@gmail.com>
Date:   Wed Jun 3 20:54:02 2026 +0200

    CI: Split into shell- and cppcheck job / fail on cppcheck
    
    Now if one fails, you have still the result from the other.

commit 60b0e7bc84b7e1435cb2ad79cbf09e7bbefac4c1
Author: Hannes Diethelm <hannes.diethelm@gmail.com>
Date:   Wed Jun 3 19:00:28 2026 +0200

    cppcheck.sh: Return 1 on error, so CI fails
    
    Also add a message at the end, so it is clearly visible if it is good or
    not.

commit 5f10ab741d1330f67055c6bdb8ecbf0fa37257b2
Merge: ca660748 566e655f
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 10:36:09 2026 +0100

    Merge pull request #4098 from Sigma1912/fix_g52_g92_reset_on_m2
    
    fix(interp): reset G52/G92 offsets on prog_stop when DISABLE_G92_PERSISTENCE=1

commit 0b937cb5f72c4cac5a4f4b703a2096f7dc8c7fa5
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Jun 5 19:57:51 2026 +0800

    docs: inset admonition icon mask so its top is not clipped

commit cf8ec666c22aaed8ab621c2652225069e74c5320
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Jun 5 18:47:26 2026 +0800

    docs: strip asciidoctor index terms from sidebar titles

commit 5924d63c2ac3d65b19a0f4a009c27fb4832d8ad0
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Jun 5 16:25:25 2026 +0800

    docs: restore page and sidebar scrollbars via scrollbar-color

commit db32422e122d4bc383f695876f0e11525095738a
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Jun 5 08:51:19 2026 +0800

    docs: white-back PNG figures in dark mode too
    
    Transparent black-line PNG diagrams vanished on the dark page; only SVGs
    got a white backing. Back every figure with white (opaque screenshots
    cover it, so no frame); keep the padded white card for SVGs.

commit f4889b592afbb042f2e375d82ae63d25f360d828
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Jun 5 08:47:50 2026 +0800

    docs: inject sidebar on English-only builds too
    
    The whole-document sidebar and topbar were only injected when
    BUILD_DOCS_TRANSLATED=yes, so an English-only build produced pages with
    no navigation at all. The sidebar is derived from the Master_*.adoc
    structure and is language-independent, so gate the post-processor on
    BUILD_DOCS_HTML instead; with no languages the switcher and banner just
    go idle. The post-processor now also accepts an empty language list.

commit 16b7dfa3d74e928c519cf07a4b24624262eca99e
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Jun 5 08:47:36 2026 +0800

    docs: SVG admonition icons tinted per type
    
    Replace the unicode-glyph admonition icons (font-dependent, often not
    rendered) with Bootstrap Icons drawn as a CSS mask, painted with each
    block's own colour so they tint per type in both themes. The word label
    is kept off-screen as the accessible text. Adds the five SVGs to the
    shared HTML assets and an Expat copyright stanza.

commit 6f2dafb021bc28d675ed3b2eee9592e49e98fded
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 20:30:00 2026 +0800

    docs: active TOC page toggles its own sections inline
    
    The active page is now the disclosure itself: its name is the summary
    that folds its section list, instead of a separate "On this page"
    block. Match summary size to the sibling links.

commit 00ad58c370f394694f22a3f046744df363b1af07
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 19:52:32 2026 +0800

    docs: fold the nav tree down to the active page
    
    Expand only the branch leading to the current page instead of the whole
    book, and put the page's own section list in a collapsed "On this page"
    details, so sibling pages in the section stay visible.

commit 602dc0a2cb52e25203ae0798111e80ee8df6fae1
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 19:50:37 2026 +0800

    docs: point the topbar logo at the current language's home
    
    The logo linked to the generic index.html, which always redirects to
    English; on a translated page that silently dropped the language.  The
    post-processor now retargets it to <lang>/index.html.

commit b2db6c4c1fa4d681e742eb1bc3ac55271e5b9263
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 19:28:40 2026 +0800

    docs: keep the HTML doc build idempotent
    
    The lang-switcher post-processor rewrites every generated HTML page in
    place as the final step, which bumped their mtimes past three stamps that
    had consumed the same files earlier in the build.  A second make then
    re-fired the image copy, the shared-asset copy and the complist stamp (and
    the .htmldoc-stamp / checkref that depend on it), so the build never
    settled.
    
    - .html-images-stamp now depends on .lang-switcher-stamp, so it reads the
      final post-processed HTML and stays newer than it.
    - .copy-asciidoc-stamp's gcode.html dependency and .gen_complist-stamp's
      MAN_HTML_TARGETS dependency become order-only: both only need the files
      built, not their (later-rewritten) content.
    
    A second and third make are now true no-ops.

commit 6809642a1813c04433e0b50c02d8eec7b142a32a
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 15:18:29 2026 +0800

    docs: move site links into the topbar
    
    Add the LinuxCNC site links (Home, Wiki, Forum, Source, G-Code reference)
    centred in the topbar so they are reachable from every page, and drop the
    duplicate block from the landing page.

commit 43bc9aa4448443ea2a149393a3807be328db1bb2
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 14:38:35 2026 +0800

    docs: whole-document TOC tree in left sidebar
    
    Build a nested nav tree from the Master_*.adoc structure and inject it at
    the top of asciidoctor's left TOC (no JS, native <details>). Each page gets
    the tree with its branch expanded, its entry active, and its own section
    list nested under it. Section-less pages get a scaffolded sidebar. CSS-drawn
    markers override asciidoctor's absolute summary marker so they stay in flow.

commit 0c5ad89d29c8f5a1ebb57278e3c39ca6849be88a
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 09:57:00 2026 +0800

    docs: per-page translation banner instead of greying switcher
    
    Drop the POKEEP percent-threshold hiding: every present translation
    stays clickable; the switcher only greys a target that does not exist.
    A page below 100% now carries a no-JS banner below the topbar stating
    its completeness, tinted red(0%) to green(100%).

commit 844514f632af11822f984cb02ace791509cd1bce
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 08:43:08 2026 +0800

    docs: read switcher labels from lang-labels file, not Submakefile
    
    Move the native language display names out of the makefile into
    docs/src/lang-labels (tag<ws>name).  A language in po4a.cfg without an
    entry falls back to its tag with a make warning.

commit 7a8371e80733805dfc0c3d2637579eb1e568207b
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 31 10:18:37 2026 +0800

    docs(html): KiCAD-inspired topbar, side TOC, language switcher, admonition tints
    
    Re-implemented on top of PR #4081's docs/build/ layout.  Replaces the
    previous prototype branch (commit 766f2d9103) which targeted the
    pre-#4081 docs/html/ paths.
    
    - Sticky topbar with LinuxCNC logo on every page; matches asciidoctor's
      footer colour scheme.  Logo SVG lives at docs/src/lcnc-docs.svg and is
      copied into docs/build/html/ by the shared-asset rule.
    - Side TOC via asciidoctor :toc=left; auto-hides below 800px (CSS).
    - Language switcher in the topbar (top-right) built from po4a.cfg + a
      LANG_LABEL_<lang> map in Submakefile, so po4a.cfg stays the single
      source of truth.
    - Admonition blocks (note/tip/warning/caution/important) tinted by
      type with Unicode icons mapped onto asciidoctor's icons=font output
      (no FontAwesome dep).
    
    Build-time injection:
    - docs/src/docinfo-header.html generated from .html.in template;
      asciidoctor pages pick it up via docinfo=shared.
    - docs/src/gcode.html renamed to gcode.html.in (po4a master); per-lang
      docs/build/html/<lang>/gcode.html generated from po4a's gcode-raw.html
      + per-lang topbar fragment.
    - Per-lang docs/build/html/<lang>/index.html similarly gets topbar
      injection + CSS path rewrite + objects/index.incl appended so the
      manpage list is present on translated indexes too.
    - docs/src/index.tmpl's hardcoded Translations: list dropped; topbar
      switcher replaces it.
    - English + translated manpage HTML rules pass lcnc-lang-label and
      lcnc-subpath so the switcher works on manpages.
    
    Per-page language indication via lang_switcher_postprocess.py: walks
    docs/build/html at end of build, looks up each page's master in each
    lang's .po, counts msgid-with-master-loc vs translated, toggles
    class=lcnc-lang-unavail on the <li> when coverage falls below POKEEP
    (default 80).  Same pass marks details-list entries (manpage index
    lists) whose target file does not exist for the current language.
    Idempotent: same toggle pattern across re-runs.
    
    POKEEP is overridable on the make command line (POKEEP=30 surfaces
    in-progress translations); contributing-to-linuxcnc.adoc,
    building-linuxcnc.adoc, and docs/README.adoc document the knob.
    
    CSS adds .lcnc-lang-unavail and .lcnc-link-unavail rules: dim text,
    pointer-events: none, cursor not-allowed; .lcnc-link-unavail also adds
    strikethrough for the index list context.

commit ca6607489152e7ed0fc10bfd7e97c7642ab284a1
Merge: d9d6c52c 48bbfa03
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 10:05:31 2026 +0100

    Merge pull request #4106 from grandixximo/docs/copy-linked-images
    
    docs: copy click-to-enlarge images, not just displayed ones

commit d9d6c52c5c97f68ea9f4d2d228a501078d1ab7a8
Merge: cd0b1bb1 57c09f22
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 10:04:46 2026 +0100

    Merge pull request #4108 from grandixximo/docs/checkref-quiet-perl-noise
    
    docs(build): filter checklink's Perl noise in checkref

commit cd0b1bb13c70ba0102d097d97d9f2c684babaa05
Merge: be7019e9 06df292e
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 10:03:44 2026 +0100

    Merge pull request #4109 from grandixximo/docs/man-tree-on-build
    
    docs(build): relocate generated manpages under docs/build/man/, build translated

commit be7019e916f692897c91c5e827fc75973e452c28
Merge: f0a1a665 0543c7a9
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 10:02:31 2026 +0100

    Merge pull request #4111 from grandixximo/feature/nftables-support
    
    hm2_eth: add nftables firewall backend

commit f0a1a665830345ccd772c27c94ecf594d8487841
Merge: a6cc37a9 fa249b49
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 10:02:08 2026 +0100

    Merge pull request #4112 from grandixximo/feature/siocsarp-rootless
    
    hm2_eth: don't abort board load when SIOCSARP is denied

commit a6cc37a99017556e4f0e8e09058cc929a46293bd
Merge: 34bd6d66 c3c06c6d
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 09:58:26 2026 +0100

    Merge pull request #4116 from hdiethelm/fix_errors_not_printed
    
    Fix errors not printed

commit 34bd6d666622f206c8f2dca69fd32656f0a17d80
Merge: 4e3e4d60 4e769083
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 09:57:14 2026 +0100

    Merge pull request #4117 from hansu/build-output-man-pages
    
    docs: proper output when building man pages

commit 4e3e4d606fc2297bc8ea03911deaf4cea43c0725
Merge: a3880341 b792ade9
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 09:55:17 2026 +0100

    Merge pull request #4127 from hansu/gmoccapy-changes-as-notification
    
    gmoccapy: show "Important changes" as notification instead of dialog

commit c7b37d0ff8520d83197f5f7b24df7d8e6e40c1b5
Merge: ec4e7773 84fe4999
Author: andypugh <andy@bodgesoc.org>
Date:   Sun Jun 7 09:53:10 2026 +0100

    Merge pull request #4128 from hansu/halscope-fix-ac-setting-2.9
    
    Halscope: Fix setting for AC coupling (2.9)

commit a38803412952e5842c1ee278e0500e945c09295d
Merge: 96c8578b 747b3153
Author: Rene Hopf <renehopf@mac.com>
Date:   Sun Jun 7 10:47:03 2026 +0200

    Merge pull request #4135 from hansu/touchy-gtk3
    
    Touchy gtk3 conversion

commit 96c8578b1bd45a09504587e2dc0a4165d3fc095f
Author: Greg Carl <26096779+snowgoer540@users.noreply.github.com>
Date:   Sat Jun 6 21:55:11 2026 -0400

    qtplasmac:  fix runaway jog when switching tabs while a jog key is held
    
    Stop all active jogs and release keyboard grab on main tab change to prevent jogging from continuing when key release is not received due to focus loss.

commit 747b315395b57735fed8b5ca88de831b5a6f3048
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Fri Jun 5 22:51:17 2026 +0200

    touchy: set button padding to 0 via CSS, replace status table by grid

commit f0155ec1af16af7de1f6a6d85d13a8df5b6b2727
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Fri Jun 5 21:49:34 2026 +0200

    touchy: replace deprecated widgets VBox and HBox

commit fcffbd955d4093a57f816e0ccb539205ef08e462
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Fri Jun 5 21:34:22 2026 +0200

    touchy: convert to Gtk3 with Glade 3.40

commit 81c3d892ba843993e3eae78d6efd54abaece848e
Merge: 106519fb a9ff6a4b
Author: andypugh <andy@bodgesoc.org>
Date:   Fri Jun 5 20:24:27 2026 +0100

    Merge pull request #4054 from grandixximo/ui-tests-phase2
    
    test: ui-smoke phase 2, g-code execution and endpoint check

commit 106519fb3e01b3401f3592f9d78bdd9030e2e5ba
Merge: 888cb941 6e051245
Author: BsAtHome <bertho@vagrearg.org>
Date:   Fri Jun 5 13:37:30 2026 +0200

    Merge pull request #4134 from grandixximo/docs/legacy-html-symlink
    
    docs(build): symlink docs/html -> build/html for the website sync

commit 6e051245d3c8deddf807dbe3197d3e2688961fd6
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Fri Jun 5 19:05:02 2026 +0800

    docs(build): symlink docs/html -> build/html for the website sync
    
    The unified build moved rendered HTML to docs/build/html/, but the
    website sync still uploads docs/html/, so the dev-docs link on
    linuxcnc.org/documents/ 404s. Re-expose docs/html as a symlink to the
    new tree (git-ignored, removed by make clean) so the dereferencing sync
    keeps publishing without any buildbot change.

commit 84fe49998d5e0fd2c5b3875ae55174236d2887e4
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Thu Jun 4 21:28:24 2026 +0200

    halscope: save offset when enabling AC coupling
    
    The offset was reset to zero when AC coupling was enabled.
    This adds a data field to restore the previous offset value when disabling AC coupling.

commit 87d8760c5bcd0b75cce02dc538ba7f3bde5a449a
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Thu Jun 4 21:27:28 2026 +0200

    halscope: fix remember setting of AC coupling
    
    When opening the offset dialog with enabled AC coupling, the AC checkbox is unselected.
    You need to select and unselect it in order to disable AC coupling.

commit c3c06c6de67eebec154679c99f94b85f5acae52e
Author: Hannes Diethelm <hannes.diethelm@gmail.com>
Date:   Wed Jun 3 13:23:14 2026 +0200

    Fix error messages are shown twice
    
    Instead of inhibiting old_handler() we always use old_handler() for
    console in real time context and inhibit print to console for messages
    passed from realtime to milltask.

commit b792ade95610611ccfb901cb8724ca7d9cd635c6
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Thu Jun 4 19:08:17 2026 +0200

    gmoccapy: remove checkbox from user message dialog

commit b6baa62b96cc8a61a4acae3d82a251f3abedcad9
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Thu Jun 4 19:06:56 2026 +0200

    gmoccapy: display startup message as notification message
    
    For that the notification class was extended to show a checkbox

commit 9afe868fb29635f0139a04fe19a78d821139a46e
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Thu Jun 4 18:51:21 2026 +0200

    gmoccapy: little refactoring around notification
    
    notification.py:
    - remove some deprecations in
    - optimize margins of frame
    gmoccapy.py
    - replace magic numbers of message type

commit a9ff6a4b4895ccd814b01db8e90862fbc33e6cf5
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Jun 3 14:23:35 2026 +0800

    ui-smoke: show the driver's stderr in the quit path
    
    quit-launch.sh catted ui-smoke.out but not ui-smoke.err, hiding the
    driver's failure reason (e.g. the GUI-crashed message) on a quit-path
    failure. Cat it like launch.sh already does.

commit 93ad82040d521e3532b7a8d89e72d04d16faea09
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Jun 3 13:43:15 2026 +0800

    ui-smoke: capture a native backtrace on GUI crash
    
    PYTHONFAULTHANDLER stops at the Python frame; a Qt/dbus/GL segfault
    needs the C stack. Arm a core dump in the launchers and, if the GUI
    leaves a core, gdb its backtrace into the log. Failure-path only, so
    green runs pay nothing.

commit 5098eeb4ffc3be6a83e198b179835ed14aeb19b2
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Jun 3 13:18:35 2026 +0800

    ui-smoke: fail fast and explain when the GUI process dies
    
    The driver polled NML for up to 60s after a GUI crash, then blamed
    whatever stage timed out (e.g. homing); a dead task keeps serving its
    last stat buffer. Watch the launcher PID and fail in ~1s pointing at
    the crash. Enable PYTHONFAULTHANDLER for a Python traceback on fatal
    signals.

commit 939cdd5064d1358249afd0a1d55f36a063c49b51
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sat May 30 14:41:11 2026 +0800

    tests: add ui-smoke quit-path coverage (SIGTERM)
    
    Adds a quit-path smoke test per GUI that boots the GUI, waits for the
    NML task to come up, sends SIGTERM to the GUI process alone, and asserts
    the GUI exits on its own within a short grace. This guards the
    clean-shutdown handlers: a GUI that absorbs SIGTERM and has to be
    SIGKILLed fails the test.
    
    The new _lib/quit-launch.sh shares the headless environment (software
    GL + audio silencing) with launch.sh by sourcing a new
    _lib/launch-env.sh rather than copying it, so the two launchers cannot
    drift apart. Results go through _lib/checkresult-quit.sh (pass on
    UI_SMOKE_QUIT_OK). The GUI process is identified by matching a python
    argv[0], so the linuxcnc launcher and xvfb-run wrappers that also carry
    the GUI name on their command line are not mistaken for it. Per-GUI
    dirs: touchy-quit, gmoccapy-quit, qtdragon-quit.
    
    The qtdragon quit test needs the same CI workarounds the qtdragon smoke
    test already carries (writable config mirror with a patched LOG_FILE,
    the offscreen Qt platform, and the QtWebEngine import shim). Those move
    out of qtdragon/test.sh into _lib/qtdragon-prepare.sh, sourced by both
    qtdragon test.sh files, so the quit test reuses them instead of leaving
    qtvcp to crash on startup.
    
    Requires the SIGTERM handlers in #4076 (gmoccapy), #4077 (touchy) and
    #4078 (qtvcp); without them the GUIs ignore SIGTERM and these tests
    fail by design.
    
    (cherry picked from commit aff5991dc3189b48a747c7c7e8962d4d16c5cbe3)

commit 98a028804cc90d06064587d8d4cb8822e5c3ee22
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 24 20:55:35 2026 +0800

    test: block QtWebEngine import in qtdragon ui-smoke via meta_path shim
    
    QtWebEngine browser-process init segfaults inside the qtvcp process on
    Ubuntu 24.04 CI even with --no-sandbox --single-process --disable-gpu.
    The smoke test never touches the WebWidget, so block the
    qtpy.QtWebEngineWidgets import via a sitecustomize meta_path finder;
    WebWidget already has a fallback that swaps in a plain QWidget when
    that import fails. No Chromium spawn, no segfault.
    
    The previous chromium-flags attempt was retracted: 'Sandboxing disabled
    by user.' confirmed Chromium got the flags but still crashed during
    init, so we are not going to win that race.

commit 218b74e851ab6cc9f41d11c52663357ced4a0b93
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 24 20:04:14 2026 +0800

    test: disable QtWebEngine sandbox+GPU for qtdragon ui-smoke
    
    qtdragon embeds QWebEngineView. On rip-and-test (gcc) CI it racy-crashed
    during Chromium browser-process spawn under offscreen + xvfb, no GPU,
    no user namespaces. rip-and-test-clang got past it by luck.
    
    Force --no-sandbox --single-process --no-zygote --disable-gpu so the
    renderer runs in-process with software rendering.

commit ed2c5effd4c6b41be9ce79d68b937a73bfeb3793
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 24 18:45:02 2026 +0800

    test: force QT_QPA_PLATFORM=offscreen for qtdragon
    
    xvfb + xcb + xcb_egl was not enough for Ubuntu 24.04 rip-and-test:
    qtvcp still segfaults during widget construction even with opencv
    and qtwebengine paths quiet, and the same code passes on Debian
    package-arch. Offscreen renders entirely in memory and exercises a
    different Qt plugin entirely, dodging the xcb-stack instability.
    
    scripts/linuxcnc itself forces QT_QPA_PLATFORM=xcb unless
    LINUXCNC_OPENGL_PLATFORM is set to a non-glx value, so pin both.
    Only qtdragon needs this; axis (Tk), touchy and gmoccapy (GTK) are
    unaffected. Trade-off: no Phase 3 screenshot from qtdragon under
    this config; Phase 3 would need an opt-out for offscreen tests.

commit cc1476b65f3bf738ea6bff5333e99de68359f30e
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 24 18:18:57 2026 +0800

    test: drop python3-opencv dep and set QT_XCB_GL_INTEGRATION=xcb_egl
    
    Ubuntu 24.04 rip-and-test runs hit a qtvcp segfault after the log-
    permission fix let qtvcp get further than Phase 1 had. Debian
    package-arch passes the same code. Two known asymmetries match:
    
    - python3-opencv on Ubuntu pulls Qt5 GUI bits whose cv2/qt/plugins
      directory overrides the system PyQt5 platform plugin path under
      xvfb (opencv-python issue #572, Qt Forum 119109). qtvcp's
      camview_widget tolerates ImportError on cv2 and just logs a
      warning, so dropping the dep restores the harmless fallback path
      Phase 1 was already exercising.
    - xcb_glx is the historical fragile integration under xvfb
      (Launchpad #1761708, QTBUG-67537); xcb_egl is what software-GL
      stacks expect anyway. Set as defense in depth.
    
    Local 4/4 still green with both changes.

commit 20fbc52ae38e18a680bf28a64bf75104561ece52
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 24 17:44:06 2026 +0800

    test: qtdragon ui-smoke runs against writable config mirror
    
    CI run hit a PermissionError in qtvcp's logger when it tried to open
    configs/sim/qtdragon/qtdragon_xyz/qtdragon.log for write: the GitHub
    Actions workspace is mounted read-only for the docker build user, and
    qtvcp resolves LOG_FILE = qtdragon.log into the config dir. hal_bridge
    then exits, linuxcnc tears down, and the driver retries ESTOP_RESET
    until the budget is exhausted.
    
    qtdragon test.sh now mirrors the qtdragon_xyz config dir to a mktemp
    directory, seds LOG_FILE to ~/qtdragon.log, and passes the absolute
    INI path to run-gui.sh. run-gui.sh treats any path starting with /
    as absolute; everything else still resolves under configs/sim. Trap
    cleans the tmp dir on exit so the working tree stays clean.
    
    Does not touch the shipped qtdragon config to avoid changing default
    behaviour for real users. The same fix would work for any other
    config that turns out to write into its own dir on CI.

commit 54f3fc2ca3819e5f0ab094998da003612c561a9c
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 24 16:56:53 2026 +0800

    test: extend ui-smoke with g-code execution and endpoint check
    
    Each per-GUI test now also drives estop reset, machine on, home all,
    mode auto, program_open + auto(RUN) on a tiny shared smoke.ngc, waits
    for sustained INTERP_IDLE, and asserts stat.position delta against
    --expect-delta-mm 1,1,0 converted via stat.linear_units so the same
    arg works on inch (axis, touchy) and mm (gmoccapy, qtdragon) sims.
    
    State/mode commands use ensure_state/ensure_mode helpers with a
    retry-and-stability pattern: gmoccapy and qtdragon re-issue their own
    mode commands during startup and can revert task_mode AUTO -> MANUAL
    right after we set it. The helpers wait for the desired state, then
    re-check after STATE_STABILITY_S; on revert they retry up to
    STATE_RETRY_BUDGET times. Intermediate timeouts use a quiet variant
    so spurious UI_SMOKE_FAIL lines do not pollute the log during retries
    (checkresult.sh greps for ^UI_SMOKE_FAIL on any line).
    
    smoke.ngc is G21 G91 G0 X1 Y1 G90 M2 - relative move in mm, sim-
    agnostic. The driver snapshots stat.position[:3] after homing and
    checks (final - start) against the converted delta, sidestepping each
    sim's HOME offset.
    
    Adds python3-zmq and python3-opencv to debian/control.top.in under
    !nocheck: qtdragon's hal_bridge and the camview widget segfault on
    startup without them, which is invisible to the connect-only Phase 1
    smoke but breaks the run-program path before the program can start.
    
    5 consecutive local runs all green at 2m43s wall each.

commit 888cb941fbf23ee32fc8e15ca180997d99a39117
Merge: af353fd3 dcfc4fb2
Author: BsAtHome <bertho@vagrearg.org>
Date:   Thu Jun 4 13:50:41 2026 +0200

    Merge pull request #4125 from grandixximo/fix/gmoccapy-sigterm-startup
    
    gmoccapy: exit on SIGTERM received during startup

commit af353fd3497229bb4287f0012a4a6652674839f8
Merge: 91e27c6a 8838b924
Author: andypugh <andy@bodgesoc.org>
Date:   Thu Jun 4 12:39:20 2026 +0100

    Merge pull request #4124 from grandixximo/docs/complete-toc-master-includes
    
    docs: add four orphan pages to the master books

commit dcfc4fb2c325fe115df8130f06ef79a1cac44ed2
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 17:06:55 2026 +0800

    gmoccapy: exit on SIGTERM received during startup
    
    A SIGTERM during construction, before Gtk.main() runs, reaches the
    excepthook as a KeyboardInterrupt. With no main loop, Gtk.main_quit()
    asserts and the interrupt is swallowed at the GTK C boundary, so
    gmoccapy runs on until SIGKILL. Force the exit when no loop is active.

commit 8838b9243f6953cad8f2352b750dbaf0bad8955a
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 16:08:01 2026 +0800

    docs: add four orphan pages to the master books
    
    hardware-interface, mesa_modbus, gladevcp-panels and writing-tests are
    linked from the landing page but missing from every Master_*.adoc, so they
    appear in neither the PDFs nor the documentation navigation.  Include each
    in its book so both deliveries cover the same pages.
    
    Also make mesa_modbus a po4a master (it had no translated copy, so the
    translated books failed to find the include), and switch hardware-interface's
    Markdown ``` fences to native ---- listing delimiters: po4a drops the ```
    fences during translation, leaving an unterminated block that swallowed the
    rest of the translated book and timed out the PDF build.

commit 91e27c6ad213f0d7b22b44c8e7e3763f6b0e3d81
Merge: f729a611 071756ac
Author: BsAtHome <bertho@vagrearg.org>
Date:   Thu Jun 4 09:58:24 2026 +0200

    Merge pull request #4115 from grandixximo/fix/gmoccapy-sigterm-robust
    
    gmoccapy: exit on SIGTERM/SIGINT regardless of main-loop state

commit 0543c7a94a125f31ce15c631fe9c5256c4b1a36e
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Jun 3 16:05:51 2026 +0800

    hm2_eth: add nftables firewall backend

commit 06df292e6bc0b4c5285feebda0b6c47b965dd44f
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 13:12:53 2026 +0800

    docs(build): index.incl depends on English man list, not full 9-lang
    
    With every language rendering the full manpage set, MAN_HTML_TARGETS
    grew to ~4000 paths; echoing it into objects/var-MAN_HTML_TARGETS made a
    single bash argument over Linux's 128 KiB MAX_ARG_STRLEN, so CI htmldocs
    failed with 'Argument list too long' (passed locally on shorter paths).
    index.incl is built only from MAN_HTML_TARGETS_EN, so depend on that var
    instead: ~9x smaller, well under the limit, and it no longer rebuilds
    when a translation changes.

commit a2b3fb4499ebff0375ce2812a4b40fc630bbea12
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 11:47:08 2026 +0800

    docs(build): render the full manpage set in every language
    
    Translated landing pages now list and link the same manpages English
    does, rather than only the ~205 that have a po4a translation.  Each
    language renders all 455 manpages: translated where a po4a leg provides
    it (AsciiDoc_def adoc or man_def troff), English fallback otherwise.  The
    per-page completeness is for the topbar banner (separate branch) to show.
    
    - MAN_HTML_TARGETS_<lang> is the full English stem set, not just the
      AsciiDoc_def stems.
    - MAN_ENONLY_TROFF_RULE copies the English troff for stems with no po4a
      entry (man3 API reference, a few man1/man9) so they have a per-language
      prerequisite; install ships English man only, so no install impact.
    - MAN_HTML_RULE gains committed-src and en-generated adoc fallbacks so
      man_def-only and generated manpages (matrix_kb.9, linuxcnc.1) resolve
      their English adoc per language instead of erroring.
    - Per-language index.html appends the English manpage index; with full
      parity every relative man/ href resolves under <lang>/man/.
    
    Clean -j8 htmldocs: 386s -> 465s (+79s) for the extra per-language
    renders.

commit f729a6114804e751cf8fd8115573843b810b84f4
Merge: 3cd702c6 0fc21dad
Author: c-morley <c-morley@users.noreply.github.com>
Date:   Wed Jun 3 20:29:25 2026 -0700

    Merge pull request #4120 from grandixximo/fix/sys-notify-daemon-message
    
    qtvcp: clarify notification-daemon-absent message

commit 9e240de73f512a924ca1026132abbd0b9361e79e
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Jun 2 11:40:31 2026 +0800

    docs(build): relocate generated manpages under docs/build/man/, build translated
    
    Move the generated troff manpage tree out of the source tree into
    docs/build/man/.  Layout follows the /usr/share/man hierarchy: English at
    docs/build/man/manN (the C/default locale) and translations at
    docs/build/man/<lang>/manN.  This differs on purpose from the
    build/html/<lang> and build/adoc/<lang> convention, because man(1) resolves
    a MANPATH entry by locale and LANG=C only checks <path>/manN; the English
    special-casing is documented in the Submakefile header.  docs/man/ is
    removed; nothing generated lives in the source tree anymore.
    
    - docs/src/Submakefile: add DOC_MAN; repoint manpage generation, MAN_SRCS,
      MAN_HTML_RULE, gen_complist prereq, MAN_DEPS and clean targets.
    - Build translated manpages: po4a emits the [type: man_def] comp manpages
      straight to build/man/<lang>/, and TRANSLATED_TROFF_RULE renders the
      .adoc-sourced manpages from build/adoc/<lang>/man into build/man/<lang>/;
      per-language HTML reuses MAN_HTML_RULE.
    - comp/driver/user_comp manpages (src/hal/.../Submakefile) and linuxcnc.1
      now emit to docs/build/man/manN.
    - po4a.cfg: point the [type: man_def] entries at build/man/ for both master
      and per-language output (structural paths only; no translatable strings).
    - install-man + swish index (src/Makefile), Doxygen MAN_OUTPUT, halcompile
      run-in-place fallback, gen_complist paths, and the run-in-place MANPATH
      (rip-environment) all follow.
    - docs/.gitignore: drop the obsolete man/ ignores; build/ already covers them.
    - delete the unreferenced legacy groff_www assets rather than carry them into
      the new tree (Bertho confirmed unused): an-old-fixed.tmac, man/images/, and
      both stylesheet.9 copies (docs/man/ and src/hal/components/).  These were the
      old groff -Thtml pipeline (.HEAD CSS injection, wavedrom waveform images),
      obsolete since component manpages render through asciidoctor.
    - tutorial.adoc: update the `man -M` example path.

commit 0fc21dad583b46ded0d2f59c5e4729c794a106d2
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Thu Jun 4 08:43:19 2026 +0800

    qtvcp: clarify notification-daemon-absent message
    
    Andy noted the bare 'no notification daemon' is opaque. State the
    consequence so the warning stands on its own.

commit 566e655f07e761114c25b7943829c97628542b0e
Author: david mueller <mueller_david@hotmail.com>
Date:   Wed Jun 3 15:30:22 2026 +0200

    fix(interp): reset G52/G92 offsets on prog_stop when DISABLE_G92_PERSISTENCE=1
    This fixes #4096
    
    - Adds canonical command to actually reset applied G92/G52 offset on M2,M30 with [RS274NGC] 'DISABLE_G92_PERSISTENCE = 1'
    - Updates INI documentation on DISABLE_G92_PERSISTENCE to reflect new behavior and agree with 'GCODE' documentation
    - Modify the 'g92-offset-persistence' test to account for the added 'SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)'
    - Change type to 'bool' rather than 'int'

commit 3cd702c6906c73300d6ae421bfcc663804d06233
Merge: 6bda976b b1fea7db
Author: andypugh <andy@bodgesoc.org>
Date:   Wed Jun 3 13:52:20 2026 +0100

    Merge pull request #4092 from PeterStolz/fix-conflicting-duplicate-ini-keys
    
    configs: remove duplicate INI keys (first occurrence wins)

commit 6bda976b92a312a90b05b203f4825e93b8c5da39
Merge: 4761ed71 217cfb8f
Author: andypugh <andy@bodgesoc.org>
Date:   Wed Jun 3 13:33:02 2026 +0100

    Merge pull request #4082 from hdiethelm/rtapi_get_clocks_removal_v2
    
    Remove rtapi_get_clocks()

commit 4761ed71005aabafdc2cca179eb86a9c54ac5d2a
Merge: b16b0110 03b7b255
Author: andypugh <andy@bodgesoc.org>
Date:   Wed Jun 3 13:17:00 2026 +0100

    Merge pull request #4114 from grandixximo/fix/sys-notify-dbus-uaf
    
    qtvcp: fix startup segfault when no notification daemon is present

commit b16b01100e864e30a184d8c7408d7c447cb98d83
Merge: 678d99c3 2a0b291a
Author: andypugh <andy@bodgesoc.org>
Date:   Wed Jun 3 13:03:40 2026 +0100

    Merge pull request #3944 from grandixximo/narrow-option-1-encoder
    
    refactor(hm2): drop _64 encoder pins, keep 64-bit internal

commit 4de2e5aa8ca1adb18aba2ebc9ef3797344896a78
Author: Hannes Diethelm <hannes.diethelm@gmail.com>
Date:   Wed Jun 3 11:48:13 2026 +0200

    Fix error messages are not shown
    
    The last two reverts fix the issue. This commit describes why there is
    no good workaround against showing errors twice.

commit a39cb499ac418419245e4db4797586cf6d2103ad
Author: Hannes Diethelm <hannes.diethelm@gmail.com>
Date:   Wed Jun 3 12:36:14 2026 +0200

    Reapply some changes in hm2_modbus.c

commit e0d88b89f91c3c536090482a4e6f8df70220ac94
Author: Hannes Diethelm <hannes.diethelm@gmail.com>
Date:   Wed Jun 3 11:42:48 2026 +0200

    Revert "Fix printing hm2_modbus messages at startup."
    
    This reverts commit 65e2269723875ae369d094c654abb871c0236cb1.

commit 25ac3dab2d72eb1b685293faf2045c4faeaf95d1
Author: Hannes Diethelm <hannes.diethelm@gmail.com>
Date:   Wed Jun 3 11:41:50 2026 +0200

    Revert "motion: avoid duplicate terminal outputs for RTAPI_MSG_ERROR messages"
    
    This reverts commit 47324a78687b6edf667129e5b261883ba6e8927e.

commit 4e76908373cc37b287908a43cdc6727f7f3d1362
Author: Hans Unzner <hansunzner@gmail.com>
Date:   Wed Jun 3 12:27:01 2026 +0200

    docs: proper output when building man pages

commit 071756ac218bbb26e8c4215541bc96b72a77c086
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Jun 3 14:15:37 2026 +0800

    gmoccapy: handle SIGTERM/SIGINT regardless of main-loop state
    
    The KeyboardInterrupt-via-excepthook path only quits while Gtk.main()
    is iterating; a signal during startup or a nested dialog hits
    'gtk_main_quit: assertion main_loops != NULL' and gmoccapy runs on
    until SIGKILL. Install an explicit handler that quits the loop if one
    runs, else exits the process.

commit 03b7b2551660436a4be13bbcbf5b19b73bc65810
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Jun 3 12:42:27 2026 +0800

    qtvcp: probe for notification daemon before wiring dbus mainloop
    
    Avoids use-after-free in dbus_connection_dispatch when no daemon
    owns org.freedesktop.Notifications (headless/no-GPU).

commit fa249b49c9ca3a075e14f573bc1d51f98cddaaf6
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Jun 3 11:05:44 2026 +0800

    hm2_eth: don't abort board load when SIOCSARP is denied

commit 57c09f226afb330f0483acecbe4c38612763074a
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Wed Jun 3 07:58:27 2026 +0800

    docs(build): filter checklink's Perl noise in checkref
    
    w3c-linkchecker prints "Use of uninitialized value ... checklink line N"
    to stderr on some inputs; it is tool noise, not link results, and floods
    the build/CI log. Drop those lines; checklink stays first in the pipe so
    PIPESTATUS[0] is unchanged.

commit 48bbfa03288ef79f214b23a3eb5c3566e92482a8
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Jun 2 20:20:20 2026 +0800

    docs(build): copy click-to-enlarge images, not just displayed ones
    
    The HTML image-copy step scanned only src="..." attributes, so images
    referenced solely as a link target (image:thumb[link="images/full.png"],
    rendered as <a href="...full.png">) were never copied and 404'd when the
    reader clicked to enlarge.  gui/gmoccapy and gui/gstat had nine such
    images.  Also scan href="...", filtered to image extensions so page and
    anchor links are left out.

commit 678d99c39d3e97f9dc87bcc71351c87a5f355f78
Merge: 86ca25a1 cc5b4ca6
Author: BsAtHome <bertho@vagrearg.org>
Date:   Tue Jun 2 17:16:03 2026 +0200

    Merge pull request #4081 from grandixximo/docs/unified-build-output
    
    docs(build): unified output subtree under docs/build/

commit 86ca25a1d79b4a221a4f6ace86bf24faab0bb79f
Merge: 65bf1993 3dd42390
Author: andypugh <andy@bodgesoc.org>
Date:   Tue Jun 2 15:44:46 2026 +0100

    Merge pull request #4093 from Sigma1912/feature_g54_on_program_stop
    
    interp: add new ini setting disabling auto reset to G54 on M2,M30

commit cc5b4ca62c2b4c9f81830d25f89dba512599931a
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 31 21:47:33 2026 +0800

    docs(build): drop build-time mandb whatis step
    
    Takes the cat[139]/index.db cruft and whatis-parse noise with it; the
    whatis database is a packaging concern (dpkg), not the doc build.

commit 2c50d213369de42baf14bea4af8e49c6110458f4
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Sun May 31 18:56:38 2026 +0800

    docs: move docs/help/ under docs/src/help/
    
    Align with the rest of the doc source tree. Adjusts the po4a.cfg masters
    and the src/Makefile DOCS_HELP glob. Suggested by @hansu on PR #4081.

commit 7ca2dd1f3ce707a6d0dd1c98994d4afa5f545e38
Author: Luca Toniolo <10792599+grandixximo@users.noreply.github.com>
Date:   Tue Jun 2 10:43:46 2026 +0800

    docs(build): unified output subtree under docs/build/
    
    Emit all generated docs (HTML, PDF, adoc, man) under docs/build/ instead of
    scattering them across docs/html, docs/src and docs/man; source trees stay
    clean. PDFs land under build/html/<lang>/pdf/, each suffixed _<lang>.
    
    Also: consolidate the per-directory .gitignores into docs/.gitignore;
    inline mb2hal_HOWTO.ini into docs/src/drivers/ (drops the {fixturedir} hack,
    no pot/po churn); gen_complist checks the manpage source set, not rendered
    HTML; make pdfdocs idempotent; fix asciideps on absolute include paths.

commit 3dd423905a261b33e2e2ee76245bb3ddea7508b7
Author: david mueller <mueller_david@hotmail.com>
Date:   Sun May 31 19:20:47 2026 +0200

    Adds a new INI file setting to disable the automatic resetting of the current WCS to G54 on M2 and M30:
    
    [RS274NGC]
    DISABLE_AUTO_G54 = 1
    
    Note:
    This new setting defaults to '0' so this modification is opt-in and default behavior is unchanged.

commit 65bf1993eb9406d8707b07a95a7e2c1739d2cdb7
Merge: 44150636 c85f33e5
Author: BsAtHome <bertho@vagrearg.org>
Date:   Tue Jun 2 16:04:06 2026 +0200

    Merge pull request #4102 from grandixximo/fix/issue-4101-sbins1000
    
    latency/histo binstream: fix FIFO sizing and fail visibly on error

commit 44150636b0406605abe7b738a9b68212d9025408
Merge: 64ee6491 4a3e0d06
Author: andypugh <andy@bodgesoc.org>
Date:   Tue Jun 2 13:42:01 2026 +0100

    Merge pull request #4104 from grandixximo/docs/checkref-no-false-pass
    
    docs: make HTML link checking actually run, and never false-pass

commit 64ee64915fee570a9199c4088159fdaa840f75d1
Merge: 1a93a308 f74a706a
Author: andypugh <andy@bodgesoc.org>
Date:   Tue Jun 2 13:32:26 2026 +0100

    Merge pull request #4076 from grandixximo/fix/gmoccapy-sigterm-clean-exit
    
    gmoccapy: exit cleanly on termination signal instead of error dialog

commit 1a93a308d2dad0ebd0971da51f13e4c0193fffab
Merge: c03075e9 8baf3b58
Author: andypugh <andy@bodgesoc.org>
Date:   Tue Jun 2 13:24:41 2026 +0100

    Merge pull request #4095 from grandixximo/fix/m99-mdi-segfault
    
    fix(interp): don't fseek(NULL) on M99 in MDI

commit c03075e9d7f2be13f838456fbb2d29bd88a9bb4b
Merge: 7355ac90 d03cca85
Author: andypugh <andy@bodgesoc.org>
Date:   Tue Jun 2 13:19:42 2026 +0100

    Merge pull request #4089 from hansu/optimize-asciidoctor-docs
    
    Optimize docs

commit 7355ac90a798cedc9a5b9f84ad4114f31efcf35d
Merge: b71a7495 519e27a8
Author: andypugh <andy@bodgesoc.org>
Date:   Tue Jun 2 13:05:15 2026 +0100

    Merge pull request #4100 from grandixximo/docs/fix-xref-compat-mode
    
    docs: fix cross-document xref links broken under compat-mode
Created: 2025-03-16 Last update: 2026-06-08 00:31
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.7.2).
Created: 2025-12-23 Last update: 2026-03-31 15:01
testing migrations
  • excuses:
    • Migrates after: python-poppler-qt5
    • Migration status for linuxcnc (- to 1:2.9.7-1): BLOCKED: Rejected/violates migration policy/introduces a regression
    • Issues preventing migration:
    • ∙ ∙ Updating linuxcnc would introduce bugs in testing: #1089809
    • ∙ ∙ 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
    • ∙ ∙ Autopkgtest for linuxcnc/1:2.9.7-1: amd64: Test triggered, arm64: Pass, i386: Pass
    • ∙ ∙ Depends: linuxcnc python-poppler-qt5 (not considered)
    • Additional info (not blocking):
    • ∙ ∙ Piuparts tested OK - https://piuparts.debian.org/sid/source/l/linuxcnc.html
    • ∙ ∙ 217 days old (needed 5 days)
    • Not considered
news
[rss feed]
  • [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)
  • [2022-04-20] linuxcnc 2.9.0~pre0+git20220402.2500863908-4 MIGRATED to testing (Debian testing watch)
  • [2022-04-06] Accepted linuxcnc 2.9.0~pre0+git20220402.2500863908-4 (source) into unstable (Steffen Moeller)
  • [2022-04-06] Accepted linuxcnc 2.9.0~pre0+git20220402.2500863908-3 (source) into unstable (Steffen Moeller)
  • [2022-04-03] Accepted linuxcnc 2.9.0~pre0+git20220402.2500863908-2 (source) into unstable (Steffen Moeller)
  • 1
  • 2
bugs [bug history graph]
  • all: 11
  • RC: 1
  • I&N: 7
  • M&W: 3
  • F&P: 0
  • patch: 1
links
  • homepage
  • lintian (1, 51)
  • buildd: logs, cross
  • popcon
  • browse source code
  • other distros
  • l10n (-, 9)
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 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