Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update default run directory from /var/run to /run #146

Merged
merged 1 commit into from Mar 25, 2021

Conversation

ellert
Copy link
Member

@ellert ellert commented Dec 23, 2020

Filesystem Hierarchy Standard 3.0 says about /var/run:
"This directory was once intended for system information data
describing the system since it was booted. These functions have been
moved to /run."

Using /var/run in systemd unit files and tmpfiles.d config files
results in warnings in the logs:

Dec 23 12:42:25 localhost.localdomain systemd[1]: /usr/lib/systemd/system/myproxy-server.service:16: PIDFile= references a path below legacy directory /var/run/, updating /var/run/myproxy-server/myproxy.pid → /run/myproxy-server/myproxy.pid; please update the unit file accordingly.

/usr/lib/tmpfiles.d/myproxy-server.conf:1: Line references path below legacy directory /var/run/, updating /var/run/myproxy-server → /run/myproxy-server; please update the tmpfiles.d/ drop-in file accordingly.

@msalle
Copy link
Member

msalle commented Dec 23, 2020

Hi,
in principle fine, but just as a general thought, shouldn't we ideally use %_rundir in the specfile and add a configure flag?
https://www.gnu.org/prep/standards/html_node/Directory-Variables.html talks about runstatedir (should be in autotools 2.70 and up but that's just released, so perhaps we should wait a while).

Copy link
Member

@msalle msalle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few more comments:

I think all these updates can be made later too, but it is probably better to do them (at least the first bullet) at the same time?

packaging/fedora/myproxy.spec Show resolved Hide resolved
@fscheiner
Copy link
Member

@msalle @ellert

A few more comments:

* at least [packaging/package-output/hpn_isshd-gsi.7.5p1c.patch](https://github.com/gridcf/gct/blob/master/packaging/debian/gsi-openssh/debian/patches/hpn_isshd-gsi.7.5p1c.patch),  also contains `/var/run`.

* Likewise for [packaging/debian/gsi-openssh/debian/gsi-openssh-server.init](https://github.com/gridcf/gct/blob/master/packaging/debian/gsi-openssh/debian/gsi-openssh-server.init) and [packaging/debian/gsi-openssh/debian/gsi-openssh-server.postinst](https://github.com/gridcf/gct/blob/master/packaging/debian/gsi-openssh/debian/gsi-openssh-server.postinst) although I'm not sure they're being used.

Let's keep out GSI-OpenSSH for now. As per #67 (comment) things will or could change for GSI-OpenSSH in the GCT anyhow.

* shouldn't we at some point update [myproxy/source/VERSION](https://github.com/gridcf/gct/blob/master/myproxy/source/VERSION) to get it back in sync?

I'll try to update that file accordingly and push my changes to @ellert's branch.

* Finally 3 out of the 4 files in  but they don't even end up in the GCT.

What do you mean with that @msalle, is there something missing in this question?

@fscheiner
Copy link
Member

Ok, myproxy/source/VERSION is now in sync with the history as logged in the corresponding RPM spec file. I cross-checked the entries with the commits from https://github.com/ellert/gct/blame/var-run-is-run/packaging/fedora/myproxy.spec so spec file related entries should not got included in my myproxy/source/VERSION. Please correct if you still find some.

@msalle
Copy link
Member

msalle commented Mar 2, 2021

  • Finally 3 out of the 4 files in but they don't even end up in the GCT.

What do you mean with that @msalle, is there something missing in this question?

oops, had a [](https://) link but forgot the name itself (i.e. between the []. Fixed now (should have been myproxy/oauth/source/conf/).

Filesystem Hierarchy Standard 3.0 says about /var/run:
"This directory was once intended for system information data
describing the system since it was booted. These functions have been
moved to /run."

Using /var/run in systemd unit files and tmpfiles.d config files
results in warnings in the logs:

Dec 23 12:42:25 localhost.localdomain systemd[1]: /usr/lib/systemd/system/myproxy-server.service:16: PIDFile= references a path below legacy directory /var/run/, updating /var/run/myproxy-server/myproxy.pid → /run/myproxy-server/myproxy.pid; please update the unit file accordingly.

/usr/lib/tmpfiles.d/myproxy-server.conf:1: Line references path below legacy directory /var/run/, updating /var/run/myproxy-server → /run/myproxy-server; please update the tmpfiles.d/ drop-in file accordingly.
@ellert
Copy link
Member Author

ellert commented Mar 4, 2021

Since an other PR for myproxy was merged I had to bump the version number for that. That meant that this PR then had to be rebased to resolve the conflicts. I cherrypicked the update of the VERSION file directly to master.

@fscheiner
Copy link
Member

* Finally 3 out of the 4 files in [myproxy/oauth/source/conf/](https://github.com/gridcf/gct/tree/master/myproxy/oauth/source/conf) have `/var/run`: but they don't even end up in the GCT.

myproxy-oauth-epel5 can be removed anyhow I think. But myproxy-oauth-2.4-deb is used in here: https://github.com/gridcf/gct/blob/master/packaging/debian/myproxy-oauth/debian/rules and the remaining two are used in https://github.com/gridcf/gct/blob/master/packaging/fedora/myproxy-oauth.spec, though from the logic only myproxy-oauth-2.4 seems to be for newer Fedora/EPEL package sources (i.e. at least Fedora 18 and EPEL 7), so myproxy-oauth can be removed, too (plus update to the RPM spec file), I assume.

But maybe let's do that in a separate PR, as "myproxy-oauth" is a separate package anyhow.

@msalle, @ellert: Do you agree?

@msalle
Copy link
Member

msalle commented Mar 4, 2021

Hi @fscheiner I agree it's better done in a separate PR.
We could ask also @jbasney whether it's still in use anywhere.

@jbasney
Copy link
Contributor

jbasney commented Mar 4, 2021

As far as I know, that myproxy-oauth Python code was only used inside Globus Connect installations, so I think there's no need to keep it for GCT.

@fscheiner fscheiner mentioned this pull request Mar 25, 2021
Copy link
Member

@fscheiner fscheiner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me.

@fscheiner fscheiner merged commit ffdced9 into gridcf:master Mar 25, 2021
@ellert ellert deleted the var-run-is-run branch March 25, 2021 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants