Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package microcom for openSUSE:Factory 
checked in at 2026-10-21 21:00:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/microcom (Old)
 and      /work/SRC/openSUSE:Factory/.microcom.new.2252680 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "microcom"

Wed Oct 21 21:00:09 2026 rev:4 rq:1386747 version:2025.11.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/microcom/microcom.changes        2024-10-25 
19:22:59.379002898 +0200
+++ /work/SRC/openSUSE:Factory/.microcom.new.2252680/microcom.changes   
2026-10-21 21:01:56.037184290 +0200
@@ -1,0 +2,10 @@
+Sun Oct 18 10:52:59 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 2025.11.0.0:
+  * allow specifying the escape character
+  * error out on positional arguments instead of silently ignoring them
+  * set the local tty like `stty raw -echo` for transparent communication
+- Switch _service from legacy mode="disabled" to mode="manual" and pin
+  revision v2025.11.0 (upstream renamed the default branch to main)
+
+-------------------------------------------------------------------

Old:
----
  microcom-2023.09.0.0.tar

New:
----
  microcom-2025.11.0.0.tar

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ microcom.spec ++++++
--- /var/tmp/diff_new_pack.ubgbQ8/_old  2026-10-21 21:01:56.773215236 +0200
+++ /var/tmp/diff_new_pack.ubgbQ8/_new  2026-10-21 21:01:56.775215319 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package microcom
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,16 +17,16 @@
 
 
 Name:           microcom
-Version:        2023.09.0.0
+Version:        2025.11.0.0
 Release:        0
 Summary:        Minimalistic terminal program
 License:        GPL-2.0-only
-Group:          System/Console
 URL:            https://github.com/pengutronix/microcom.git
 Source0:        microcom-%{version}.tar
 BuildRequires:  autoconf
 BuildRequires:  automake
-BuildRequires:  readline-devel
+BuildRequires:  pkgconfig
+BuildRequires:  pkgconfig(readline)
 
 %description
 microcom is a minimalistic terminal program for communicating with devices over

++++++ _service ++++++
--- /var/tmp/diff_new_pack.ubgbQ8/_old  2026-10-21 21:01:56.825217422 +0200
+++ /var/tmp/diff_new_pack.ubgbQ8/_new  2026-10-21 21:01:56.832217716 +0200
@@ -2,14 +2,15 @@
 <!-- for more details on the syntax -->
 
 <services>
-        <service name="tar_scm" mode="disabled">
+        <service name="tar_scm" mode="manual">
                 <param name="scm">git</param>
                 <param 
name="url">https://github.com/pengutronix/microcom.git</param>
+                <param name="revision">v2025.11.0</param>
                 <param name="filename">microcom</param>
                 <param name="versionrewrite-pattern">v(.*)</param>
                 <param name="versionrewrite-replacement">\1</param>
                 <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
         </service>
-        <service mode="disabled" name="set_version" />
+        <service mode="manual" name="set_version" />
 </services>
 

++++++ microcom-2023.09.0.0.tar -> microcom-2025.11.0.0.tar ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/.github/workflows/build.yml 
new/microcom-2025.11.0.0/.github/workflows/build.yml
--- old/microcom-2023.09.0.0/.github/workflows/build.yml        2023-09-07 
11:51:05.000000000 +0200
+++ new/microcom-2025.11.0.0/.github/workflows/build.yml        2025-11-28 
17:35:18.000000000 +0100
@@ -1,4 +1,3 @@
----
 name: Build test
 on:
   push:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/microcom-2023.09.0.0/.github/workflows/release-pr.yml 
new/microcom-2025.11.0.0/.github/workflows/release-pr.yml
--- old/microcom-2023.09.0.0/.github/workflows/release-pr.yml   1970-01-01 
01:00:00.000000000 +0100
+++ new/microcom-2025.11.0.0/.github/workflows/release-pr.yml   2025-11-28 
17:35:18.000000000 +0100
@@ -0,0 +1,102 @@
+name: Draft Release
+
+on:
+  pull_request:
+    types: [opened, synchronize, reopened, closed]
+    paths:
+      - VERSION
+    branches: [main]
+
+permissions:
+  contents: write
+  pull-requests: write
+
+jobs:
+  validate-release-commit:
+    if: >
+      !(github.event.pull_request.merged == true &&
+        !contains(join(github.event.pull_request.labels.*.name), 'release'))
+
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Checkout merge
+        uses: actions/checkout@v4
+        with:
+          fetch-depth: 0
+
+      - name: Get release commit info
+        id: version
+        run: |
+          ver=$(cat VERSION)
+          if ! echo "$ver" | grep -Eq '^[0-9]{4}\.[0-9]{2}\.[0-9]+$'; then
+            echo "Invalid version format: $ver"
+            exit 1
+          fi
+
+          echo "version=$ver" >> $GITHUB_OUTPUT
+
+          headline="$(git show --format=%s 
${{github.event.pull_request.head.sha}})"
+          if ! echo "$headline" | grep -Eq "^[Rr]elease microcom $ver$"; then
+            echo "Invalid commit headline: $headline"
+            exit 1
+          fi
+
+          body="$(
+            git show -s --format=%b ${{github.event.pull_request.head.sha}} \
+            | sed -E '/^Signed-off-by: /d'
+          )"
+
+          echo 'body<<EOF' >> $GITHUB_OUTPUT
+          echo "$body" >> $GITHUB_OUTPUT
+          echo 'EOF' >> $GITHUB_OUTPUT
+
+      - name: Install Dependencies
+        run: sudo apt install -y libreadline6-dev autoconf automake
+
+      - name: Build release packages
+        run: |
+          autoreconf -i
+          ./configure
+          make check
+          make dist
+
+      # DRAFT release on pr creation and update
+      - name: Create or update release draft
+        if: github.event.pull_request.merged == false
+        uses: softprops/action-gh-release@v2
+        with:
+          draft: true
+          tag_name: v${{steps.version.outputs.version}}
+          name: microcom ${{steps.version.outputs.version}}
+          body: ${{steps.version.outputs.body}}
+          files: |
+            microcom-*.tar.gz
+            microcom-*.tar.xz
+
+      # PUBLISH release on merge
+      - name: Publish release on merge
+        if: github.event.pull_request.merged == true
+        uses: softprops/action-gh-release@v2
+        with:
+          draft: false
+          tag_name: v${{steps.version.outputs.version}}
+          files: |
+            microcom-*.tar.gz
+            microcom-*.tar.xz
+
+      - run: gh pr edit "$NUMBER" --add-label "$LABELS"
+        if: github.event.pull_request.merged == false
+        env:
+          GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
+          GH_REPO: ${{github.repository}}
+          NUMBER: ${{github.event.pull_request.number}}
+          LABELS: release
+
+      - run: gh pr comment "$NUMBER" --body "Release published!"
+        if: github.event.pull_request.merged == true
+        env:
+          GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
+          GH_REPO: ${{github.repository}}
+          NUMBER: ${{github.event.pull_request.number}}
+          LABELS: release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/Makefile.am 
new/microcom-2025.11.0.0/Makefile.am
--- old/microcom-2023.09.0.0/Makefile.am        2023-09-07 11:51:05.000000000 
+0200
+++ new/microcom-2025.11.0.0/Makefile.am        2025-11-28 17:35:18.000000000 
+0100
@@ -1,7 +1,7 @@
 AUTOMAKE_OPTIONS = foreign
 ACLOCAL_AMFLAGS = -I m4 --install
 
-EXTRA_DIST = DCO README.md
+EXTRA_DIST = COPYING DCO README.md VERSION
 
 bin_PROGRAMS = microcom
 microcom_SOURCES = commands.c commands_fsl_imx.c microcom.c mux.c parser.c 
serial.c telnet.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/VERSION 
new/microcom-2025.11.0.0/VERSION
--- old/microcom-2023.09.0.0/VERSION    1970-01-01 01:00:00.000000000 +0100
+++ new/microcom-2025.11.0.0/VERSION    2025-11-28 17:35:18.000000000 +0100
@@ -0,0 +1 @@
+2025.11.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/can.c 
new/microcom-2025.11.0.0/can.c
--- old/microcom-2023.09.0.0/can.c      2023-09-07 11:51:05.000000000 +0200
+++ new/microcom-2025.11.0.0/can.c      2025-11-28 17:35:18.000000000 +0100
@@ -53,10 +53,7 @@
                loopcount = min(count, sizeof(to_can.data));
                memcpy(to_can.data, buf, loopcount);
                to_can.can_dlc = loopcount;
-retry:
                err = write(ios->fd, &to_can, sizeof(to_can));
-               if (err < 0 && errno == EINTR)
-                       goto retry;
 
                if (err < 0)
                        return err;
@@ -75,10 +72,7 @@
        struct can_frame from_can;
        ssize_t ret;
 
-retry:
        ret = read(ios->fd, &from_can, sizeof(from_can));
-       if (ret < 0 && errno != EINTR)
-               goto retry;
 
        if (ret < 0)
                return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/commands.c 
new/microcom-2025.11.0.0/commands.c
--- old/microcom-2023.09.0.0/commands.c 2023-09-07 11:51:05.000000000 +0200
+++ new/microcom-2025.11.0.0/commands.c 2025-11-28 17:35:18.000000000 +0100
@@ -155,7 +155,8 @@
 
 static int cmd_sendescape(int argc, char *argv[])
 {
-       ios->write(ios, "\x1c", 1);
+       unsigned char tmp = CTRL(escape_char);
+       ios->write(ios, &tmp, 1);
        return 0;
 }
 
@@ -234,7 +235,7 @@
        }, {
                .name = "sendescape",
                .fn = cmd_sendescape,
-               .info = "send a Ctrl-\\",
+               .info = "send the escape sequence",
        }, {
                .name = "quit",
                .fn = cmd_quit,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/configure.ac 
new/microcom-2025.11.0.0/configure.ac
--- old/microcom-2023.09.0.0/configure.ac       2023-09-07 11:51:05.000000000 
+0200
+++ new/microcom-2025.11.0.0/configure.ac       2025-11-28 17:35:18.000000000 
+0100
@@ -1,4 +1,4 @@
-AC_INIT([microcom], [2023.09.0], [[email protected]])
+AC_INIT([microcom], [m4_esyscmd_s(cat VERSION)], [[email protected]])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([dist-xz])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/microcom.1 
new/microcom-2025.11.0.0/microcom.1
--- old/microcom-2023.09.0.0/microcom.1 2023-09-07 11:51:05.000000000 +0200
+++ new/microcom-2025.11.0.0/microcom.1 2025-11-28 17:35:18.000000000 +0100
@@ -14,6 +14,8 @@
 .IR host : port ]
 .RB [\| \-s
 .IR speed \|]
+.RB [\| \-e
+.IR escape-char \|]
 .br
 .B microcom -c
 .IB interface : rx_id : tx_id
@@ -65,6 +67,9 @@
 .BI \-c\  interface\fB:\fIrx_id\fB:\fItx_id\fR,\ \fI \-\-can= 
interface\fB:\fIrx_id\fB:\fItx_id
 work in CAN mode (default: \fBcan0:200:200\fR)
 .TP
+.BI \-e\  escape-character \fR,\ \fB\-\-escape-char= char
+use specified escape charater with Ctrl (default \fB\\\fR).
+.TP
 .BR -h ", " \-\-help
 Show help.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/microcom.c 
new/microcom-2025.11.0.0/microcom.c
--- old/microcom-2023.09.0.0/microcom.c 2023-09-07 11:51:05.000000000 +0200
+++ new/microcom-2025.11.0.0/microcom.c 2025-11-28 17:35:18.000000000 +0100
@@ -43,15 +43,17 @@
 
        memcpy(&sts, &sots, sizeof (sots));     /* to be used upon exit */
 
-       /* again, some arbitrary things */
-       sts.c_iflag &= ~(IGNCR | INLCR | ICRNL);
-       sts.c_iflag |= IGNBRK;
-       sts.c_lflag &= ~ISIG;
+       /* Implement what `stty raw` does. */
+       sts.c_iflag &= ~(IGNBRK | BRKINT | IGNPAR | PARMRK | INPCK |
+                        ISTRIP | INLCR | IGNCR | ICRNL | IXON | IXOFF |
+                        IUCLC | IXANY | IMAXBEL);
+       sts.c_lflag &= ~(ICANON | ISIG | XCASE);
+       sts.c_oflag &= ~OPOST;
        sts.c_cc[VMIN] = 1;
        sts.c_cc[VTIME] = 0;
-       sts.c_lflag &= ~ICANON;
+
        /* no local echo: allow the other end to do the echoing */
-       sts.c_lflag &= ~(ECHO | ECHOCTL | ECHONL);
+       sts.c_lflag &= ~ECHO;
 
        tcsetattr(STDIN_FILENO, TCSANOW, &sts);
 }
@@ -99,12 +101,14 @@
                "    -l, --logfile=<logfile>              log output to 
<logfile>\n"
                "    -o, --listenonly                     Do not modify local 
terminal, do not send input\n"
                "                                         from stdin\n"
-               "    -a,  --answerback=<str>              specify the 
answerback string sent as response to\n"
+               "    -a, --answerback=<str>               specify the 
answerback string sent as response to\n"
                "                                         an ENQ (ASCII 0x05) 
Character\n"
+               "    -e, --escape-char=<chr>              escape charater to 
use with Ctrl (%c)\n"
                "    -v, --version                        print version 
string\n"
                "    -h, --help                           This help\n",
                DEFAULT_DEVICE, DEFAULT_BAUDRATE,
-               DEFAULT_CAN_INTERFACE, DEFAULT_CAN_ID, DEFAULT_CAN_ID);
+               DEFAULT_CAN_INTERFACE, DEFAULT_CAN_ID, DEFAULT_CAN_ID,
+               DEFAULT_ESCAPE_CHAR);
        fprintf(stderr, "Exitcode %d - %s %s\n\n", exitcode, str, dev);
        exit(exitcode);
 }
@@ -113,6 +117,7 @@
 unsigned long current_speed = DEFAULT_BAUDRATE;
 int current_flow = FLOW_NONE;
 int listenonly = 0;
+char escape_char = DEFAULT_ESCAPE_CHAR;
 
 int main(int argc, char *argv[])
 {
@@ -139,7 +144,7 @@
                { },
        };
 
-       while ((opt = getopt_long(argc, argv, "hp:s:t:c:dfl:oi:a:v", 
long_options, NULL)) != -1) {
+       while ((opt = getopt_long(argc, argv, "hp:s:t:c:dfl:oi:a:e:v", 
long_options, NULL)) != -1) {
                switch (opt) {
                        case '?':
                                main_usage(1, "", "");
@@ -180,9 +185,19 @@
                        case 'a':
                                answerback = optarg;
                                break;
+                       case 'e':
+                               if (strlen(optarg) != 1) {
+                                       fprintf(stderr, "Option -e requires a 
single character argument.\n");
+                                       exit(EXIT_FAILURE);
+                               }
+                               escape_char = *optarg;
+                               break;
                }
        }
 
+       if (optind < argc)
+               main_usage(1, "", "");
+
        if (answerback) {
                ret = asprintf(&answerback, "%s\n", answerback);
                if (ret < 0)
@@ -224,7 +239,7 @@
        ios->set_flow(ios, current_flow);
 
        if (!listenonly) {
-               printf("Escape character: Ctrl-\\\n");
+               printf("Escape character: Ctrl-%c\n", escape_char);
                printf("Type the escape character to get to the prompt.\n");
 
                /* Now deal with the local terminal side */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/microcom.h 
new/microcom-2025.11.0.0/microcom.h
--- old/microcom-2023.09.0.0/microcom.h 2023-09-07 11:51:05.000000000 +0200
+++ new/microcom-2025.11.0.0/microcom.h 2025-11-28 17:35:18.000000000 +0100
@@ -29,6 +29,7 @@
 #include <stdbool.h>
 #include <signal.h>
 #include <string.h>
+#include <sys/ttydefaults.h>
 #include <termios.h>
 #include <unistd.h>
 #include <assert.h>
@@ -37,6 +38,7 @@
 #define DEFAULT_DEVICE "/dev/ttyS0"
 #define DEFAULT_CAN_INTERFACE "can0"
 #define DEFAULT_CAN_ID (0x200)
+#define DEFAULT_ESCAPE_CHAR ('\\')
 
 struct ios_ops {
        ssize_t (*write)(struct ios_ops *, const void *buf, size_t count);
@@ -73,6 +75,7 @@
 extern int opt_force;
 extern int listenonly;
 extern char *answerback;
+extern char escape_char;
 
 struct cmd {
        char *name;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microcom-2023.09.0.0/mux.c 
new/microcom-2025.11.0.0/mux.c
--- old/microcom-2023.09.0.0/mux.c      2023-09-07 11:51:05.000000000 +0200
+++ new/microcom-2025.11.0.0/mux.c      2025-11-28 17:35:18.000000000 +0100
@@ -73,7 +73,7 @@
        while (current < num) { /* big while loop, to process all the charactes 
in buffer */
 
                /* look for the next escape character (Ctrl-\) */
-               while ((current < num) && (buf[current] != 28))
+               while ((current < num) && (buf[current] != CTRL(escape_char)))
                        current++;
                /* and write the sequence before esc char to the comm port */
                if (current)

Reply via email to