Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package forgejo for openSUSE:Factory checked 
in at 2025-03-11 20:46:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/forgejo (Old)
 and      /work/SRC/openSUSE:Factory/.forgejo.new.19136 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "forgejo"

Tue Mar 11 20:46:22 2025 rev:23 rq:1252070 version:10.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/forgejo/forgejo.changes  2025-02-09 
20:35:59.263651407 +0100
+++ /work/SRC/openSUSE:Factory/.forgejo.new.19136/forgejo.changes       
2025-03-11 20:47:40.120089428 +0100
@@ -1,0 +2,48 @@
+Tue Mar 11 13:38:40 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- use --legacy-peer-deps to make the node modules handling work
+  again
+
+-------------------------------------------------------------------
+Mon Mar 10 23:10:15 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- move permissions of the log dir and the data dir
+  from forgejo:forgejo u=rwX,g=rwX,o=
+  to   forgejo:forgejo u=rwX,g=rX,o=
+
+-------------------------------------------------------------------
+Mon Mar 10 22:51:57 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- update apparmor profile to a profile that is less broad.
+
+-------------------------------------------------------------------
+Mon Mar 10 21:58:05 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- create all directories before actually installing files
+
+-------------------------------------------------------------------
+Mon Mar 10 21:56:00 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- make the HOME dir in the service file the same as the user
+- migrate existing authorized keys files
+  from %{_datadir}/%{name}/.ssh/authorized_keys
+  to   %{_sharedstatedir}/%{name}/data/home/.ssh/authorized_keys
+
+-------------------------------------------------------------------
+Mon Mar 10 14:52:02 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- fix file list to lock down permissions more
+
+-------------------------------------------------------------------
+Mon Mar 10 03:16:51 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- don't require the apparmor subpackage when apparmor is installed
+  the current profile is rather bad and it should be possible to
+  keep it out.
+
+-------------------------------------------------------------------
+Mon Mar 10 03:15:51 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- user should actually use /var/lib/forgejo/data/home
+
+-------------------------------------------------------------------

New:
----
  forgejo-abstraction.apparmor
  forgejo-hooks-abstraction.apparmor

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

Other differences:
------------------
++++++ forgejo.spec ++++++
--- /var/tmp/diff_new_pack.PM72ll/_old  2025-03-11 20:47:41.764158264 +0100
+++ /var/tmp/diff_new_pack.PM72ll/_new  2025-03-11 20:47:41.764158264 +0100
@@ -50,6 +50,8 @@
 Source9:        %{name}.te
 Source10:       %{name}.apparmor
 Source11:       %{name}.firewalld
+Source13:       forgejo-hooks-abstraction.apparmor
+Source12:       forgejo-abstraction.apparmor
 Source99:       get-sources.sh
 Patch0:         custom-app.ini.patch
 Patch1:         dont-strip.patch
@@ -70,7 +72,7 @@
 BuildRequires:  sysuser-tools
 Requires:       git-core
 Requires:       git-lfs
-Requires:       (%{name}-apparmor if apparmor-abstractions)
+Recommends:     (%{name}-apparmor if apparmor-abstractions)
 Requires:       (%{name}-firewalld if firewalld)
 Requires:       (%{name}-selinux if selinux-policy-targeted)
 %if %{with apparmor}
@@ -134,7 +136,7 @@
 
 %prep
 %autosetup -p1 -n %{name}-src-%{version}
-local-npm-registry %{_sourcedir} install --also=dev
+local-npm-registry %{_sourcedir} install --also=dev --legacy-peer-deps
 
 %build
 %sysusers_generate_pre %{SOURCE6} %{name} %{name}.conf
@@ -144,22 +146,40 @@
 go build ${EXTRA_GOFLAGS} -o contrib/environment-to-ini/environment-to-ini 
contrib/environment-to-ini/environment-to-ini.go
 
 %install
-install -d %{buildroot}%{_bindir}
-install -d %{buildroot}%{_datadir}/%{name}
-install -d %{buildroot}%{_datadir}/%{name}/{conf,https,mailer}
-install -Dm0755 contrib/environment-to-ini/environment-to-ini 
%{buildroot}%{_bindir}
-ln -s %{name} %{buildroot}%{_bindir}/gitea
-install -d 
%{buildroot}%{_sharedstatedir}/%{name}/{data,https,indexers,queues,repositories}
-install -d %{buildroot}%{_sysconfdir}/%{name}
-install -d %{buildroot}%{_localstatedir}/log/%{name}
-install -D -m 0644 
%{_builddir}/%{name}-src-%{version}/custom/conf/app.example.ini 
%{buildroot}%{_sysconfdir}/%{name}/conf/app.ini
+install -d -D \
+  %{buildroot}%{_bindir} %{buildroot}%{_datadir}/%{name}/{conf,https,mailer}
+
+install -d -m 0750 \
+  
%{buildroot}%{_sharedstatedir}/%{name}/{data,https,indexers,queues,repositories}
 \
+  %{buildroot}%{_sharedstatedir}/%{name}/data/home/.ssh \
+  %{buildroot}%{_sysconfdir}/%{name} \
+  %{buildroot}%{_localstatedir}/log/%{name}
+
+install -D -m 0755 contrib/environment-to-ini/environment-to-ini 
%{buildroot}%{_bindir}
 install -D -m 0755 %{_builddir}/%{name}-src-%{version}/gitea 
%{buildroot}%{_bindir}/%{name}
+ln -s %{name} %{buildroot}%{_bindir}/gitea
+
+install -D -m 0640 
%{_builddir}/%{name}-src-%{version}/custom/conf/app.example.ini 
%{buildroot}%{_sysconfdir}/%{name}/conf/app.ini
+
 install -D -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/%{name}.service
 install -D -m 0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/%{name}.conf
 
 %if %{with apparmor}
-install -d %{buildroot}%{_sysconfdir}/apparmor.d
-install -Dm0644 %{SOURCE10} 
%{buildroot}%{_sysconfdir}/apparmor.d/usr.bin.%{name}
+install -D -d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/abstractions \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d/forgejo-session-exec.d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d/forgejo-hooks.d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d/git.d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d/hooks-pre-receive.d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d/hooks-post-receive.d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d/hooks-proc-receive.d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d/hooks-update.d \
+  %{buildroot}%{_sysconfdir}/apparmor.d/forgejo.d/forgejo.d
+
+install -Dm0644 %{SOURCE10} %{buildroot}%{_sysconfdir}/apparmor.d/%{name}
+install -Dm0644 %{SOURCE12} 
%{buildroot}%{_sysconfdir}/apparmor.d/abstractions/%{name}
+install -Dm0644 %{SOURCE13} 
%{buildroot}%{_sysconfdir}/apparmor.d/abstractions/%{name}-hooks
 %endif
 
 %if %{with selinux}
@@ -176,6 +196,9 @@
 %service_add_pre %{name}.service
 
 %post
+if [ -e %{_datadir}/%{name}/.ssh/authorized_keys ] ; then
+  mv %{_datadir}/%{name}/.ssh/authorized_keys 
%{_sharedstatedir}/%{name}/data/home/.ssh/authorized_keys
+fi
 %service_add_post %{name}.service
 
 %post firewalld
@@ -206,19 +229,29 @@
 %{_unitdir}/%{name}.service
 %{_bindir}/%{name}
 %{_bindir}/gitea
-%defattr(0660,root,forgejo,770)
-%{_localstatedir}/log/%{name}
-%defattr(0660,forgejo,forgejo,750)
-%config(noreplace) %{_sysconfdir}/%{name}/conf/app.ini
-%{_sysconfdir}/%{name}
+%{_sysusersdir}/%{name}.conf
 %{_datadir}/%{name}
+%defattr(0640,root,forgejo,750)
+%{_sysconfdir}/%{name}
+%config(noreplace) %{_sysconfdir}/%{name}/conf/app.ini
+%defattr(0640,forgejo,forgejo,750)
+%{_localstatedir}/log/%{name}
 %{_sharedstatedir}/%{name}
-%{_sysusersdir}/%{name}.conf
 
 %if %{with apparmor}
 %files apparmor
 %dir %{_sysconfdir}/apparmor.d
-%config %{_sysconfdir}/apparmor.d/usr.bin.%{name}
+%config %{_sysconfdir}/apparmor.d/%{name}
+%config %{_sysconfdir}/apparmor.d/abstractions/%{name}*
+%dir %{_sysconfdir}/apparmor.d/forgejo.d
+%dir %{_sysconfdir}/apparmor.d/forgejo.d/forgejo.d
+%dir %{_sysconfdir}/apparmor.d/forgejo.d/forgejo-session-exec.d
+%dir %{_sysconfdir}/apparmor.d/forgejo.d/forgejo-hooks.d
+%dir %{_sysconfdir}/apparmor.d/forgejo.d/git.d
+%dir %{_sysconfdir}/apparmor.d/forgejo.d/hooks-pre-receive.d
+%dir %{_sysconfdir}/apparmor.d/forgejo.d/hooks-post-receive.d
+%dir %{_sysconfdir}/apparmor.d/forgejo.d/hooks-proc-receive.d
+%dir %{_sysconfdir}/apparmor.d/forgejo.d/hooks-update.d
 %endif
 
 %if %{with selinux}

++++++ forgejo-abstraction.apparmor ++++++
  include <abstractions/base>
  include <abstractions/mysql>
  include <abstractions/nameservice>
  include <abstractions/openssl>
  include <abstractions/user-tmp>

  /usr/bin/forgejo rm,

  /etc/machine-id r,
  /sys/kernel/mm/transparent_hugepage/hpage_pmd_size r,
  @{PROC}/sys/net/core/somaxconn r,

  /etc/forgejo/ r,
  /etc/forgejo/conf/app.ini r,
  /etc/forgejo/public/ r,
  /etc/forgejo/public/** r,
  /etc/forgejo/{conf,https,mailer}/ r,

  /usr/lib{,exec}/git/git Px -> forgejo//git,
  /usr/lib{,exec}/git/git-write-tree Px -> forgejo//git,

  /usr/share/mime/globs2 r,
  /etc/mime.types r,

  include if exists <forgejo.d/forgejo.d>
  include if exists <locatl/usr.bin.forgejo>
  include if exists <local/forgejo>

++++++ forgejo-hooks-abstraction.apparmor ++++++
    include <abstractions/base>
    include <abstractions/bash>
    include <abstractions/consoles>

    /usr/bin/bash ix,

    /usr/bin/env      rPx -> forgejo//simple_tool,
    /usr/bin/cat      rPx -> forgejo//simple_tool,
    /usr/bin/basename rPx -> forgejo//simple_tool,

++++++ forgejo.apparmor ++++++
--- /var/tmp/diff_new_pack.PM72ll/_old  2025-03-11 20:47:41.856162116 +0100
+++ /var/tmp/diff_new_pack.PM72ll/_new  2025-03-11 20:47:41.856162116 +0100
@@ -2,64 +2,140 @@
 
 include <tunables/global>
 
+@{APP_DATADIR} = /var/lib/forgejo
+@{APP_REPOSITORY_DIRS} = @{APP_DATADIR}/data/forgejo-repositories 
@{APP_DATADIR}/repositories
+
 profile forgejo /usr/bin/forgejo flags=(attach_disconnected) {
-  include <abstractions/base>
-  include <abstractions/mysql>
-  include <abstractions/nameservice>
-  include <abstractions/opencl-pocl>
-  include <abstractions/openssl>
-  include <abstractions/user-tmp>
-  include if exists <local/usr.bin.forgejo>
+  include <abstractions/forgejo>
 
-  network inet stream,
+  network inet  stream,
   network inet6 stream,
 
-  /etc/forgejo/ r,
-  /etc/forgejo/conf/app.ini r,
-  /etc/forgejo/public/ r,
-  /etc/forgejo/public/** r,
-  /etc/forgejo/{conf,https,mailer}/ r,
-  /etc/gitconfig r,
-  /etc/mime.types r,
-  /sys/kernel/mm/transparent_hugepage/hpage_pmd_size r,
-  /usr/bin/forgejo mr,
-  /usr/bin/git mr,
-  /usr/bin/gzip mr,
-  /usr/bin/{basename,env,git,git-lfs,forgejo,ssh-keygen,gzip} ix,
-  /usr/libexec/git/git-write-tree mrix,
-  /usr/share/forgejo/** r,
-  /usr/share/forgejo/.gitconfig rw,
-  /usr/share/forgejo/.gitconfig.lock rw,
-  /usr/share/git-core/templates/ r,
-  /usr/share/git-core/templates/** r,
-  /usr/share/mime/globs2 r,
-  /usr/{lib,libexec}/git/git ix,
-  /usr/{lib,libexec}/git/git-remote-http ix,
-  /var/ r,
-  /var/lib/ r,
-  /var/lib/forgejo/ r,
-  /var/lib/forgejo/.local/** rw,
-  /var/lib/forgejo/.ssh/ rw,
-  /var/lib/forgejo/.ssh/* rw,
-  /var/log/forgejo/ rw,
-  /var/log/forgejo/access.log rw,
-  /var/log/forgejo/access.log.* w,
-  /var/log/forgejo/doctors-* rw,
-  @{PROC}/sys/net/core/somaxconn r,
-  owner /etc/forgejo/conf/app.ini w,
-  owner /tmp/forgejo** rwl,
-  owner /tmp/index* rw,
-  owner /tmp/patch* rw,
-  owner /usr/share/forgejo/** rw,
-  owner /var/lib/forgejo/backups/forgejo-dump-*.{zip,tar.gz,tar.xz} rw,
-  owner /var/lib/forgejo/data/forgejo-repositories/** rwlk,
-  owner /var/lib/forgejo/data/forgejo-repositories/**.git/hooks/** ix,
-  owner /var/lib/forgejo/https/** rwlk,
-  owner /var/lib/forgejo/{data,indexers,queues,repositories,backups}/ r,
-  owner /var/lib/forgejo/{data,indexers,queues,repositories}/** rwk,
-  owner /var/log/forgejo/gitea.log w,
-  owner @{PROC}/@{pid}/fd/ r,
-  owner @{PROC}/@{pid}/{cgroup,cpuset,status,stat,limits} r,
+  /usr/bin/forgejo Cx -> forgejo-session-exec,
+
+  signal (send) peer=forgejo//*,
+
+  profile forgejo-session-exec {
+    include <abstractions/forgejo>
+
+    include if exists <forgejo.d/forgejo-session-exec.d>
+    include if exists <local/forgejo-session-exec>
+  }
+
+  profile forgejo-hooks {
+    include <abstractions/forgejo>
+
+    include if exists <forgejo.d/forgejo-hooks.d>
+    include if exists <local/forgejo-hooks>
+  }
+
+  profile git {
+    include <abstractions/base>
+    include <abstractions/nameservice>
+    include <abstractions/openssl>
+    include <abstractions/ssl_certs>
+
+    signal (receive) peer=forgejo,
+
+    /etc/gitconfig r,
+    /usr/lib{,exec}/git/* rmix,
+    /usr/share/git-core/** r,
+
+    owner @{APP_DATADIR}/data/home/.gitconfig r,
+    owner @{APP_DATADIR}/data/home/.gitconfig.lock rwlk,
+
+    owner @{APP_REPOSITORY_DIRS}/ r,
+    owner @{APP_REPOSITORY_DIRS}/** rwlk,
+
+    owner @{APP_REPOSITORY_DIRS}/*/*.git/hooks/pre-receive  Px -> 
forgejo//hooks-pre-receive,
+    owner @{APP_REPOSITORY_DIRS}/*/*.git/hooks/post-receive Px -> 
forgejo//hooks-post-receive,
+    owner @{APP_REPOSITORY_DIRS}/*/*.git/hooks/proc-receive Px -> 
forgejo//hooks-proc-receive,
+
+    owner @{APP_REPOSITORY_DIRS}/*/*.git/hooks/update Px -> 
forgejo//hooks-update,
+
+    owner @{APP_DATADIR}/data/tmp/local-repo/pull.*/** rwlk,
+
+    include if exists <forgejo.d/git.d>
+    include if exists <local/forgejo-git>
+  }
+
+  profile hooks-pre-receive {
+    include <abstractions/forgejo-hooks>
+
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/pre-receive r,
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/pre-receive.d/ r,
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/pre-receive.d/gitea Px -> 
forgejo//hooks-gitea,
+
+    include if exists <forgejo.d/hooks-pre-receive.d>
+    include if exists <local/forgejo-hooks-pre-receive>
+  }
+
+  profile hooks-post-receive {
+    include <abstractions/forgejo-hooks>
+
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/post-receive r,
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/post-receive.d/ r,
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/post-receive.d/gitea Px -> 
forgejo//hooks-gitea,
+
+    include if exists <forgejo.d/hooks-post-receive.d>
+    include if exists <local/forgejo-hooks-post-receive>
+  }
+
+  profile hooks-proc-receive {
+    include <abstractions/forgejo-hooks>
+
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/proc-receive r,
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/proc-receive.d/ r,
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/proc-receive.d/gitea Px -> 
forgejo//hooks-gitea,
+
+    include if exists <forgejo.d/hooks-proc-receive.d>
+    include if exists <local/forgejo-hooks-proc-receive>
+  }
+
+  profile hooks-update {
+    include <abstractions/forgejo-hooks>
+
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/update r,
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/update.d/ r,
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/update.d/gitea Px -> 
forgejo//hooks-gitea,
+
+    include if exists <forgejo.d/hooks-update.d>
+    include if exists <local/forgejo-hooks-update>
+  }
+
+  profile hooks-gitea {
+    include <abstractions/forgejo-hooks>
+
+    owner @{APP_REPOSITORY_DIRS}/*/*/hooks/*.d/gitea r,
+    /usr/bin/forgejo Px -> forgejo//forgejo-hooks,
+  }
+
+  profile simple_tool {
+    include <abstractions/base>
+
+    /usr/bin/env      rm,
+    /usr/bin/cat      rm,
+    /usr/bin/basename rm,
+  }
+
+  owner @{APP_DATADIR}/ r,
+
+  owner @{APP_DATADIR}/data/ r,
+  owner @{APP_DATADIR}/data/** rwlk,
+
+  owner @{APP_DATADIR}/https/ r,
+  owner @{APP_DATADIR}/https/** rwlk,
+
+  owner @{APP_DATADIR}/indexers/ r,
+  owner @{APP_DATADIR}/indexers/** rwlk,
+
+  owner @{APP_DATADIR}/queues/ r,
+  owner @{APP_DATADIR}/queues/** rwlk,
+
+  owner @{APP_REPOSITORY_DIRS}/ r,
+  owner @{APP_REPOSITORY_DIRS}/** rwlk,
 
+  owner /var/log/forgejo/ r,
+  owner /var/log/forgejo/gitea.log rwlk,
 }
 

++++++ forgejo.service ++++++
--- /var/tmp/diff_new_pack.PM72ll/_old  2025-03-11 20:47:41.908164293 +0100
+++ /var/tmp/diff_new_pack.PM72ll/_new  2025-03-11 20:47:41.912164461 +0100
@@ -13,7 +13,7 @@
 ExecStart=/usr/bin/forgejo web --config /etc/forgejo/conf/app.ini
 Restart=always
 Environment=USER=forgejo
-Environment=HOME=/usr/share/forgejo
+Environment=HOME=/var/lib/forgejo/data/home
 Environment=GITEA_WORK_DIR=/var/lib/forgejo
 Environment=GITEA_CUSTOM=/etc/forgejo
 # added automatically, for details please see

++++++ forgejo.sysusers ++++++
--- /var/tmp/diff_new_pack.PM72ll/_old  2025-03-11 20:47:41.928165130 +0100
+++ /var/tmp/diff_new_pack.PM72ll/_new  2025-03-11 20:47:41.932165298 +0100
@@ -1,4 +1,4 @@
 # Type         Name ID GECOS [HOME] Shell
 g forgejo - - -
-u forgejo - "Forgejo" /var/lib/forgejo /usr/bin/bash
+u forgejo - "Forgejo" /var/lib/forgejo/data/home /usr/bin/bash
 

Reply via email to