Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package entr for openSUSE:Factory checked in 
at 2023-09-10 13:11:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/entr (Old)
 and      /work/SRC/openSUSE:Factory/.entr.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "entr"

Sun Sep 10 13:11:17 2023 rev:14 rq:1110017 version:5.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/entr/entr.changes        2023-01-23 
18:32:06.344119210 +0100
+++ /work/SRC/openSUSE:Factory/.entr.new.1766/entr.changes      2023-09-10 
13:12:34.727588812 +0200
@@ -1,0 +2,12 @@
+Fri Sep  8 09:23:42 UTC 2023 - Andrea Manzini <andrea.manz...@suse.com>
+
+- Update to version 5.4
+ * 'make test' runs a quick smoketest, 'make check' runs regressions
+ * Set IN_CLOEXEC only for inotify_init, kqueue uses similar setting by default
+ * Unconditionally try to set soft file limit to 2^16 on MacOS
+ * Use non-reentrant calls sparingly in signal handlers
+ * configure: use TARGET_OS to override the output of uname(1)
+
+- added only basic smoke test
+
+-------------------------------------------------------------------

Old:
----
  entr-5.3.tar.gz
  entr-5.3.tar.gz.sig

New:
----
  entr-5.4.tar.gz
  entr-5.4.tar.gz.sig

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

Other differences:
------------------
++++++ entr.spec ++++++
--- /var/tmp/diff_new_pack.4WDHkn/_old  2023-09-10 13:12:35.819627827 +0200
+++ /var/tmp/diff_new_pack.4WDHkn/_new  2023-09-10 13:12:35.819627827 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           entr
-Version:        5.3
+Version:        5.4
 Release:        0
 Summary:        A utility for running arbitrary commands when files change
 License:        ISC
@@ -46,6 +46,9 @@
 export MANPREFIX=%{_mandir}
 %make_install
 
+%check
+make test
+
 %files
 %license LICENSE
 %doc NEWS README.md

++++++ entr-5.3.tar.gz -> entr-5.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/entr-5.3/Makefile.bsd new/entr-5.4/Makefile.bsd
--- old/entr-5.3/Makefile.bsd   2023-01-20 18:36:23.000000000 +0100
+++ new/entr-5.4/Makefile.bsd   2023-08-01 21:48:53.000000000 +0200
@@ -1,21 +1,21 @@
 PREFIX ?= /usr/local
 MANPREFIX ?= ${PREFIX}/man
-RELEASE = 5.3
+RELEASE = 5.4
 CPPFLAGS += -DRELEASE=\"${RELEASE}\"
 
 all: versioncheck entr
 
 test: entr
+       ls entr.1 | ./entr -zns 'wc $$0'
+
+check: entr
        ./system_test.sh
 
 entr: entr.c ${EXTRA_SRC}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${EXTRA_SRC} entr.c -o $@
 
-entr_spec: entr_spec.c entr.c ${EXTRA_SRC}
-       ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${EXTRA_SRC} entr_spec.c -o $@
-
 clean:
-       rm -f entr entr_spec *.o
+       rm -f entr
 
 distclean: clean
        rm -f Makefile
@@ -33,4 +33,4 @@
 versioncheck:
        @head -n3 NEWS | egrep -q "^= Next Release: ${RELEASE}|^== ${RELEASE}: "
 
-.PHONY: all test gcc-lint regress clean distclean install uninstall 
versioncheck
+.PHONY: all test check clean distclean install uninstall versioncheck
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/entr-5.3/NEWS new/entr-5.4/NEWS
--- old/entr-5.3/NEWS   2023-01-20 18:36:23.000000000 +0100
+++ new/entr-5.4/NEWS   2023-08-01 21:48:53.000000000 +0200
@@ -1,5 +1,13 @@
 = Release History
 
+== 5.4: August 1, 2023
+
+ - 'make test' runs a quick smoketest, 'make check' runs regressions
+ - Set IN_CLOEXEC only for inotify_init, kqueue uses similar setting by default
+ - Unconditionally try to set soft file limit to 2^16 on MacOS
+ - Use non-reentrant calls sparingly in signal handlers
+ - configure: use TARGET_OS to override the output of uname(1)
+
 == 5.3: January 20, 2023
 
  - Symlink changes detected on Linux by setting 'ENTR_INOTIFY_SYMLINK'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/entr-5.3/README.md new/entr-5.4/README.md
--- old/entr-5.3/README.md      2023-01-20 18:36:23.000000000 +0100
+++ new/entr-5.4/README.md      2023-08-01 21:48:53.000000000 +0200
@@ -1,9 +1,9 @@
 Event Notify Test Runner
 ========================
 
-A utility for running arbitrary commands when files change. Uses [kqueue(2)] or
-[inotify(7)] to avoid polling.  `entr` was written to make rapid feedback and
-automated testing natural and completely ordinary.
+A utility for running arbitrary commands when files change. Uses kqueue(2) or
+inotify(7) to avoid polling.  `entr` was written to facilitate rapid feedback
+on the command line.
 
 Source Installation - BSD, Mac OS, and Linux
 --------------------------------------------
@@ -17,9 +17,9 @@
 Docker and WSL
 --------------
 
-Incomplete inotify support on Windows Subsystem for Linux and Docker for Mac 
can
-cause `entr` to respond inconsistently. Setting the environment variable
-`ENTR_INOTIFY_WORKAROUND` will enable `entr` to operate in these environments.
+Incomplete inotify support on _Windows Subsystem for Linux_ and _Docker for 
Mac_
+may cause `entr` to respond incorrectly. Setting the environment variable
+`ENTR_INOTIFY_WORKAROUND` enables `entr` to operate in these environments.
 
 Linux Features
 --------------
@@ -32,7 +32,7 @@
 
 Rebuild a project if source files change, limiting output to the first 20 
lines:
 
-    $ find src/ | entr sh -c 'make | head -n 20'
+    $ find src/ | entr -s 'make | head -n 20'
 
 Launch and auto-reload a node.js server:
 
@@ -55,6 +55,3 @@
 
 A release history as well as features in the upcoming release are covered in 
the
 [NEWS](NEWS) file.
-
-[kqueue(2)]: http://man.openbsd.org/kqueue.2
-[inotify(7)]: http://man.he.net/?section=all&topic=inotify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/entr-5.3/configure new/entr-5.4/configure
--- old/entr-5.3/configure      2023-01-20 18:36:23.000000000 +0100
+++ new/entr-5.4/configure      2023-08-01 21:48:53.000000000 +0200
@@ -1,28 +1,32 @@
 #!/bin/sh
 
 copy_mk() {
-    cmd="cp Makefile.$1 Makefile"
-    echo "$cmd"; $cmd
+       cmd="cp Makefile.$1 Makefile"
+       echo "+ $cmd"; $cmd
 }
 
-case `uname` in
-    Darwin) copy_mk macos ;;
-    Linux)  copy_mk linux ;;
-    *)      copy_mk bsd ;;
-esac
-
-[ $# = 0 ] && exit 0
-
-cat <<HELP
-Adjust build options by setting the following environment variables:
-
-`make env`
-
-Example: build a static binary and install to your home directory
-
-./configure
-CFLAGS="-static" make
-PREFIX=\$HOME/local make install
+usage() {
+       cat <<-HELP
+       Usage: configure [-h]
+       Example: build a static binary and install to your home directory
+
+       ./configure
+       CFLAGS="-static" make
+       PREFIX=\$HOME/local make install
+       HELP
+       exit 1
+}
 
-HELP
-exit 1
+while [ $# -gt 0 ]; do
+       case $1 in
+               -h) usage ;;
+                *) echo "configure: unused argument: $1" ;;
+       esac
+       shift
+done
+
+case "${TARGET_OS:-`uname`}" in
+       Darwin) copy_mk macos ;;
+       Linux)  copy_mk linux ;;
+       *)      copy_mk bsd ;;
+esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/entr-5.3/entr.1 new/entr-5.4/entr.1
--- old/entr-5.3/entr.1 2023-01-20 18:36:23.000000000 +0100
+++ new/entr-5.4/entr.1 2023-08-01 21:48:53.000000000 +0200
@@ -13,7 +13,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd January 20, 2023
+.Dd August 1, 2023
 .Dt ENTR 1
 .Os
 .Sh NAME
@@ -165,7 +165,7 @@
 .Sh EXAMPLES
 Rebuild a project if source files change, limiting output to the first 20 
lines:
 .Pp
-.Dl $ find src/ | entr -s 'make | sed 20q'
+.Dl $ find src/ | entr -s 'make | head -n 20'
 .Pp
 Launch and auto-reload a node.js server:
 .Pp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/entr-5.3/entr.c new/entr-5.4/entr.c
--- old/entr-5.3/entr.c 2023-01-20 18:36:23.000000000 +0100
+++ new/entr-5.4/entr.c 2023-08-01 21:48:53.000000000 +0200
@@ -69,6 +69,8 @@
 int termios_set;
 struct termios canonical_tty;
 
+static char *shell, *shell_base;
+
 /* forwards */
 
 static void usage();
@@ -135,8 +137,12 @@
                err(1, "getrlimit");
        /* guard against unrealistic replies */
        open_max = min(65536, (unsigned)rl.rlim_cur);
-       if (open_max == 0)
-               open_max = 65536;
+       /* maxfiles is ulimited on modern MacOS */
+       if (open_max < 65536) {
+               rl.rlim_cur = (rlim_t)65536;
+               if (setrlimit(RLIMIT_NOFILE, &rl) == 0 || open_max == 0)
+                       open_max = 65536;
+       }
 #else /* BSD */
        if (getrlimit(RLIMIT_NOFILE, &rl) == -1)
                err(1, "getrlimit");
@@ -155,15 +161,18 @@
        /* ensure a shell is available to use */
        setenv("SHELL", "/bin/sh", 0);
 
+       shell = getenv("SHELL");
+       shell_base = strdup(shell);
+       if (shell_base == NULL)
+               err(1, "cannot duplicate string");
+       shell_base = basename(shell_base);
+
        /* sequential scan may depend on a 0 at the end */
        files = calloc(open_max+1, sizeof(WatchFile *));
 
        if ((kq = kqueue()) == -1)
                err(1, "cannot create kqueue");
 
-       if (fcntl(kq, F_SETFD, FD_CLOEXEC) == -1)
-               warn("failed to set FD_CLOEXEC to kqueue descriptor");
-
        /* expect file list from a pipe */
        if (isatty(fileno(stdin)))
                usage();
@@ -236,7 +245,7 @@
        terminate_utility();
 
        if ((sig == SIGINT || sig == SIGHUP))
-           exit(0);
+           _exit(0);
        else
            raise(sig);
 }
@@ -244,6 +253,7 @@
 void
 proc_exit(int sig) {
        int status;
+       int saved_errno = errno;
 
        if ((!noninteractive_opt) && (termios_set))
                tcsetattr(STDIN_FILENO, TCSADRAIN, &canonical_tty);
@@ -256,20 +266,26 @@
                        print_child_status(child_status);
 
                if WIFSIGNALED(child_status)
-                       exit(128 + WTERMSIG(child_status));
+                       _exit(128 + WTERMSIG(child_status));
                else
-                       exit(WEXITSTATUS(child_status));
+                       _exit(WEXITSTATUS(child_status));
        }
+       /* restore errno so that the resuming code is unimpacted. */
+       errno = saved_errno;
 }
 
 void
 print_child_status(int status) {
+       int len;
+       char buf[2048];
+
        if WIFSIGNALED(status)
-               fprintf(stdout, "%s terminated by signal %d\n",
-                   basename(getenv("SHELL")), WTERMSIG(status));
+               len = snprintf(buf, sizeof(buf), "%s terminated by signal %d\n",
+                   shell_base, WTERMSIG(status));
        else
-               fprintf(stdout, "%s returned exit code %d\n",
-                   basename(getenv("SHELL")), WEXITSTATUS(status));
+               len = snprintf(buf, sizeof(buf), "%s returned exit code %d\n",
+                   shell_base, WEXITSTATUS(status));
+       write(STDOUT_FILENO, buf, len);
 }
 
 /*
@@ -414,7 +430,7 @@
                arg_buf = malloc(ARG_MAX);
                new_argv = calloc(argc+1, sizeof(char *));
                realpath(leading_edge->fn, arg_buf);
-               new_argv[0] = getenv("SHELL");
+               new_argv[0] = shell;
                new_argv[1] = "-c";
                new_argv[2] = argv[0];
                new_argv[3] = arg_buf;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/entr-5.3/missing/kqueue_inotify.c 
new/entr-5.4/missing/kqueue_inotify.c
--- old/entr-5.3/missing/kqueue_inotify.c       2023-01-20 18:36:23.000000000 
+0100
+++ new/entr-5.4/missing/kqueue_inotify.c       2023-08-01 21:48:53.000000000 
+0200
@@ -91,7 +91,7 @@
        static int inotify_queue;
 
        if (inotify_queue == 0)
-               inotify_queue = inotify_init();
+               inotify_queue = inotify_init1(IN_CLOEXEC);
        if (getenv("ENTR_INOTIFY_WORKAROUND"))
                warnx("broken inotify workaround enabled");
        else if (getenv("ENTR_INOTIFY_SYMLINK"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/entr-5.3/system_test.sh new/entr-5.4/system_test.sh
--- old/entr-5.3/system_test.sh 2023-01-20 18:36:23.000000000 +0100
+++ new/entr-5.4/system_test.sh 2023-08-01 21:48:53.000000000 +0200
@@ -35,12 +35,13 @@
 clear_tmux='tmux kill-session -t $tsession 2>/dev/null || true'
 clear_tmp='rm -rf $tmp'
 trap "$clear_tty; $clear_tmux; $clear_tmp" EXIT
+trap 'printf "\nTerminated by SIGINT at line $LINENO\n"; exit 1' INT
 
 # required utilities
 
 utils="file pgrep git vim tmux"
 for util in $utils; do
-       p=$(which $util 2> /dev/null) || {
+       p=$(command -pv $util) || {
                echo "ERROR: could not locate the '$util' utility" >&2
                echo "System tests depend on the following: $utils" >&2
                exit 1
@@ -250,6 +251,7 @@
                cp /usr/include/*.h $tmp/
                cd $tmp
                git init -q
+               git config --local user.email entr.t...@example.com
                git add *.h
                git commit -m "initial checkin" -q
                for f in `ls *.h | head`; do

Reply via email to