On 06.01.2017 05:19 PM, Orion Poplawski wrote:
Comparing the Fedora and x2go versions of x2goserver.spec led me to these patches.
I finally found some time to go through your patches and apply (most of) them. Sorry it took me so long.
Requires(post): Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=3d4179ccb387d65... for 4.0.1.x. Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=ac99220a697a51a... for 4.1.0.0.
I noticed that perl(DBD::SQLite) was only a post-scriptlet dependency, which should also have been a proper one. Added that to your patch.
While looking into that, I noticed we're using deprecated scriptlets and dependencies for update-mime-database and update-desktop-database. I have corrected that with https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=4c4731a43b8a723... for 4.0.1.x and https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=57da9b17713593e... for 4.1.0.0.
Also, I simplified systemd usage a bit and fixed the postun scriptlet to restart the service. We've missed that before. Commit for 4.0.1.x: https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=08fa5002dba26ff... Commit for 4.1.0.0: https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=463d650718bd995...
This said, we have a problem that I haven't noticed before. You install x2gocleansessions.service - we install x2goserver.service. Only x2gocleansessions.service is enabled in Fedora's default preset file. I agree that x2gocleansessions.service is probably better at describing what it does - but we have historically used x2goserver.service (also for the init script.) Even worse, we can only activate the service by default on Fedora (if it's appropriately named), but not on RHEL, CentOS or *SUSE. Do you think it might be better to place systemctl enable/disable commands somewhere for our upstream and your EPEL packages? If yes, what is the canonical way to do so?
Recommends: Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=844224248cd76f9... for 4.0.1.x. Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=b39fcf469e77e15... for 4.1.0.0.
I added guards for Fedora >= 21 and SUSE >= 11. More for documentation than real use, as we've dropped support for FC releases past 22 and OpenSUSE releases past 12. SLE 11 packages are still built, but we never supported SLE 10 to begin with.
While doing that, I have also downgraded this stuff to Suggests. Commit for 4.0.1.x: https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=821022573beccad... Commit for 4.1.0.0: https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=23ddee465c90dc5...
perl MODULE_COMPAT: Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=4cac807c4afa350... for 4.0.1.x. Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=72cda81fdcb906e... for 4.1.0.0.
Comments for 4.0.1.x: Well, strictly speaking, we *do* have perl modules within x2goserver, although these are installed to %{_libdir}/x2go. x2goserver-printing ships a perl script, but no modules, so I dropped it there. Also dropped for x2goserver-xsession (using perl internally in a bash script.) Note that your Fedora package seems to miss the dependency upon perl(Cwd), might be intentional, though.
Comments for 4.1.0.0: Applied as-is, for 4.1.0.0 your patch was appropriate.
x2goagent: NOT applied.
The situation with x2goagent is complicated and I'd really appreciate your help on that. x2goserver 4.0.1.x only supports the x2goagent that is shipped by nx-libs and only nx-libs as distributed by X2Go. x2goserver 4.1.0.0, however, supports nx-libs provided by X2Go and Arctica. Arctica has removed the x2goagent package, this is why we need x2goserver-x2goagent. Our nx-libs package doesn't drop x2goagent. I cannot just rename x2goserver-x2goagent to nxagent, because X2Go's nx-libs also have a package called x2goagent. I could do a package move from nx-libs to x2goserver, but that would require a lockstep release of both nx-libs and x2goserver and proper dependencies, so that the package is transferred transparently without users running into problems when upgrading. My current solution is to make nx-libs' x2goagent package provide a virtual x2goagent-virtual package and x2goserver-x2goagent also provide x2goagent-virtual AND depend upon nxagent from Arctica's nx-libs. I notice that I should probably add a Conflicts: nxagent >= 3.5.99 clause to our nx-libs' x2goagent subpackage. What I probably really want is a proper package move from nx-libs to x2goserver. It's tricky, though, because x2goserver depends upon x2goagent - and the newer x2goagent version will install files that were previously installed by x2goserver, so x2goagent needs to be upgraded only AFTER x2goserver has been upgraded, while for general usage x2goserver needs the new x2goagent version at run time to function properly. Looks like I cannot avoid a lockstep release of both components and the package move from nx-libs to x2goagent even for x2goserver 4.0.1.x?
NXLIBDIR: NOT applied for 4.0.1.x (not using NXLIBDIR.) Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=ad4e21b5c0a00da... for 4.1.0.0.
.packlist: Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=1b7d84f53f26487... for 4.0.1.x. Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=3139846a227657b... for 4.1.0.0.
Sorting: Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=88358aba9f6c270... for 4.0.1.x. Applied as https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=20c61290e8ac4b3... for 4.1.0.0.
Also, no active RedHat distro (RHEL5+) needs %defattr(-,root,root) anymore. I'm not sure about Suse, but I'd be very surprised.
Sadly, SUSE still mandates and uses it everywhere. See https://en.opensuse.org/openSUSE:Specfile_guidelines#Permissions
I could guard everything off via %if 0%{?suse_version} ... %endif, but that probably doesn't make sense.
Mihai