#1130481 uwsgi: systemd 260 drops support of System V service scripts

Package:
uwsgi
Source:
uwsgi
Description:
fast, self-healing application container server
Submitter:
John Shaft
Date:
2026-03-16 21:05:02 UTC
Severity:
normal
#1130481#5
Date:
2026-03-12 11:58:17 UTC
From:
To:
Dear Maintainer,

uwsgi is still using an System V service script. After ugprading to systemd 260~rc2-1 on Forky, uwsgi became unusable as no systemd unit file
is provided [1]

# systemctl start uwsgi
Failed to start uwsgi.service: Unit uwsgi.service not found.

/etc/init.d/uwsgi should be replaced by a proper unit files

Regards

[1] Systemd changelog : https://sources.debian.org/src/systemd/260~rc2-1/NEWS

#1130481#10
Date:
2026-03-12 12:46:49 UTC
From:
To:
It appears that the systemd integration uses uwsgi-app@.service, and
not uwsgi.service.

Maybe there needs to be an upgrade path.

Chris

#1130481#15
Date:
2026-03-12 13:24:23 UTC
From:
To:
Hi,

Is /usr/share/doc/uwsgi-core/README.Debian not enough?

    # systemctl enable uwsgi-app@r<confname>.service

If not, please describe your use case so we can improve the documentation
or the systemd (template) units.

Thanks,

Alex

#1130481#22
Date:
2026-03-12 14:43:48 UTC
From:
To:
This service file is meant to be used alongisde the uwsgi-app@.socket
(no [Install] section in the service file)
Well, the first part /usr/share/doc/uwsgi-core/README.Debian can be
dropped :)

The rest seems to be a incomplete copy of uWSGI doc [1]. The missing
part being the need for the creation of a specific user

My use case is a searxng instance, using the default conf [2]. Haven't
been able to restart it yet but this is irrelevant.

[1]
https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd
[2] https://docs.searxng.org/admin/installation-uwsgi.html

#1130481#27
Date:
2026-03-12 18:26:38 UTC
From:
To:
Hi,

I'm not sure how an app that is not socket activated would be required
but I'll document how to achieve this.

Well there are Debian or derivatives users not using systemd, so no, not
dropping this part.

DynamicUser=yes does not require the creation of a specific user but will
add a note on it.

Thanks,

Alex

#1130481#32
Date:
2026-03-12 21:00:37 UTC
From:
To:
Ok got confused by uWSGI doc which does not make use of DynamicUser

Regards

#1130481#37
Date:
2026-03-13 16:52:10 UTC
From:
To:
Hi,

No, it is not enough, a multiple things are missing.

First, the section "Initscript for running uWSGI daemon" has to be
dropped as it is misleading, especially when old init script doesn't
work:

    /etc/init.d/uwsgi start
    Starting uwsgi (via systemctl): uwsgi.serviceFailed to start
     uwsgi.service: Unit uwsgi.service not found.
     failed!

Second, socket's path was changed, thus enabling .socket unit is not
enough, as one need to change nginx's (in my case) config. The old
System-V init script for apps-enabled/cgi.ini sets:

    /run/uwsgi/app/cgi/socket

Now it is created by .socket unit (and from apps-available) as:

    /run/uwsgi/cgi.socket

This change for existing configs is not mentioned too.

Third, the old init script starts the app with default.ini, now it is
not included, thus some options can be missing now and it needs
inspection. It is not mentioned too.

Fourth, not as important, but why both units are enabled? Enabling
.socket unit must be enough, worst enabling .service unit can be
misleading, as stopping it will not be enough, as .socket unit will
start it again on socket access. Remove enabling .service from README.
And simplify that enable & start by "enable --now"

Last and IMO most important, the NEWS is missing, after upgrade all
previously configured uwsgi apps just do not start (uwsgi.service unit
is missing as you can see in first snippet). It was enabled by some
systemd's magic, and thus after upgrade (and restart) one can notice
this too late. That is not expected...

BTW, consider remove the /etc/uwsgi/apps-enabled directory from package
at all, it is not needed anymore...

regards

#1130481#42
Date:
2026-03-14 10:46:20 UTC
From:
To:
Hi,

For instance for radicale, see https://bugs.debian.org/1130672 .

Then please suggest some proper writing!

Again, not sure the sysv init conf and doc should be dropped, maybe
moved to some legacy §. These might be used in Debian derivatives.

Good catch, simple fix.

This is difficult to fix as I do not know how this might be used
by users.

Good catch, this line is in fact useless.

I see your point but this is caused by the systemd upgrade, not any change
in uwsgi, so I would not know which version of uwsgi to attach that NEWS to...

Again, not sure about removing sysv init conf.

Thanks!

Alex

#1130481#47
Date:
2026-03-14 12:53:28 UTC
From:
To:
Ahoj,

Dňa Sat, 14 Mar 2026 11:46:20 +0100 "Alexandre Rossi"
<niol@zincube.net> napísal:

I described that ;-) My English is not enough to do it better.

Please do not fix it now. I guess that multiple people fixed this
already in his configs. Just mention that in readme for others.

Sure, just mention it, to people can know about this change.

I see, but the uwsgi is directly affected, thus worth to do it, not a
lot of words, just mention that things changed. IMO, most people will
be able to do proper action, but they must know that something happened
without hard debugging.

Note, that sysv init script doesn't work, as it is not real SysV
script, it just call systemd's service, which is not generated now...

regards

#1130481#52
Date:
2026-03-14 19:39:17 UTC
From:
To:
After a few hours of debugging, I believe this is the issue killing
radicale on Freedombox in testing after a reboot, and find it best to
flag it as affecting those.

Not quite sure how to get it running yet.  The
/usr/share/doc/uwsgi-core/README.Debian recipe has not been able to
get radicale starting yet, but I'll keep trying.  I might just have to
downgrade systemd for now, to get my calendar back.

#1130481#61
Date:
2026-03-14 20:26:19 UTC
From:
To:
[Petter Reinholdtsen]

I am happy to report that downloading and 'dpkg -i'-installing the set
(libnss-systemd libsystemd-shared systemd-sysv libsystemd0 libudev1
systemd-userdbd libsystemd0.1 systemd udev systemd-resolved
systemd-timesyncd libpam-systemd systemd-cryptsetup) of packages (had to
install all of them due to inter-package dependencies) from
<URL: https://snapshot.debian.org/package/systemd/259.1-1/ >, 'service
start uwsgi' worked and radicale is available again.  I added 'apt-mark
hold libsystemd0 libudev1' to avoid accidential upgrades for now.

Thus it seem to be clear what triggered the missing calendar server on
freedombox.  How to properly solve it, on the other hand...

#1130481#66
Date:
2026-03-16 21:02:57 UTC
From:
To:
Hi,

Here is my try[1].

[1] https://salsa.debian.org/uwsgi-team/uwsgi/-/commit/415799b093779922c259449a3fee77c322417a6f

Thanks,

Alex