Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package frr for openSUSE:Factory checked in 
at 2026-03-27 16:50:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/frr (Old)
 and      /work/SRC/openSUSE:Factory/.frr.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "frr"

Fri Mar 27 16:50:25 2026 rev:43 rq:1343066 version:10.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/frr/frr.changes  2026-02-26 18:59:53.293642906 
+0100
+++ /work/SRC/openSUSE:Factory/.frr.new.8177/frr.changes        2026-03-27 
16:52:47.467679999 +0100
@@ -1,0 +2,14 @@
+Thu Mar  5 13:17:24 UTC 2026 - Marius Tomaschewski <[email protected]>
+
+- Add a factorydir build conditional to install the /etc/frr files in
+  the /usr/share/factory and copy/link this initial/default config via
+  tmpfiles.conf, enabled for suse versions > 16.0 (jsc#PED-14796).
+- Create the tmpfiles.conf in the spec file instead to sed rpm source.
+- Move creation of config files from rpm install to the build section.
+- Improve to use 0751 permissions for the /etc/frr directory to avoid
+  permission denied warning for vtysh.conf in vtysh started as user.
+- Change to frr.conf to use log syslog (journal) by default
+- Do not install obsolete/unused system-v script and manual page
+- Fix (include) file listed twice rpm warning in frr-devel package.
+
+-------------------------------------------------------------------

Old:
----
  frr-tmpfiles.d

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

Other differences:
------------------
++++++ frr.spec ++++++
--- /var/tmp/diff_new_pack.MDuISy/_old  2026-03-27 16:52:48.175710375 +0100
+++ /var/tmp/diff_new_pack.MDuISy/_new  2026-03-27 16:52:48.175710375 +0100
@@ -21,6 +21,11 @@
 %bcond_with     datacenter
 %bcond_with     mininet
 %bcond_with     grpc
+%if 0%{?suse_version} > 1600
+%bcond_without  factorydir
+%else
+%bcond_with     factorydir
+%endif
 
 %define frr_user frr
 %define frr_group frr
@@ -30,7 +35,7 @@
 %define frr_home %{_localstatedir}/lib/%{name}
 # see configure: frr_runstatedir=[/var]/run/frr
 %define frr_statedir %{_rundir}/%{name}
-%define frr_daemondir %{_prefix}/lib/frr
+%define frr_daemondir %{_prefix}/lib/%{name}
 
 Name:           frr
 Version:        10.5.1
@@ -41,7 +46,6 @@
 URL:            https://www.frrouting.org
 #Git-Clone:     https://github.com/FRRouting/frr.git
 Source:         
https://github.com/FRRouting/frr/archive/refs/tags/%{name}-%{version}.tar.gz
-Source1:        %{name}-tmpfiles.d
 Patch0:         harden_frr.service.patch
 Patch1:         0001-disable-zmq-test.patch
 Patch2:         0002-frr-logrotate.patch
@@ -289,7 +293,6 @@
     --enable-grpc
 %endif
 
-echo "pwd: $(pwd)"
 make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
 
 # Create frr user/groups
@@ -301,73 +304,108 @@
 __EOF__
 %sysusers_generate_pre %{name}-user.conf %{name} %{name}-user.conf
 
+# Create tmpfiles.d config
+cat >  %{name}-tmpfiles.conf << __EOF__
+d %{frr_logs}                   0750 %{frr_user} %{frr_group}
+d %{frr_home}                   0750 %{frr_user} %{frr_group}
+d %{frr_statedir}               0751 %{frr_user} %{frrvty_group}
+__EOF__
+%if %{with factorydir}
+# The vtysh.conf is never written by vtysh, symlink it.
+# The daemon file is edited by the user, the frr.conf is
+# written by user or by vtysh `write`, thus copy them
+# from the factory directory.
+cat >> %{name}-tmpfiles.conf << __EOF__
+d %{_sysconfdir}/frr            0751 %{frr_user} %{frr_group}
+C %{_sysconfdir}/frr/daemons    0640 %{frr_user} %{frr_group}
+C %{_sysconfdir}/frr/frr.conf   0640 %{frr_user} %{frr_group}
+L %{_sysconfdir}/frr/vtysh.conf -    -           -
+__EOF__
+%endif
+
+# Create initial frr config
+cat > frr.conf << __EOF__
+#
+# FRR's configuration shell, vtysh, dynamically edits the live, in-memory
+# configuration while FRR is running. When instructed, vtysh will persist the
+# live configuration to this file, overwriting its contents. If you want to
+# avoid this, you can edit this file manually before starting FRR, or instruct
+# vtysh to write configuration to a different file.
+#
+
+# Log to syslog (journal) by default
+log syslog notifications
+
+# Log rotation configuration expects optional log files in the %{frr_logs}
+# directory, written by a syslog daemon or by the frr daemons directly, e.g.:
+#log file %{frr_logs}/frr.log informational
+#log daemon bgpd %{frr_logs}/frr/bgpd.log debugging
+__EOF__
+
+# Create default vtysh config
+cat > vtysh.conf << __EOF__
+! vtysh is using PAM authentication allowing root and frrvty group members to 
use it.
+__EOF__
+
+
 %install
 make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
-%python3_fix_shebang_path %{buildroot}%{frr_daemondir}/*.py
 
-find %{buildroot} -type f -name "*.la" -delete -print
+%python3_fix_shebang_path %{buildroot}%{frr_daemondir}/*.py
 
-install -d %{buildroot}%{_sysconfdir}/frr
-install -d %{buildroot}/%{_docdir}/%{name}
-mv %{buildroot}/%{_datadir}/doc/frr/html %{buildroot}/%{_docdir}/%{name}
+install -d %{buildroot}%{_docdir}/%{name}
+mv %{buildroot}%{_datadir}/doc/frr/html %{buildroot}%{_docdir}/%{name}
 
 # remove stray buildinfo files
 find %{buildroot}/%{_docdir}/%{name} -type f -name .buildinfo -delete
 
+# remove stray libtool .la files
+find %{buildroot}%{_libdir}/ -type f -name "*.la" -delete -print
+
+# remove system-v init helper scripts & man page
+rm -f %{buildroot}%{frr_daemondir}/{frr,ssd}
+rm -f %{buildroot}%{_mandir}/man1/frr.1*
+
+# add rpki module to daemons file
+sed -e 's/^\(bgpd_options=\)\(.*\)\(".*\)/\1\2 -M rpki\3/' -i 
tools/etc/frr/daemons
+
+%if %{with factorydir}
+install -d -m 0755 %{buildroot}%{_datadir}/factory%{_sysconfdir}
+install -d -m 0751 %{buildroot}%{_datadir}/factory%{_sysconfdir}/%{name}
+install -D -m 0640 tools/etc/frr/daemons 
%{buildroot}%{_datadir}/factory%{_sysconfdir}/%{name}/
+install -D -m 0640 frr.conf              
%{buildroot}%{_datadir}/factory%{_sysconfdir}/%{name}/
+install -D -m 0640 vtysh.conf            
%{buildroot}%{_datadir}/factory%{_sysconfdir}/%{name}/
+%else
+install -d -m 0751 %{buildroot}%{_sysconfdir}/frr
+install -D -m 0640 tools/etc/frr/daemons %{buildroot}%{_sysconfdir}/%{name}/
+install -D -m 0640 frr.conf              %{buildroot}%{_sysconfdir}/%{name}/
+install -D -m 0640 vtysh.conf            %{buildroot}%{_sysconfdir}/%{name}/
+%endif
+
 # systemd service + daemons file
 install -D -m 0644 tools/frr.service %{buildroot}%{_unitdir}/frr.service
 sed -e "s|/var/run/frr|%{frr_statedir}|g" -i 
%{buildroot}%{_unitdir}/frr.service
-install -D -m 0644 tools%{_sysconfdir}/frr/daemons 
%{buildroot}%{_sysconfdir}/frr/daemons
-
-# add rpki module to daemon
-sed -i -e 's/^\(bgpd_options=\)\(.*\)\(".*\)/\1\2 -M rpki\3/' 
%{buildroot}%{_sysconfdir}/frr/daemons
 
+# pam and logrotation config
 %if 0%{?suse_version} > 1500
-mkdir -p %{buildroot}%{_pam_vendordir}
 install -D -m 0644 redhat/frr.pam %{buildroot}%{_pam_vendordir}/frr
-%else
-install -D -m 0644 redhat/frr.pam %{buildroot}%{_sysconfdir}/pam.d/frr
-%endif
-%if 0%{?suse_version} > 1500
 install -D -m 0644 tools/etc/logrotate.d/frr 
%{buildroot}%{_distconfdir}/logrotate.d/frr
 sed -e "s|/var/log/frr|%{frr_logs}|g" -e "s|/var/run/frr|%{frr_statedir}|g" \
     -i %{buildroot}%{_distconfdir}/logrotate.d/frr
 %else
+install -D -m 0644 redhat/frr.pam %{buildroot}%{_sysconfdir}/pam.d/frr
 install -D -m 0644 tools/etc/logrotate.d/frr 
%{buildroot}%{_sysconfdir}/logrotate.d/frr
 sed -e "s|/var/log/frr|%{frr_logs}|g" -e "s|/var/run/frr|%{frr_statedir}|g" \
     -i %{buildroot}%{_sysconfdir}/logrotate.d/frr
 %endif
 
-install -D -m 0644 %{SOURCE1} %{buildroot}/%{_tmpfilesdir}/%{name}.conf
-sed -e "s|@frr_user@|%{frr_user}|g" \
-    -e "s|@frr_group@|%{frr_group}|g" \
-    -e "s|@frrvty_group@|%{frrvty_group}|g" \
-    -e "s|@frr_logs@|%{frr_logs}|g" \
-    -e "s|@frr_home@|%{frr_home}|g" \
-    -e "s|@frr_statedir@|%{frr_statedir}|g" \
-    -i %{buildroot}/%{_tmpfilesdir}/%{name}.conf
-
-rm -f %{buildroot}%{frr_daemondir}/ssd
-
-cat > %{buildroot}%{_sysconfdir}/frr/frr.conf << __EOF__
-!hostname frr
-
-!password frr
-!enable password frr
-
-log file %{frr_logs}/frr.log
-__EOF__
-cat > %{buildroot}%{_sysconfdir}/frr/vtysh.conf << __EOF__
-! vtysh is using PAM authentication allowing root to use it.
-__EOF__
-
+install -D -m 0644 %{name}-tmpfiles.conf 
%{buildroot}/%{_tmpfilesdir}/%{name}.conf
 install -D -m 0644 %{name}-user.conf 
%{buildroot}%{_sysusersdir}/%{name}-user.conf
 
 %check
 make %{?_smp_mflags} -C tests
 
 %pre -f %{name}.pre
-
 %service_add_pre %{name}.service
 %if 0%{?suse_version} > 1500
 # Prepare for migration to /usr/etc; save any old .rpmsave
@@ -375,6 +413,12 @@
    test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave 
%{_sysconfdir}/${i}.rpmsave.old ||:
 done
 %endif
+%if %{with factorydir}
+# Prepare for migration to /usr/share/factory/etc/frr, save any old .rpmsave
+for i in %{name}/frr.conf %{name}/vtysh.conf %{name}/daemons ; do
+   test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave 
%{_sysconfdir}/${i}.rpmsave.old ||:
+done
+%endif
 
 %posttrans
 %if 0%{?suse_version} > 1500
@@ -383,6 +427,12 @@
    test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave 
%{_sysconfdir}/${i} ||:
 done
 %endif
+%if %{with factorydir}
+# Migration to /usr/share/factory/etc/frr, restore just created .rpmsave
+for i in %{name}/frr.conf %{name}/vtysh.conf %{name}/daemons ; do
+   test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave 
%{_sysconfdir}/${i} ||:
+done
+%endif
 
 %post
 %service_add_post %{name}.service
@@ -432,19 +482,29 @@
 %license COPYING
 %doc README.md
 %doc doc/mpls
-%dir %attr(0750,%{frr_user},%{frr_group}) %{_sysconfdir}/%{name}
-%config(noreplace) %attr(0640,%{frr_user},%{frr_group}) 
%{_sysconfdir}/%{name}/[!v]*.conf*
-%config(noreplace) %attr(0640,%{frr_user},%{frrvty_group}) 
%{_sysconfdir}/%{name}/vtysh.conf
-%config(noreplace) %attr(0640,%{frr_user},%{frr_group}) 
%{_sysconfdir}/%{name}/daemons
 %if 0%{?suse_version} > 1500
 %{_pam_vendordir}/frr
+%{_distconfdir}/logrotate.d/frr
 %else
 %config(noreplace) %{_sysconfdir}/pam.d/frr
+%config(noreplace) %{_sysconfdir}/logrotate.d/frr
 %endif
-%if 0%{?suse_version} > 1500
-%{_distconfdir}/logrotate.d/frr
+%if %{with factorydir}
+%dir %{_datadir}/factory
+%dir %{_datadir}/factory%{_sysconfdir}
+%dir %attr(0751,%{frr_user},%{frr_group}) 
%{_datadir}/factory%{_sysconfdir}/%{name}
+%attr(0640,%{frr_user},%{frr_group})      
%{_datadir}/factory%{_sysconfdir}/%{name}/daemons
+%attr(0640,%{frr_user},%{frr_group})      
%{_datadir}/factory%{_sysconfdir}/%{name}/frr.conf
+%attr(0640,%{frr_user},%{frrvty_group})   
%{_datadir}/factory%{_sysconfdir}/%{name}/vtysh.conf
+%dir %attr(0751,%{frr_user},%{frr_group})                  %ghost 
%{_sysconfdir}/%{name}
+%config(noreplace) %attr(0640,%{frr_user},%{frr_group})    %ghost 
%{_sysconfdir}/%{name}/daemons
+%config(noreplace) %attr(0640,%{frr_user},%{frr_group})    %ghost 
%{_sysconfdir}/%{name}/frr.conf
+%config(noreplace) %attr(0640,%{frr_user},%{frrvty_group}) %ghost 
%{_sysconfdir}/%{name}/vtysh.conf
 %else
-%config(noreplace) %{_sysconfdir}/logrotate.d/frr
+%dir %attr(0751,%{frr_user},%{frr_group}) %{_sysconfdir}/%{name}
+%config(noreplace) %attr(0640,%{frr_user},%{frr_group})           
%{_sysconfdir}/%{name}/daemons
+%config(noreplace) %attr(0640,%{frr_user},%{frr_group})           
%{_sysconfdir}/%{name}/frr.conf
+%config(noreplace) %attr(0640,%{frr_user},%{frrvty_group})        
%{_sysconfdir}/%{name}/vtysh.conf
 %endif
 %{_infodir}/frr.info%{?ext_info}
 %{_mandir}/man?/*
@@ -465,7 +525,6 @@
 %{frr_daemondir}/bfdd
 %{frr_daemondir}/bgpd
 %{frr_daemondir}/eigrpd
-%{frr_daemondir}/frr
 %{frr_daemondir}/frr-reload
 %{frr_daemondir}/frr-reload.py
 %{frr_daemondir}/frr_babeltrace.py
@@ -538,16 +597,7 @@
 %{_libdir}/libmlag_pb.so.0*
 
 %files devel
-%dir %{_includedir}/%{name}
-%{_includedir}/%{name}/
-%dir %{_includedir}/%{name}/ospfd
-%{_includedir}/%{name}/ospfd/*.h
-%dir %{_includedir}/%{name}/ospfapi
-%{_includedir}/%{name}/ospfapi/*.h
-%dir %{_includedir}/%{name}/eigrpd
-%{_includedir}/%{name}/eigrpd/*.h
-%dir %{_includedir}/%{name}/bfdd
-%{_includedir}/%{name}/bfdd/*.h
+%{_includedir}/%{name}
 %{_libdir}/lib*.so
 %{_libdir}/pkgconfig/*pc
 

Reply via email to