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
ZFS does not install sysvinit scripts #7412
Comments
Does these systems have systemd installed ("systemctl" binary in $PATH)? This is likey to be caused by the autoconf bits in 03658d5 if you're building 0.7.7. On my Debian Jessie 0.7.6 correctly packages and installs sysvinit scripts: |
None of the systems have systemd or systemctl installed. I was building 0.7.6 from source as well. Are you using the Debian packages? Installing from source does not install the init scripts? I've been patching my Debian Source packages with: |
|
I compiled and installed 0.7.7 and also did not install the sysvinit scripts. |
|
Even if some systemd packages are installed, it doesn't mean that's your init system. Debian supports both systems and because systemd has taken over tons of core utilities you can't fully get rid of it, and it's not hard to switch between them. --enable-sysvinit should always install the files no matter what other switches are given. |
|
Both Devuan Jessie and Debian Wheezy don't have any systemd packages installed. But as beren12 mentioned, --enable-sysvinit should always install the sysvinit scripts and try to activate them, regardless of distro, Devuan, Debian, Gentoo, Slackware, etc. |
|
@Ryushin i do not use Debian packages. How are you testing this on Debian Wheezy? IIRC 0.7.6 should not even be able to produce .deb packages due to an old |
|
I'm not making any packages. Just compiling from the source and running make install. But the issue in the Debian bug #826994 is that the source should be installing the sysvinit files by default and it is not. |
|
Sorry, you said you were following https://github.com/zfsonlinux/zfs/wiki/Custom-Packages in your issue report and i thought you were building packages ... i could not find any "make install" in the wiki, so i just assumed "Running make install from the zfs source did not install the init scripts in etc/init.d in the source tree" was just a test. Can you please provide the following information?
|
|
Using tarballs. Not passing any parameters or just the --enable-sysvinit parameter. So with finding that out: loli10K: Thank you for thinking to look in /usr/local/etc. Strange that some things are installed in /etc and others in /usr/local/etc. I would think that that the configure would by default use /etc and --sysconfdir can be used to specify someplace else. |
|
yeah… /usr/local/etc seems like a really strange place since nothing else is installed into /usr/local |
|
I believe this is the default behaviour in every project using autotools: from
I don't think so, it doesn't look like it is autoconf's job to do this. |
|
Well, if everything was installed to /use/local i guess it makes sense for etc/ to be in /usr/local as well… but it's still confusing if somethings are in /etc and others in /user/local/etc |
|
loli10K: So adding --sysconfdir=/etc to the Debian zfs-0.7.6-1 debian/rules file did not install the init scripts. Can you point me to the source of the Debian packages that you are using so I can figure out what is needed to fix the official Debian packages. |
|
I believe something's missing here. Systemd has three locations for the files it uses:
As the ZFS system files are from the upstream provider, I believe they should be installed into /usr/lib/systemd. |
|
@pashford Everything you said about systemd is correct, but this is not about systemd. This is about sysvinit. |
|
This can probably be closed. Though it should be mentioned in https://github.com/zfsonlinux/zfs/wiki/Custom-Packages to use --sysconfdir=/etc and to activate the init scripts. |
That is taken care of by rpmbuild, no need to do it manually: https://github.com/zfsonlinux/zfs/blob/zfs-0.7.6/rpm/generic/zfs.spec.in#L231 |
|
But what about compiling from source tarballs? Interesting that there is a generic rpm but no generic debian in the source. |
|
On Tue, Apr 10, 2018 at 04:24:20AM -0700, Ryushin wrote:
But what about compiling from source tarballs? Interesting that there is a generic rpm but no generic debian in the source.
@aerusso and I spitballed the idea some weeks ago to push a variant of
Debian's packaging upstream to provide first-party native .deb builds -
but we haven't progressed any further on that front yet.
I hope to be able to put up a rought draft of various approaches after
further brainstorming with @aerusso - but I won't have much time for
that in the next 1-2 weeks unfortunately.
|
|
@Fabian-Gruenbichler I have packaging that works, and I'm using it. The |
|
@Fabian-Gruenbichler: Hopefully the packages you are building have the sysvinit scripts: https://bugs.debian.org/826994 |
I'm all for adding native packaging to the repository. As for standards, we should try and conform as closely as possible to the Debian packaging guidelines. At a minimum we need to retain the ability to build and install packages for the buildbot to use when testing. |
I reread the Issue. Yes, sysVinit. The directory name was what caused me to think it was systemd. There's no valid reason to install any sysVinit scripts in any directory other then /etc/init.d and /etc/rc?.d (links). Sorry for the confusion. How should this be solved? We can either fix this in the makefile (override locations for init scripts), or in the WIKI (documentation). It would be useful to know whether or not the --sysconfdir=/etc parameter causes problems with the system build/install. If the system install puts the configuration files into the wrong directory when the --sysconfdir=/etc parameter is used, it might be best to update the makefile. For the user building the software from source, fixing the makefile would also be best. |
|
This is in reference to: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=826994 I'm a bit confused then. Debian is saying the lack of sysvinit scripts is because of an upstream issue with ZFS. But the sysvinit scripts have been there for years in the source. Is the issue Debian has from the fact that they are not getting installed to /etc/init.d and the necessary sysnlinks in /etc/rc?.d created like what I mentioned before? |
|
Why was this closed? |
|
This bug report was opened because Debian said that there was an upstream problem. There was not, and I eventually convinced the Debian folks that the init scripts were in the tarball the whole time. The packages in Debian were fixed. Is there still some outstanding issue here? |
This is in reference to the Debian bug #826994
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=826994
Aron Xu from Debian mentions that this is an upstream problem.
So after setting up a Devuan Jessie, Debian Wheezy, and Debian Jessie (with sysvinit as default) and following the document for compiling from source 0.7.6:
https://github.com/zfsonlinux/zfs/wiki/Custom-Packages
Running make install from the zfs source did not install the init scripts in etc/init.d in the source tree. I even tested using the configure --enable-sysvinit (default anyway) and it still did not install the init scripts.
Please have the init scripts installed and activated for systems that use sysvinit.
The text was updated successfully, but these errors were encountered: