Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package reptyr for openSUSE:Factory checked in at 2022-06-16 18:20:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/reptyr (Old) and /work/SRC/openSUSE:Factory/.reptyr.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "reptyr" Thu Jun 16 18:20:57 2022 rev:13 rq:982865 version:0.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/reptyr/reptyr.changes 2020-10-12 14:00:04.134234964 +0200 +++ /work/SRC/openSUSE:Factory/.reptyr.new.1548/reptyr.changes 2022-06-16 18:22:18.504258827 +0200 @@ -1,0 +2,7 @@ +Wed Jun 15 16:56:58 UTC 2022 - Mia Herkt <[email protected]> + +- Update to version 0.9.0 + * Add RISCV64 support on Linux + * Fix tty-stealing on PowerPC + +------------------------------------------------------------------- Old: ---- reptyr-0.8.0.tar.gz New: ---- reptyr-0.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ reptyr.spec ++++++ --- /var/tmp/diff_new_pack.bnBJFp/_old 2022-06-16 18:22:18.860259333 +0200 +++ /var/tmp/diff_new_pack.bnBJFp/_new 2022-06-16 18:22:18.868259345 +0200 @@ -1,7 +1,7 @@ # # spec file for package reptyr # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: reptyr -Version: 0.8.0 +Version: 0.9.0 Release: 0 Summary: A tool for "re-ptying" programs License: MIT ++++++ reptyr-0.8.0.tar.gz -> reptyr-0.9.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/.circleci/config.yml new/reptyr-reptyr-0.9.0/.circleci/config.yml --- old/reptyr-reptyr-0.8.0/.circleci/config.yml 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/.circleci/config.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ -version: 2 -jobs: - build: - docker: - - image: debian:stretch - - steps: - - checkout - - - run: apt-get update && apt-get -y install gcc-multilib libcap-dev gcc python python-virtualenv python-dev make - - run: virtualenv venv - - run: venv/bin/pip install -r test/requirements.txt - - run: . venv/bin/activate && make test - - run: make clean - - run: . venv/bin/activate && env CFLAGS=-m32 LDFLAGS=-m32 NO_TEST_STEAL=1 make test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/.cirrus.yml new/reptyr-reptyr-0.9.0/.cirrus.yml --- old/reptyr-reptyr-0.8.0/.cirrus.yml 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/.cirrus.yml 2022-06-12 17:58:44.000000000 +0200 @@ -1,35 +1,9 @@ -env: - CIRRUS_CLONE_DEPTH: 1 - freebsd_12_task: freebsd_instance: - image: freebsd-12-1-release-amd64 + image: freebsd-12-2-release-amd64 install_script: - pkg install -y gmake py27-pexpect + pkg install -y gmake py38-pexpect build_script: gmake test_script: - - env NO_TEST_BASIC=yes gmake test PYTHON_CMD=python2.7 - -linux_gcc_py2_task: - container: - image: gcc:latest - install_script: - - apt-get update - - apt-get install -y python-prctl python-pexpect - build_script: - - make - test_script: - - make test - -linux_gcc_py3_task: - container: - image: gcc:latest - install_script: - - apt-get update - - apt-get install -y python3-prctl python3-pexpect - build_script: - - make - test_script: - - make test PYTHON_CMD=python3 - + - env NO_TEST_BASIC=yes gmake test PYTHON_CMD=python3.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/.github/dependabot.yml new/reptyr-reptyr-0.9.0/.github/dependabot.yml --- old/reptyr-reptyr-0.8.0/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/reptyr-reptyr-0.9.0/.github/dependabot.yml 2022-06-12 17:58:44.000000000 +0200 @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/.github/workflows/ci.yml new/reptyr-reptyr-0.9.0/.github/workflows/ci.yml --- old/reptyr-reptyr-0.8.0/.github/workflows/ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/reptyr-reptyr-0.9.0/.github/workflows/ci.yml 2022-06-12 17:58:44.000000000 +0200 @@ -0,0 +1,31 @@ +name: CI +on: + pull_request: {} + push: + branches: + - master + tags: + - 'reptyr-*.*' + - 'reptyr-*.*.*' +permissions: read-all + +jobs: + linux: + runs-on: ubuntu-latest + container: debian:buster + name: "Debian Buster" + strategy: + matrix: + python: + - python2 + - python3 + steps: + - uses: actions/checkout@v3 + with: + persist-credentials: false + - run: apt-get update && apt-get -y install gcc-multilib libcap-dev gcc ${{matrix.python}} virtualenv ${{matrix.python}}-dev make + - run: virtualenv --python=${{matrix.python}} venv + - run: venv/bin/pip install -r test/requirements.txt + - run: . venv/bin/activate && make PYTHON_CMD=${{matrix.python}} test + - run: make clean + - run: . venv/bin/activate && env PYTHON_CMD=${{matrix.python}} CFLAGS=-m32 LDFLAGS=-m32 NO_TEST_STEAL=1 make test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/ChangeLog new/reptyr-reptyr-0.9.0/ChangeLog --- old/reptyr-reptyr-0.8.0/ChangeLog 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/ChangeLog 2022-06-12 17:58:44.000000000 +0200 @@ -1,3 +1,7 @@ +* 0.9.0 (Jun 12, 2022) + - Add RISCV64 support on Linux + - Fix tty-stealing on PowerPC + * 0.8.0 (Sep 29, 2020) - Resolve a number of bugs in FreeBSD support - Implement reptyr -T support for FreeBSD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/platform/freebsd/arch/x86_common.h new/reptyr-reptyr-0.9.0/platform/freebsd/arch/x86_common.h --- old/reptyr-reptyr-0.8.0/platform/freebsd/arch/x86_common.h 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/platform/freebsd/arch/x86_common.h 2022-06-12 17:58:44.000000000 +0200 @@ -41,22 +41,20 @@ //https://lists.freebsd.org/pipermail/freebsd-hackers/2009-July/029206.html } -static inline unsigned long arch_get_register(struct ptrace_child *child, unsigned long oft){ - int ret; +static inline unsigned long arch_get_register(struct ptrace_child *child, unsigned long oft) { struct reg regs; - ret = ptrace_command(child, PT_GETREGS, ®s); + (void) ptrace_command(child, PT_GETREGS, ®s); return *ptr(®s,oft); } -static inline void arch_set_register(struct ptrace_child *child, unsigned long oft, unsigned long val){ - int ret; +static inline void arch_set_register(struct ptrace_child *child, unsigned long oft, unsigned long val) { struct reg regs; - ret = ptrace_command(child, PT_GETREGS, ®s); + (void) ptrace_command(child, PT_GETREGS, ®s); *ptr(®s,oft)=val; - ret = ptrace_command(child, PT_SETREGS, ®s); + (void) ptrace_command(child, PT_SETREGS, ®s); } static inline int arch_save_syscall(struct ptrace_child *child) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/platform/linux/arch/default-syscalls.h new/reptyr-reptyr-0.9.0/platform/linux/arch/default-syscalls.h --- old/reptyr-reptyr-0.8.0/platform/linux/arch/default-syscalls.h 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/platform/linux/arch/default-syscalls.h 2022-06-12 17:58:44.000000000 +0200 @@ -36,12 +36,12 @@ .nr_dup2 = -1, SC(dup3), #endif -#ifdef __NR_socketcall - SC(socketcall), -#else +#ifdef __NR_socket SC(socket), SC(connect), SC(sendmsg), +#else + SC(socketcall), #endif }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/platform/linux/arch/powerpc.h new/reptyr-reptyr-0.9.0/platform/linux/arch/powerpc.h --- old/reptyr-reptyr-0.8.0/platform/linux/arch/powerpc.h 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/platform/linux/arch/powerpc.h 2022-06-12 17:58:44.000000000 +0200 @@ -22,7 +22,7 @@ static struct ptrace_personality arch_personality[1] = { { - offsetof(struct pt_regs, gpr[3]), + offsetof(struct pt_regs, result), offsetof(struct pt_regs, gpr[3]), offsetof(struct pt_regs, gpr[4]), offsetof(struct pt_regs, gpr[5]), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/platform/linux/arch/riscv64.h new/reptyr-reptyr-0.9.0/platform/linux/arch/riscv64.h --- old/reptyr-reptyr-0.8.0/platform/linux/arch/riscv64.h 1970-01-01 01:00:00.000000000 +0100 +++ new/reptyr-reptyr-0.9.0/platform/linux/arch/riscv64.h 2022-06-12 17:58:44.000000000 +0200 @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2021 by Ast-x64 + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +static struct ptrace_personality arch_personality[1] = { + { + offsetof(struct user_regs_struct, a0), + offsetof(struct user_regs_struct, a0), + offsetof(struct user_regs_struct, a1), + offsetof(struct user_regs_struct, a2), + offsetof(struct user_regs_struct, a3), + offsetof(struct user_regs_struct, a4), + offsetof(struct user_regs_struct, a5), + offsetof(struct user_regs_struct, pc), + } +}; + +static inline void arch_fixup_regs(struct ptrace_child *child) { + child->regs.pc -= 4; +} + +static inline int arch_set_syscall(struct ptrace_child *child, + unsigned long sysno) { + unsigned long x_reg[18]; + struct iovec reg_iovec = { + .iov_base = x_reg, + .iov_len = sizeof(x_reg) + }; + if (ptrace_command(child, PTRACE_GETREGSET, NT_PRSTATUS, ®_iovec) < 0) + return -1; + + x_reg[17] = sysno; + return ptrace_command(child, PTRACE_SETREGSET, NT_PRSTATUS, ®_iovec); +} + +static inline int arch_save_syscall(struct ptrace_child *child) { + unsigned long x_reg[18]; + struct iovec reg_iovec = { + .iov_base = x_reg, + .iov_len = sizeof(x_reg) + }; + if (ptrace_command(child, PTRACE_GETREGSET, NT_PRSTATUS, ®_iovec) < 0) + return -1; + + child->saved_syscall = x_reg[17]; + return 0; +} + +static inline int arch_restore_syscall(struct ptrace_child *child) { + return arch_set_syscall(child, child->saved_syscall); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/platform/linux/linux.c new/reptyr-reptyr-0.9.0/platform/linux/linux.c --- old/reptyr-reptyr-0.8.0/platform/linux/linux.c 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/platform/linux/linux.c 2022-06-12 17:58:44.000000000 +0200 @@ -100,7 +100,7 @@ *out = -1; goto out; } - if(sscanf(p, "Uid:\t%d", out) < 0) { + if (sscanf(p, "Uid:\t%d", out) < 0) { debug("Unable to parse emulator uid: unparseable Uid line"); } @@ -229,7 +229,7 @@ if (stat("/dev/console", &console_st) < 0) { error("Unable to stat /dev/console"); - console_st = (struct stat){ + console_st = (struct stat) { .st_rdev = -1, }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/platform/linux/linux_ptrace.c new/reptyr-reptyr-0.9.0/platform/linux/linux_ptrace.c --- old/reptyr-reptyr-0.8.0/platform/linux/linux_ptrace.c 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/platform/linux/linux_ptrace.c 2022-06-12 17:58:44.000000000 +0200 @@ -84,6 +84,8 @@ #include "arch/aarch64.h" #elif defined(__powerpc__) #include "arch/powerpc.h" +#elif defined(__riscv) && __riscv_xlen == 64 +#include "arch/riscv64.h" #else #error Unsupported architecture. #endif @@ -158,7 +160,8 @@ child->state = (child->state == ptrace_at_syscall) ? ptrace_after_syscall : ptrace_at_syscall; } else { - if (sig == SIGTRAP && (((child->status >> 8) & PTRACE_EVENT_FORK) == PTRACE_EVENT_FORK)) + int event = child->status >> 16; + if (sig == SIGTRAP && event == PTRACE_EVENT_FORK) ptrace_command(child, PTRACE_GETEVENTMSG, 0, &child->forked_pid); if (child->state != ptrace_at_syscall) child->state = ptrace_stopped; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/ptrace.h new/reptyr-reptyr-0.9.0/ptrace.h --- old/reptyr-reptyr-0.8.0/ptrace.h 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/ptrace.h 2022-06-12 17:58:44.000000000 +0200 @@ -25,6 +25,9 @@ #ifdef __powerpc__ #include <asm/ptrace.h> #endif +#ifdef __riscv +#include <asm/ptrace.h> +#endif #include <sys/ptrace.h> #include <sys/types.h> #include <sys/user.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/reptyr.fr.1 new/reptyr-reptyr-0.9.0/reptyr.fr.1 --- old/reptyr-reptyr-0.8.0/reptyr.fr.1 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/reptyr.fr.1 2022-06-12 17:58:44.000000000 +0200 @@ -137,7 +137,7 @@ abandonne un fils zombie dans ce cas. ??a devrait pouvoir ??tre corrig??. Vous pouvez rapporter des bugs ?? l'auteur (voir ci-dessous) ou par -l'issue tracker sur +l'issue tracker sur GitHub. .SH AUTEURS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/test/util.py new/reptyr-reptyr-0.9.0/test/util.py --- old/reptyr-reptyr-0.8.0/test/util.py 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/test/util.py 2022-06-12 17:58:44.000000000 +0200 @@ -14,4 +14,4 @@ except OSError as e: if e.errno == errno.EIO: return - raise AssertionError("Expected EOF, other expection: {}".format(e)) + raise AssertionError("Expected EOF, other exception: {}".format(e)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reptyr-reptyr-0.8.0/test/victim.c new/reptyr-reptyr-0.9.0/test/victim.c --- old/reptyr-reptyr-0.8.0/test/victim.c 2020-09-29 23:29:59.000000000 +0200 +++ new/reptyr-reptyr-0.9.0/test/victim.c 2022-06-12 17:58:44.000000000 +0200 @@ -23,7 +23,7 @@ } #endif - while(getline(&line, &cap, stdin) != -1) { + while (getline(&line, &cap, stdin) != -1) { printf("ECHO: %s", line); }
