Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ugrep for openSUSE:Factory checked in at 2022-12-30 12:28:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ugrep (Old) and /work/SRC/openSUSE:Factory/.ugrep.new.1563 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ugrep" Fri Dec 30 12:28:36 2022 rev:33 rq:1045810 version:3.9.3 Changes: -------- --- /work/SRC/openSUSE:Factory/ugrep/ugrep.changes 2022-08-23 14:27:17.971312329 +0200 +++ /work/SRC/openSUSE:Factory/.ugrep.new.1563/ugrep.changes 2022-12-30 12:28:38.075739649 +0100 @@ -1,0 +2,7 @@ +Fri Dec 30 10:30:57 UTC 2022 - Andreas Stieger <andreas.stie...@gmx.de> + +- update to 3.9.3: + * Fix a PCRE2 library-related issues with -P (--perl-regexp) + matching binary files + +------------------------------------------------------------------- Old: ---- ugrep-3.9.2.tar.gz New: ---- ugrep-3.9.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ugrep.spec ++++++ --- /var/tmp/diff_new_pack.yyj8w0/_old 2022-12-30 12:28:39.479747454 +0100 +++ /var/tmp/diff_new_pack.yyj8w0/_new 2022-12-30 12:28:39.487747498 +0100 @@ -17,7 +17,7 @@ Name: ugrep -Version: 3.9.2 +Version: 3.9.3 Release: 0 Summary: Universal grep: a feature-rich grep implementation with focus on speed License: BSD-3-Clause ++++++ ugrep-3.9.2.tar.gz -> ugrep-3.9.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-3.9.2/.github/workflows/codeql.yml new/ugrep-3.9.3/.github/workflows/codeql.yml --- old/ugrep-3.9.2/.github/workflows/codeql.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/ugrep-3.9.3/.github/workflows/codeql.yml 2022-12-29 17:15:24.000000000 +0100 @@ -0,0 +1,41 @@ +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + schedule: + - cron: "37 22 * * 0" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ cpp ] + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality + + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{ matrix.language }}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-3.9.2/README.md new/ugrep-3.9.3/README.md --- old/ugrep-3.9.2/README.md 2022-08-21 18:20:26.000000000 +0200 +++ new/ugrep-3.9.3/README.md 2022-12-29 17:15:24.000000000 +0100 @@ -72,6 +72,7 @@ ug --filter='odt,doc,docx,rtf,xls,xlsx,ppt,pptx:soffice --headless --cat %' PATTERN ... ug --filter='pem:openssl x509 -text,cer,crt,der:openssl x509 -text -inform der' PATTERN ... ug --filter='latin1:iconv -f LATIN1 -t UTF-8' PATTERN ... + ug --filter='7z:7z x -so -si' PATTERN ... > ð¡**ProTip** filters are selected based on the specified list of filename extensions. Filters can be any commands (including your own scripts and executables) that take standard input to produce standard output. @@ -109,7 +110,7 @@ - Search patterns excluding [negative patterns](#not) ("match this but not that") - ug PATTERN -N NOTPATTERN ... ug '[0-9]+' -N 123 ... + ug -e PATTERN -N NOTPATTERN ... ug -e '[0-9]+' -N 123 ... - Use [predefined regex patterns](#source) to search source code, javascript, XML, JSON, HTML, PHP, markdown, etc. @@ -261,6 +262,15 @@ Check <https://archlinux.org/packages/community/x86_64/ugrep> for version info. +### CentOS + +First enable the [EPEL repository](https://docs.fedoraproject.org/en-US/epel/), +then you can install ugrep. + + $ dnf install ugrep + +Check <https://packages.fedoraproject.org/pkgs/ugrep/ugrep/> for version info. + ### Debian $ apt-get install ugrep @@ -268,6 +278,12 @@ Check <https://packages.debian.org/ugrep> for version info. To build and try `ugrep` locally, see "All platforms" build steps further below. +### Fedora + + $ dnf install ugrep + +Check <https://packages.fedoraproject.org/pkgs/ugrep/ugrep/> for version info. + ### FreeBSD $ pkg install ugrep @@ -287,6 +303,15 @@ You can use the standard NetBSD package installer (pkgsrc): <http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/textproc/ugrep/README.html> +### RHEL + +First enable the [EPEL repository](https://docs.fedoraproject.org/en-US/epel/), +then you can install ugrep. + + $ dnf install ugrep + +Check <https://packages.fedoraproject.org/pkgs/ugrep/ugrep/> for version info. + ### Other platforms: step 1 download Clone `ugrep` with @@ -951,7 +976,7 @@ we can use *negative patterns* with option `-N` to skip unwanted matches in C/C++ quoted strings and comment blocks: - ug -r -nkw 'main' -N '"(\\.|\\\r?\n|[^\\\n"])*"|//.*|/\*([^*]|\n|(\*+([^*/]|\n)))*\*+\/' myproject + ug -r -nkw -e 'main' -N '"(\\.|\\\r?\n|[^\\\n"])*"|//.*|/\*([^*]|\n|(\*+([^*/]|\n)))*\*+\/' myproject This is a lot of work to type in correctly! If you are like me, I don't want to spend time fiddling with regex patterns when I am working on something more @@ -1670,13 +1695,13 @@ To search for decimals using pattern `\d+` that do not start with `0` using negative pattern `0\d+` and excluding `555`: - ug '\d+' -N '0\d+' -N 555 myfile.cpp + ug -e '\d+' -N '0\d+' -N 555 myfile.cpp To search for words starting with `disp` without matching `display` in file `myfile.py` by using a "negative pattern" `-N '/<display\>'` where `-N` specifies an additional negative pattern to skip matches: - ug '\<disp' -N '\<display\>' myfile.py + ug -e '\<disp' -N '\<display\>' myfile.py To search for lines with the word `display` in file `myfile.py` skipping this word in strings and comments, where `-f` specifies patterns in files which are @@ -1686,7 +1711,7 @@ To display lines that are not blank lines: - ug -x '.*' -N '\h*' myfile.py + ug -x -e '.*' -N '\h*' myfile.py Same, but using `-v` and `-x` with `\h*`, i.e. pattern `^\h*$`: @@ -1787,7 +1812,7 @@ the valid Unicode range) by matching any code point with `.` and by using a negative pattern `-N '\p{Unicode}'`: - ug -Rl '.' -N '\p{Unicode}' + ug -Rl -e '.' -N '\p{Unicode}' To display lines containing laughing face emojis: @@ -2409,7 +2434,7 @@ Common filter utilities are `cat` (concat, pass through), `head` (select first lines or bytes) `tr` (translate), `iconv` and `uconv` (convert), and more -advanced document conversion utilities such as: +advanced utilities such as: - [`pdftotext`](https://pypi.org/project/pdftotext) to convert PDF to text - [`pandoc`](https://pandoc.org) to convert .docx, .epub, and other document @@ -2422,14 +2447,18 @@ embedded in image and video media formats. Also decompressors may be used as filter utilities, such as `unzip`, `gunzip`, -`bunzip2`, `unlzma`, `unxz` and `lzop` that decompress files to standard output -when option `--stdout` is specified. For example: +`bunzip2`, `unlzma`, `unxz`, `lzop` and `7z` that decompress files to standard +output when option `--stdout` is specified. For example: ug --filter='lzo:lzop -d --stdout -' ... + ug --filter='gz:gunzip -d --stdout -' ... + ug --filter='7z:7z x -so %' ... The `--filter='lzo:lzop -d --stdout -' option decompresses files with extension `lzo` to standard output with `--stdout` with the compressed stream being read -from standard input with `-`. +from standard input with `-`. The `--filter='7z:7z x -so -si` option +decompresses files with extension `7z` to standard output `-so` while reading +standard input `-si` with the compressed file contents. Note that **ugrep** option `-z` is typically faster to search compressed files compared to `--filter`. @@ -3852,7 +3881,7 @@ force reading from standard input, specify `-' as a FILE argument. Directories specified as FILE arguments are searched without recursing - deeper into subdirectories, unless -r, -r, or -2...-9 is specified to + deeper into subdirectories, unless -R, -r, or -2...-9 is specified to search subdirectories. Hidden files and directories are ignored in recursive searches. Option @@ -5208,7 +5237,7 @@ - ugrep 3.9.0 August 12, 2022 UGREP(1) + ugrep 3.9.3 December 29, 2022 UGREP(1) ð [Back to table of contents](#toc) Binary files old/ugrep-3.9.2/bin/win32/ugrep.exe and new/ugrep-3.9.3/bin/win32/ugrep.exe differ Binary files old/ugrep-3.9.2/bin/win64/ugrep.exe and new/ugrep-3.9.3/bin/win64/ugrep.exe differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-3.9.2/include/reflex/pcre2matcher.h new/ugrep-3.9.3/include/reflex/pcre2matcher.h --- old/ugrep-3.9.2/include/reflex/pcre2matcher.h 2022-08-21 18:20:26.000000000 +0200 +++ new/ugrep-3.9.3/include/reflex/pcre2matcher.h 2022-12-29 17:15:24.000000000 +0100 @@ -292,6 +292,8 @@ int err; PCRE2_SIZE pos; ASSERT(pat_ != NULL); + if (cop_ & PCRE2_UTF) + cop_ |= PCRE2_MATCH_INVALID_UTF; // recommended in the PCRE2 docs when using UTF-8 opc_ = pcre2_compile(reinterpret_cast<PCRE2_SPTR>(pat_->c_str()), static_cast<PCRE2_SIZE>(pat_->size()), cop_, &err, &pos, NULL); if (opc_ == NULL) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-3.9.2/man/ugrep.1 new/ugrep-3.9.3/man/ugrep.1 --- old/ugrep-3.9.2/man/ugrep.1 2022-08-21 18:20:26.000000000 +0200 +++ new/ugrep-3.9.3/man/ugrep.1 2022-12-29 17:15:24.000000000 +0100 @@ -1,4 +1,4 @@ -.TH UGREP "1" "August 12, 2022" "ugrep 3.9.0" "User Commands" +.TH UGREP "1" "December 29, 2022" "ugrep 3.9.3" "User Commands" .SH NAME \fBugrep\fR, \fBug\fR -- file pattern searcher .SH SYNOPSIS @@ -30,7 +30,7 @@ force reading from standard input, specify `-' as a \fIFILE\fR argument. .PP Directories specified as \fIFILE\fR arguments are searched without recursing -deeper into subdirectories, unless \fB-r\fR, \fB-r\fR, or \fB-2\fR...\fB-9\fR +deeper into subdirectories, unless \fB-R\fR, \fB-r\fR, or \fB-2\fR...\fB-9\fR is specified to search subdirectories. .PP Hidden files and directories are ignored in recursive searches. Option diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-3.9.2/man.sh new/ugrep-3.9.3/man.sh --- old/ugrep-3.9.2/man.sh 2022-08-21 18:20:26.000000000 +0200 +++ new/ugrep-3.9.3/man.sh 2022-12-29 17:15:24.000000000 +0100 @@ -45,7 +45,7 @@ force reading from standard input, specify `-' as a \fIFILE\fR argument. .PP Directories specified as \fIFILE\fR arguments are searched without recursing -deeper into subdirectories, unless \fB-r\fR, \fB-r\fR, or \fB-2\fR...\fB-9\fR +deeper into subdirectories, unless \fB-R\fR, \fB-r\fR, or \fB-2\fR...\fB-9\fR is specified to search subdirectories. .PP Hidden files and directories are ignored in recursive searches. Option diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-3.9.2/src/glob.cpp new/ugrep-3.9.3/src/glob.cpp --- old/ugrep-3.9.2/src/glob.cpp 2022-08-21 18:20:26.000000000 +0200 +++ new/ugrep-3.9.3/src/glob.cpp 2022-12-29 17:15:24.000000000 +0100 @@ -120,7 +120,9 @@ text1_backup = NULL; glob1_backup = NULL; text2_backup = text; - glob2_backup = ++glob; + glob2_backup = glob; + if (*text != '/') + glob++; continue; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-3.9.2/src/ugrep.cpp new/ugrep-3.9.3/src/ugrep.cpp --- old/ugrep-3.9.2/src/ugrep.cpp 2022-08-21 18:20:26.000000000 +0200 +++ new/ugrep-3.9.3/src/ugrep.cpp 2022-12-29 17:15:24.000000000 +0100 @@ -4404,7 +4404,9 @@ flag_cpp = true; else if (strcmp(arg, "csv") == 0) flag_csv = true; - else if (strcmp(arg, "colors") == 0 || strcmp(arg, "colours") == 0) + else if (strcmp(arg, "colors") == 0 || + strcmp(arg, "colours") == 0 || + strcmp(arg, "context") == 0) usage("missing argument for --", arg); else usage("invalid option --", arg, "--color, --colors, --column-number, --config, --confirm, --context, --count, --cpp or --csv"); @@ -4425,7 +4427,9 @@ flag_directories = arg + 12; else if (strcmp(arg, "dotall") == 0) flag_dotall = true; - else if (strcmp(arg, "depth") == 0) + else if (strcmp(arg, "depth") == 0 || + strcmp(arg, "devices") == 0 || + strcmp(arg, "directories") == 0) usage("missing argument for --", arg); else usage("invalid option --", arg, "--decompress, --depth, --dereference, --dereference-recursive, --devices, --directories or --dotall"); @@ -4624,7 +4628,13 @@ flag_max_mmap = strtopos(arg + 5, "invalid argument --mmap="); else if (strcmp(arg, "messages") == 0) flag_no_messages = false; - else if (strcmp(arg, "max-count") == 0 || strcmp(arg, "max-depth") == 0 || strcmp(arg, "max-files") == 0 || strcmp(arg, "max-line") == 0 || strcmp(arg, "min-count") == 0 || strcmp(arg, "min-depth") == 0 || strcmp(arg, "min-line") == 0) + else if (strcmp(arg, "max-count") == 0 || + strcmp(arg, "max-depth") == 0 || + strcmp(arg, "max-files") == 0 || + strcmp(arg, "max-line") == 0 || + strcmp(arg, "min-count") == 0 || + strcmp(arg, "min-depth") == 0 || + strcmp(arg, "min-line") == 0) usage("missing argument for --", arg); else usage("invalid option --", arg, "--match, --max-count, --max-depth, --max-files, --max-line, --min-count, --min-depth, --min-line, --mmap or --messages"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-3.9.2/src/ugrep.hpp new/ugrep-3.9.3/src/ugrep.hpp --- old/ugrep-3.9.2/src/ugrep.hpp 2022-08-21 18:20:26.000000000 +0200 +++ new/ugrep-3.9.3/src/ugrep.hpp 2022-12-29 17:15:24.000000000 +0100 @@ -38,7 +38,7 @@ #define UGREP_HPP // ugrep version -#define UGREP_VERSION "3.9.2" +#define UGREP_VERSION "3.9.3" // disable mmap because mmap is almost always slower than the file reading speed improvements since 3.0.0 #define WITH_NO_MMAP