[Pkg-ltsp-devel] Bug#741143: ltsp: please consider supporting raspbian and/or supporting unknown derivatives
peter green
peter.green at postgrad.manchester.ac.uk
Sun Mar 9 02:12:34 UTC 2014
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 (~prakwtf at 12.116.104.118) 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.
More information about the Pkg-ltsp-devel
mailing list