Package: ltsp
Severity: wishlist

Since we started using our own vendor identifications on raspbian (as we were encouraged to do by various parties in debian) ltsp started failing to build for us http://buildd.raspbian.org/status/fetch.php?pkg=ltsp&arch=armhf&ver=5.4.2-6%2Bb2&stamp=1382790352 . This appeared to be the result of the debian ltsp packages using the vendor name to locate certain files and failling on unknown vendors. We made a quick hack to work arround this http://debdiffs.raspbian.org/main/l/ltsp/ltsp_5.4.2-6%2brpi1.debdiff (which we have since pulled forward to each new ltsp version that hit jessie)

If all that is required is to distinguish between debian and ubuntu then I reccomend using "dpkg-vendor --derives-from ubuntu" to distinguish them (dpkg-vendor --derives-from debian can't be used to distinguish because ubuntu is a derivative of debian). If it's really critical to have different settings for every derivative then I guess you have little choice but to list them all. If it would be nice but not critical to have settings (e.g. mirror locations for each derivative) and more important to distiguish ubuntu-based from non ubuntu based then a hybrid approach may be possible to use distro specific settings first, then using "--derives-from ubuntu" as a fallback to detect ubuntu derivatives and finally fall back to treating the system as debian. I'm not a ltsp expert myself so I leave the details of which approach is best in this case to those who are.

I just had a chat with vagrantc about this on irc (freenode #raspbian) and the discussion is preserved below.

<plugwash> You maintain ltsp in debian right?
<vagrantc> yup
<vagrantc> in fact, that's what got me interested in the rpi ... looking at it's use as a thin client <plugwash> I know some people have been doing stuff with ltsp and the Pi but i've no idea on the details. I've patched the ltsp in raspbian jessie to make it build but I've no idea if that is enough to actually make it usable
<vagrantc> oh, it failed to build?
<plugwash> and if it's appropriate to push anything upstream into debian
<vagrantc> if it's not too crazy complicated, i'd be happy to take patches
<plugwash> It started failling to build after we started using our own vendor name
* ColdKeyboard has quit ()
<plugwash> http://buildd.raspbian.org/status/fetch.php?pkg=ltsp&arch=armhf&ver=5.4.2-6%2Bb2&stamp=1382790352 <vagrantc> i recently switched the packaging to dpkg-vendor, it used to use lsb-release... <vagrantc> probably not able to take patches for wheezy at this point, though
<plugwash> How exactly do you use dpkg-vendor?
<vagrantc> ah, got it.
<vagrantc> i see why it's failing.
<plugwash> Anyway I added a quick hack http://debdiffs.raspbian.org/main/l/ltsp/ltsp_5.5.0-1%2brpi1.debdiff but i've no idea what the best way to fix it is, nor if raspbian is likely to need different settings from debian to make ltsp actually usable <vagrantc> the ltsp packages have some differences between ubuntu and debian, so we use dpkg-vendor/lsb_release to check
* dougl has quit (Remote host closed the connection)
<vagrantc> i haven't actually used raspbian as an LTSP server, though, i've only tested the client environment <plugwash> In general to distinguish between debian and ubuntu it's best to use "dpkg-vendor --derives-from ubuntu"
<plugwash> That way downstreams of both will get appropriate treatment
<vagrantc> plugwash: my hunch is that raspbian can be treated identically to Debian for all the ltsp packaging
* vagrantc wonders ho wmany people are using raspbian as an LTSP server...
<vagrantc> at runtime, most stuff uses lsb_release, i'm guessing that's different too?
<plugwash> Yes it is
<plugwash> in general I would advise against using lsb_release because it lacks any understanding of the idea of derivative distributions
<vagrantc> that's used extensively upstream
<vagrantc> there isn't any distro-agnostic tool that does any better that i'm aware of <plugwash> Well there is /etc/os-release though you have to parse it yourself
<plugwash> and it's relatively new
<plugwash> The problem is lsb_release has no concept of derivatives, so rather than saying "do x on debian like distros and y on redhat like distros" you have to say "do x on debian, ubuntu, mint ............ y on fedora, rhel, suse, mandrake..............." <plugwash> Which means smaller distros get screwed because upstreams neglect to include them
<vagrantc> as far as the packaging is concerned...
<vagrantc> for ltsp
* DrShoggoth ([email protected]) has joined #raspbian
<vagrantc> i just need additional checks for dpkg --derives-from debian && VENDOR=Debian
<vagrantc> and dpkg --derives-from Ubuntu && VENDOR=Ubuntu ?
* DrShoggoth has quit (Client Quit)
<vagrantc> and then... probably need a symlink in /usr/share/ltsp/plugins/ltsp-build-client/Raspbian -> Debian
<vagrantc> although the mirror settings will be different. hrm.
<plugwash> In general don't use "--derives-from debian"
<vagrantc> ?
<plugwash> because pretty much every dpkg using distro will return true for that
<vagrantc> well, if VENDOR != Debian or Ubuntu ...
<plugwash> Remember ubuntu derives from debian
<plugwash> so in general you would check if derived from ubuntu, if so do ubuntu stuff, if not do debian stuff <vagrantc> the --dervices-from checks would only be fallbacks if it's an "unknown" VENDOR <plugwash> If you really insist on doing a --derives-from debian test you would need to do it AFTER the --derives-from ubuntu test
<vagrantc> right
<vagrantc> plugwash: would you file a wishlist bug on ltsp about this?
* themill sets ban on *!*@CPEc8d3a35a59fe-CM000f9fa607d2.cpe.net.cable.rogers.com
<themill> (that's the well known drive-by spammer)
<plugwash> (but in general I see doing a --derives-from debian test as pointless, you may as well just put the "debian" choice as the final fallback IMO)
<vagrantc> plugwash: yeah, that makes sense.


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to