Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package obs-service-source_validator for 
openSUSE:Factory checked in at 2026-10-13 17:44:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-source_validator (Old)
 and      /work/SRC/openSUSE:Factory/.obs-service-source_validator.new.3698736 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "obs-service-source_validator"

Tue Oct 13 17:44:22 2026 rev:95 rq:1384455 version:0.48

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/obs-service-source_validator/obs-service-source_validator.changes
        2026-09-04 12:42:18.646589380 +0200
+++ 
/work/SRC/openSUSE:Factory/.obs-service-source_validator.new.3698736/obs-service-source_validator.changes
   2026-10-13 17:44:44.398793193 +0200
@@ -1,0 +2,10 @@
+Mon Oct 12 21:18:01 UTC 2026 - Dirk Müller <[email protected]>
+
+- Update to version 0.48:
+  * Fix dirassets check
+  * Improve help output
+  * add help output for moveassets and dirassets
+  * Update 20-files-present-and-referenced
+  * Fix directory assets handling
+
+-------------------------------------------------------------------

Old:
----
  obs-service-source_validator-0.47+1.tar.xz

New:
----
  obs-service-source_validator-0.48.tar.xz

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

Other differences:
------------------
++++++ obs-service-source_validator.spec ++++++
--- /var/tmp/diff_new_pack.3ExxD1/_old  2026-10-13 17:44:45.413835732 +0200
+++ /var/tmp/diff_new_pack.3ExxD1/_new  2026-10-13 17:44:45.416835857 +0200
@@ -22,7 +22,7 @@
 %define build_pkg_name obs-build
 %endif
 Name:           obs-service-source_validator
-Version:        0.47+1
+Version:        0.48
 Release:        0
 Summary:        An OBS source service: running all the osc source-validator 
checks
 License:        GPL-2.0-or-later

++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.3ExxD1/_old  2026-10-13 17:44:45.448837199 +0200
+++ /var/tmp/diff_new_pack.3ExxD1/_new  2026-10-13 17:44:45.451837324 +0200
@@ -1,5 +1,5 @@
 pkgname=obs-service-source_validator
-pkgver=0.47+1
+pkgver=0.48
 pkgrel=0
 pkgdesc='An OBS source service: running all the osc source-validator checks'
 arch=('any')

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.3ExxD1/_old  2026-10-13 17:44:45.497839252 +0200
+++ /var/tmp/diff_new_pack.3ExxD1/_new  2026-10-13 17:44:45.501839420 +0200
@@ -3,6 +3,6 @@
             <param 
name="url">git://github.com/openSUSE/obs-service-source_validator.git</param>
           <param 
name="changesrevision">c68d7a28c4ecd88b179359b030098503e75adc0b</param></service><service
 name="tar_scm">
                 <param 
name="url">https://github.com/openSUSE/obs-service-source_validator.git</param>
-              <param 
name="changesrevision">1814add32ba425d406c61f82346eaf045b796faf</param></service></servicedata>
+              <param 
name="changesrevision">cbb73bbad40c2387aced6374edaf8f00d05a868d</param></service></servicedata>
 (No newline at EOF)
 

++++++ debian.dsc ++++++
--- /var/tmp/diff_new_pack.3ExxD1/_old  2026-10-13 17:44:45.526840467 +0200
+++ /var/tmp/diff_new_pack.3ExxD1/_new  2026-10-13 17:44:45.529840593 +0200
@@ -1,6 +1,6 @@
 Format: 1.0
 Source: obs-service-source-validator
-Version: 0.47+1-0
+Version: 0.48-0
 Binary: obs-service-source-validator
 Maintainer: Hib Eris <[email protected]>
 Architecture: all

++++++ obs-service-source_validator-0.47+1.tar.xz -> 
obs-service-source_validator-0.48.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-source_validator-0.47+1/20-files-present-and-referenced 
new/obs-service-source_validator-0.48/20-files-present-and-referenced
--- old/obs-service-source_validator-0.47+1/20-files-present-and-referenced     
2026-09-02 22:37:51.000000000 +0200
+++ new/obs-service-source_validator-0.48/20-files-present-and-referenced       
2026-10-12 21:56:14.000000000 +0200
@@ -4,7 +4,7 @@
 test "$1" = "--batchmode" && { BATCHMODE=true ; shift ; }
 DIR_TO_CHECK="$1"
 DESTINATIONDIR="$2"
-OSC_MODE=""
+OSC_TRACKING_MODE=""
 test -n "$DIR_TO_CHECK" || DIR_TO_CHECK=$(pwd)
 BASE_DIR=$(dirname $0)
 BASE_DIR=${BASE_DIR:-.}
@@ -14,9 +14,10 @@
 
 test -z "$DESTINATIONDIR" && test -d "$DIR_TO_CHECK/.osc" && {
     if [ -d "$DIR_TO_CHECK/.git" ]; then
+        # osc has used git to clone the package source.
         DESTINATIONDIR="$DIR_TO_CHECK"
     else
-        OSCLIBVER="$(<.osc/_osclib_version)"
+        OSCLIBVER="$(<$DIR_TO_CHECK/.osc/_osclib_version)"
         case "$OSCLIBVER" in
             1.0)
                 DESTINATIONDIR="$DIR_TO_CHECK/.osc"
@@ -30,8 +31,8 @@
                 echo "osclib version $OSCLIBVER not yet supported by 
source_validator" && exit 2
                 ;;
         esac
+        OSC_TRACKING_MODE="true"
     fi
-    OSC_MODE="true"
 }
 
 RETURN=0
@@ -177,7 +178,7 @@
 {
     local file=${1##*/}
     local silent=${2}
-    if test "$OSC_MODE" = "true" ; then
+    if test "$OSC_TRACKING_MODE" = "true" ; then
         if test -f "$DESTINATIONDIR/$file" && ! grep -qsFx "$file" 
"$DOTOSCDIR/_to_be_deleted"; then
             return 0
         fi
@@ -212,6 +213,9 @@
             # assume it will generated on builtime based of the archive
             return 0
         fi
+        if test -d "$DIR_TO_CHECK/${file/\.tar*/}" && grep -q -F -x 
"${file/\.tar*/}" $TMPDIR/dirassets; then
+            return 0
+        fi
         if obscpio_file_list | grep -qFx "$file"; then
             return 0
         fi
@@ -223,6 +227,8 @@
 # normal source files
 if ! test -f "$DIR_TO_CHECK/_service"; then
     for HASTOBETHERE in $(<$TMPDIR/sources); do
+        # moveassets are handled below
+        grep -q -E "/$HASTOBETHERE$" $TMPDIR/moveassets && continue
         check_tracked "$HASTOBETHERE" || RETURN=2
     done
 fi
@@ -230,11 +236,12 @@
 # current policy is that a remote asset needs to be committed as part of the 
git.
 # So either a directory or an archive.
 for m in $(<$TMPDIR/moveassets); do
-       check_tracked "${m##*/}" silent && continue
-       check_tracked "${m%/*}" silent && continue
-       echo "ERROR: Current policy is to submit some part of a remote asset."
-       echo "       Either archive ${m##*/} or directory ${m%/*}."
-       RETURN=2
+    # check tracking of resulting tarball
+    check_tracked "${m##*/}" silent && continue
+    # check for tracking of source directory
+    check_tracked "${m%/*}" silent && continue
+    echo "ERROR: ${m##*/} mentioned in spec file (or the directory ${m%/*}/) 
is not tracked."
+    RETURN=2
 done
 
 for f in $(<$TMPDIR/sources); do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-source_validator-0.47+1/Makefile 
new/obs-service-source_validator-0.48/Makefile
--- old/obs-service-source_validator-0.47+1/Makefile    2026-09-02 
22:37:51.000000000 +0200
+++ new/obs-service-source_validator-0.48/Makefile      2026-10-12 
21:56:14.000000000 +0200
@@ -41,6 +41,7 @@
        ./20-files-present-and-referenced t/data/x2d/
        ./t/test_gitignore.sh
        ./t/test_remoteasset.sh
+       ./t/test_localdirectory.sh
        ./t/test_files_referenced.sh
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-source_validator-0.47+1/helpers/spec_query 
new/obs-service-source_validator-0.48/helpers/spec_query
--- old/obs-service-source_validator-0.47+1/helpers/spec_query  2026-09-02 
22:37:51.000000000 +0200
+++ new/obs-service-source_validator-0.48/helpers/spec_query    2026-10-12 
21:56:14.000000000 +0200
@@ -140,8 +140,7 @@
 
 sub print_moveassets {
   my ($descr) = @_;
-  print "@{$descr->{'moveassets'} || []} ";
-  print "\n";
+  print "$_\n" for @{$descr->{'moveassets'} || []};
 }
 
 sub print_subpacks {
@@ -152,8 +151,7 @@
 
 sub print_dirassets {
   my ($descr) = @_;
-  print "@{$descr->{'dirassets'}} " if @{$descr->{'dirassets'}};
-  print "\n";
+  print "$_\n" for @{$descr->{'dirassets'} || []};
 }
 
 sub print_sources {
@@ -182,6 +180,8 @@
   --disambiguate-sources:   disambiguate non-unique source/patch tags (only
                             needed for a "pathological" specfile)
   --print-subpacks:         print names of the main package and all subpackages
+  --print-dirassets:        print names of all assets that are generated from 
a directory
+  --print-moveassets:       print names of all assets that are renamed (moved) 
bofore build time
   --print-sources:          print names of all sources, patches, and icons
 
 EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-source_validator-0.47+1/t/test_localdirectory.sh 
new/obs-service-source_validator-0.48/t/test_localdirectory.sh
--- old/obs-service-source_validator-0.47+1/t/test_localdirectory.sh    
1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-source_validator-0.48/t/test_localdirectory.sh      
2026-10-12 21:56:14.000000000 +0200
@@ -0,0 +1,57 @@
+#!/bin/bash
+# Test for #!CreateArchive support in 20-files-present-and-referenced
+
+set -e
+
+# Path to the script to test
+VALIDATOR="./20-files-present-and-referenced"
+TEST_DATA_DIR="t/data/localdirectory_test"
+
+# Create test data directory if it doesn't exist
+rm -rf "$TEST_DATA_DIR"
+mkdir -p "$TEST_DATA_DIR"
+
+# Create a dummy spec file
+cat > "$TEST_DATA_DIR/test.spec" <<EOF
+Name: test
+Version: 1.0
+Release: 0
+Summary: test
+License: MIT
+#!CreateArchive
+Source1:       node_modules.tar.xz
+#!CreateArchive: second_dir
+Source2:       second_dir-0.42.tar.gz
+%description
+test
+%prep
+%setup -q
+%build
+%install
+%files
+EOF
+
+# A git repository may provide a directory. This can be tar'd up at build time
+# without that need to re-do the tar on each commit.
+mkdir "$TEST_DATA_DIR/node_modules"
+touch "$TEST_DATA_DIR/node_modules/some_file"
+mkdir "$TEST_DATA_DIR/second_dir"
+touch "$TEST_DATA_DIR/second_dir/another_file"
+
+echo "Running validator on $TEST_DATA_DIR..."
+./20-files-present-and-referenced --batchmode "$TEST_DATA_DIR" || exit 1
+
+rm -rf "$TEST_DATA_DIR/second_dir"
+
+TOUT=$(mktemp)
+set +e
+./20-files-present-and-referenced --batchmode "$TEST_DATA_DIR" 2>/dev/null > 
$TOUT && exit 1
+set -e
+
+grep -q "ERROR: second_dir-0.42.tar.gz mentioned in spec file (or the 
directory second_dir/) is not tracked" $TOUT || { echo "FAIL"; cat $TOUT; exit 
1; }
+
+rm -f $TOUT
+
+exit 0
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-source_validator-0.47+1/t/test_remoteasset.sh 
new/obs-service-source_validator-0.48/t/test_remoteasset.sh
--- old/obs-service-source_validator-0.47+1/t/test_remoteasset.sh       
2026-09-02 22:37:51.000000000 +0200
+++ new/obs-service-source_validator-0.48/t/test_remoteasset.sh 2026-10-12 
21:56:14.000000000 +0200
@@ -42,7 +42,9 @@
 ./20-files-present-and-referenced --batchmode "$TEST_DATA_DIR" || exit 1
 
 rm "$TEST_DATA_DIR/llama.cpp-main.tar.xz"
-./20-files-present-and-referenced --batchmode "$TEST_DATA_DIR" 2>/dev/null | 
grep -q "ERROR: Current policy is to submit some part of a remote asset" || 
exit 1
+set +e
+./20-files-present-and-referenced --batchmode "$TEST_DATA_DIR" 2>/dev/null | 
grep -q "ERROR: llama.cpp-main.tar.xz mentioned in spec file" || exit 1
+set -e
 
 exit 0
 

Reply via email to