[X2Go-Dev] Various x2goserver patches

Mihai Moldovan ionic at ionic.de
Mon Mar 6 09:52:57 CET 2017


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=3d4179ccb387d653d8bedfbb98c8552fa09783e2
for 4.0.1.x.
  Applied as
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=ac99220a697a51af1510aee7db59ea850c11bee5
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=4c4731a43b8a723058af724be021623512eadfe3
for 4.0.1.x and
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=57da9b17713593e771aa7d5f2b98a0d843fa9fb3
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=08fa5002dba26ff75d0bfb47d795582f7d034b35
  Commit for 4.1.0.0:
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=463d650718bd9957e5bdf00cf1249316ccd3f1ee

  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=844224248cd76f925a393a6642d0db162521cb32
for 4.0.1.x.
  Applied as
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=b39fcf469e77e15789e310ff664984af39ce2fa4
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=821022573beccade270d89853b74e3fad05ca693
  Commit for 4.1.0.0:
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=23ddee465c90dc50e3fc0afe6dc8013546c54423


perl MODULE_COMPAT:
  Applied as
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=4cac807c4afa350936e3acea042d9db4d1b4814c
for 4.0.1.x.
  Applied as
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=72cda81fdcb906efa9f86da8c4045449016eaa9a
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=ad4e21b5c0a00da1fe15452caebc0b31489fa971
for 4.1.0.0.


.packlist:
  Applied as
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=1b7d84f53f2648791c88f93fd920122721c7ca6a
for 4.0.1.x.
  Applied as
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=3139846a227657b3005f54bc5023f92b6d6fefa1
for 4.1.0.0.


Sorting:
  Applied as
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=88358aba9f6c270a4fadae067883ff85b326b1f6
for 4.0.1.x.
  Applied as
https://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=20c61290e8ac4b35251d8c36281b70590a6a0ae3
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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 884 bytes
Desc: OpenPGP digital signature
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20170306/41bb2081/attachment.sig>


More information about the x2go-dev mailing list