CDE — Making Linux Portability Easy
timothy posted more than 3 years ago | from the namespace-collision dept.
? (5, Informative)
Anonymous Coward | more than 3 years ago | (#34212442)
CDE will always mean Common Desktop Environment to me.
Re:Isn't that three-letter acronym taken? (2, Interesting)
Jeremiah Cornelius (137) | more than 3 years ago | (#34212472)
Me too.
Common to Sun and HP.
:-)
I guess Ultrix, too.
Regarding this development - it's really what NeXT and later Mac OSX packages do. In the Windows world they have Thinapp and MS's App-V.
Re:Isn't that three-letter acronym taken? (1, Informative)
countertrolling (1585477) | more than 3 years ago | (#34212554):Isn't that three-letter acronym taken? (1, Informative)
Anonymous Coward | more than 3 years ago | (#34212618)
Nope. Mac programs are still "packages". Even before OS X, you had the data fork and resource fork that held different parts of the app.
Right click any Mac app -- you'll get a context-menu item called "Show Package Contents".
Re:Isn't that three-letter acronym taken? (4, Insightful)
h4rr4r (612664) | more than 3 years ago | (#34212652)
That method guarantees security problems. Applications and their dependencies should be managed by a proper package management system.
Re:Isn't that three-letter acronym taken? (1)
aliquis (678370) | more than 3 years ago | (#34212684)
Depends on the code used though.
With open-source code and lots of borrowed code? Yes.
If you have written everything yourself from scratch anyway? No.
Re:Isn't that three-letter acronym taken? (1)
h4rr4r (612664) | more than 3 years ago | (#34212718)
So build a package, if the only things in it are your code that will make it very easy.
Just about 0 commercial software uses no outside libs in some shape or form.
Re:Isn't that three-letter acronym taken? (4, Insightful)
countertrolling (1585477) | more than 3 years ago | (#34212766)
I prefer to avoid the disagreements over what is a "proper package management system". In fact with each program in its own "sandbox", protected from each other, I see better security.
Re:Isn't that three-letter acronym taken? (1)
h4rr4r (612664) | more than 3 years ago | (#34212784)
So now you want everything in it's own BSD style JAIL?
That is sure to waste a lot of space.
Re:Isn't that three-letter acronym taken? (3, Insightful)
h4rr4r (612664) | more than 3 years ago | (#34212812):Isn't that three-letter acronym taken? (1)
noidentity (188756) | more than 3 years ago | (#34212908)
Re:Isn't that three-letter acronym taken? (1)
icebraining (1313345) | more than 3 years ago | (#34212690):Isn't that three-letter acronym taken? (1)
Culture20 (968837) | more than 3 years ago | (#34212476)
CDE will always mean Common Desktop Environment to me.
Hear, hear! Of course I was always an openwindows fan since CDE rendered so slowly on our sparc lx's.
Re:Isn't that three-letter acronym taken? (1)
h4rr4r (612664) | more than 3 years ago | (#34212526)
XFCE on my Ultra 5.
Re:Isn't that three-letter acronym taken? (4, Insightful)
Haeleth (414428) | more than 3 years ago | (#34212670):Isn't that three-letter acronym taken? (2, Insightful)
maestroX (1061960) | more than 3 years ago | (#34212532)
Re:Isn't that three-letter acronym taken? (1)
freeasinrealale (928218) | more than 3 years ago | (#34212778)
Re:Isn't that three-letter acronym taken? (1)
BrokenHalo (565198) | more than 3 years ago | (#34212860)
I almost started screaming (3, Funny)
Chibi Merrow (226057) | more than 3 years ago | (#34212874)
No! I'm not going back! I'M NOT going BACK! MOTIF IS DEAD TO ME!
Re:Isn't that three-letter acronym taken? (5, Funny)
Waffle Iron (339739) | more than 3 years ago | (#34212936)
CDE will always mean Common Desktop Environment to me.
I only used CDE briefly, but I remember that it was like a combination of the sheer visual elegance of Tk's widgets with lush the color scheme of a bordello.
It's About Time (1, Funny)
WrongSizeGlass (838941) | more than 3 years ago | (#34212456)
+1 obvious, but it's as simple as this to make something more popular. The easier it is to use the more people who will use it.
Re:It's About Time (2)
h4rr4r (612664) | more than 3 years ago | (#34212506)
This does not make anything easier, it just makes it wrong.
The ubuntu app center makes things easier without this sort of nasty kludge.
Re:It's About Time (1)
mrawhimskell (1794156) | more than 3 years ago | (#34212932)
Re:It's About Time (4, Interesting)
couchslug (175151) | more than 3 years ago | (#34212544):It's About Time (0)
Anonymous Coward | more than 3 years ago | (#34212576)
Re:It's About Time (1, Interesting)
h4rr4r (612664) | more than 3 years ago | (#34212590):It's About Time (1)
CannonballHead (842625) | more than 3 years ago | (#34212704):It's About Time (1)
h4rr4r (612664) | more than 3 years ago | (#34212742)
So you sneakernet the debs over. How else are you planning on installing/running something anyway?
Unless you somehow write software yourself that depends on libs you do not have installed. Which is a pretty silly thing to do.
Re:It's About Time (2, Insightful)
CannonballHead (842625) | more than 3 years ago | (#34212794)
...:It's About Time (1)
h4rr4r (612664) | more than 3 years ago | (#34212822) (-1, Flamebait)
icebraining (1313345) | more than 3 years ago | (#34212708)
Of course, there's so little number of GNU/Linux installations out there that it's almost irrelevant.
Re:It's About Time (-1, Redundant)
h4rr4r (612664) | more than 3 years ago | (#34212748)
Pathetic troll is pathetic. Ever been in a server room?
You think all those nice websites you like are hosted on Macs?
Re:It's About Time (0, Redundant)
icebraining (1313345) | more than 3 years ago | (#34212840)
I'm not a troll. I use GNU/Linux exclusively. I just never see them anywhere besides my university.
And no, I hadn't thought about server rooms - parent talked about portableapps.com, which is exclusively for desktop apps (or at least, I wouldn't run Gimp or AssaultCube on a server).
CDE 2 (2, Informative)
ukpyr (53793) | more than 3 years ago | (#34212460)
I'm just pointing out a major application - that's not so major anymore - Common Desktop Environment uses this acronym
:)
Does sound like a neat tool though!
Next up, the Flash Transport Packager (3, Funny)
Anonymous Freak (16973) | more than 3 years ago | (#34212462)
To more quickly prepare software for easily installation.....
dependency hell is not inevitable (0)
Anonymous Coward | more than 3 years ago | (#34212486)
I don't understand why some people insist that dependency hell is inevitable. I have been using Debian for 8 years and Ubuntu for 4 years, using them for a wide variety of purposes, and I never experience anything that I could describe as "dependency hell"... (unless you count trying to cross-compile my linux code for win32)
That being said, I think this is CDE thing is cool, and is a good idea. I just don't think it is a good idea for the same reasons that the original poster specifies.
Party like it's 1988 (1)
countertrolling (1585477) | more than 3 years ago | (#34212488)
Wow, portable apps, just like an old Mac. Did anybody, for even a second think it's kinda weird for a program to splatter its parts all over the disk and into every directory it can find?
Re:Party like it's 1988 (5, Insightful)
h4rr4r (612664) | more than 3 years ago | (#34212516)
Wow, static linking, did anybody for even a second think it is kinda weird to have the same lib on the machine over and over and in every old exploitable version you can find?
Re:Party like it's 1988 (2, Insightful)
countertrolling (1585477) | more than 3 years ago | (#34212598)
That would all be nice if not for each program replacing shared libraries with its own and breaking the other programs. A program should not disturb the system or mess with its libraries. I prefer it remains as isolated as possible, where it can do the least damage.
Re:Party like it's 1988 (1, Informative)
h4rr4r (612664) | more than 3 years ago | (#34212640)
No the program should just use the libraries the system has. This is what package management is all about. What you prefer is only the product of brain dead OSes that lack proper package management.
Re:Party like it's 1988 (1)
aliquis (678370) | more than 3 years ago | (#34212714)
Except it doesn't.
Poorly written libraries or whatever may, but the package maintainer and package manager will make sure that won't happen.
Re:Party like it's 1988 (1)
icebraining (1313345) | more than 3 years ago | (#34212720)
That's why dpkg prevents installation if the package wants to override others' files.
You don't need static linking to do damage prevention, you need a decent package manager.
Re:Party like it's 1988 (1)
lowen (10529) | more than 3 years ago | (#34212756)
That's also why RPM will not let a package overwrite another package's files. Wow, what a concept.
Re:Party like it's 1988 (0)
h4rr4r (612664) | more than 3 years ago | (#34212830)
To windows users it really is. Either you know the better way or you start to think about hacks like putting everything you need for an application in one file/directory.
Re:Party like it's 1988 (4, Insightful)
Haeleth (414428) | more than 3 years ago | (#34212722):Party like it's 1988 (3, Insightful)
countertrolling (1585477) | more than 3 years ago | (#34212856) to the next.
Re:Party like it's 1988 (2, Informative)
avaik6 (1927978) | more than 3 years ago | (#34212616)
Re:Party like it's 1988 (4, Insightful)
Kjella (173770) | more than 3 years ago | (#34212842):Party like it's 1988 (0)
Anonymous Coward | more than 3 years ago | (#34212892)
Wow, static linking, did anybody for even a second think it is kinda weird to have the same lib on the machine over and over and in every old exploitable version you can find?
If only there were some sort of global network over which applications could update themselves on a regular basis.
Re:Party like it's 1988 (1)
X0563511 (793323) | more than 3 years ago | (#34212636)
Did anybody, for even a second, think that tracking where files are "splattered" might make it less splattery?
Re:Party like it's 1988 (2, Funny)
Bill, Shooter of Bul (629286) | more than 3 years ago | (#34212898)
[ducks outa the way]
Re:Party like it's 1988 (1)
aliquis (678370) | more than 3 years ago | (#34212664)
Some mac applications does to. It's just that there's nothing tracking it
:D
The obvious disadvantage to this is that 1) it takes up more space, and more importantly, 2) libraries or whatever included in the applications may be outdated since long but nothing is tracking it or noticing you. You have to rely on noticing the application is out of date and the developer to have upgraded anything vulnerable.
Personally I still want my Amiga
:/
Copy libs/ fonts/ env/ if you want to. Don't if you don't want to =P
Copying them obviously make removal somewhat harder but I never saw a purpose to remove any library files anyway. The advantage of copying them was that Directory Opus could tell you if the version you tried to replace with was newer or not and hence they would eventually get upgraded at the same time.
Package managers are good. With one package format for all platforms / large enough selection of packages (see Debian, FreeBSD, Ubuntu, Gentoo,
..) there sorta wouldn't be any need whatsoever for any of these portable or "single installation package" solutions.
A solution for a problem which isn't there, and which make new ones.
Re:Party like it's 1988 (1)
rgmoore (133276) | more than 3 years ago | (#34212712)
Yeah, that would be weird. It would be much more sensible for programs to behave the way they do under sane Linux package management, and put their parts into places defined by the filesystem hierarchy standard. That way it's possible to have just one copy of important files and libraries, so each program package can be much smaller.
Re:Party like it's 1988 (1)
Haeleth (414428) | more than 3 years ago | (#34212732) scratch instead of just updating one single file.
Open your mind. Just because something is different from what Apple does, doesn't mean it's necessarily a stupid thing to do. Sometimes there is more than one mutually-exclusive right answer, and Apple can only choose one of them.
GPL Compliance warning! (2, Insightful)
Anonymous Coward | more than 3 years ago | (#34212490)?
Re:GPL Compliance warning! (1)
noidentity (188756) | more than 3 years ago | (#34212926)
Bad idea or worst idea ever? (4, Insightful)
h4rr4r (612664) | more than 3 years ago | (#34212494)? (2, Informative)
99BottlesOfBeerInMyF (813746) | more than 3 years ago | (#34212624)? (1)
DigitalContradiction (1189907) | more than 3 years ago | (#34212878)
Year of linux (0)
Anonymous Coward | more than 3 years ago | (#34212496)
I think this breakthrough may just be the start of the year of linux (on the desktop).
-F
copying proprietary software (2, Insightful)
tommeke100 (755660) | more than 3 years ago | (#34212504)
Re:copying proprietary software (1)
aliquis (678370) | more than 3 years ago | (#34212738)
As if there is ever hard to copy any data you can get hold of?
Spreading files all over the place for sure won't make it "impossible" or even hard to pirate the application.
Other things will try their best to prevent that, and fail.
Re:copying proprietary software (0)
Anonymous Coward | more than 3 years ago | (#34212750)
Limitations (1)
Bryan Ischo (893) | more than 3 years ago | (#34212510) inputs.
I don't think you could reliably package up many programs in this way for general use, but maybe you could package up a program for a specific task like producing a reproducible bug report. But that is of little utility as most distributions that you would run a program on and need to submit a bug report are fairly easily reproduced anyway and the developer probably would have an easier time just reproducing the bug on their own system without fussing with some packaged up binary that the bug submitter sent in.
This honestly seems like a wrapper around "strace | grep ^open". If this is what it takes to be a researcher at Stanford these days then sign me up!
Re:Limitations (1)
martin-boundary (547041) | more than 3 years ago | (#34212700)
So there are no guarantees, and it's certainly no real solution to portability. However, I might be an interesting security monitoring tool, eg after recording "typical" program behaviour, you could clone the package for running in a locked down environment, and if it ever starts to behave strangely, then the program would likely crash because the files/paths it expects were never cloned.
Re:Limitations (2, Insightful)
h4rr4r (612664) | more than 3 years ago | (#34212764)
You could just use SElinux, which would already let you do that.
This looks like a solution looking for a problem.
Re:Limitations (1)
aliquis (678370) | more than 3 years ago | (#34212754)
I haven't RTFA and have no idea if they track the needed files. But the obvious alternative would of course be to compile everything needed to some other location than / and then pack it all together.
No need to track anything. Either everything needed is there or it's not.
Maybe is the fatigue (1)
Saija (1114681) | more than 3 years ago | (#34212522)
*just in case anyone wants to take a look and change some source code...
Re:Maybe is the fatigue (1)
gratuitous_arp (1650741) | more than 3 years ago | (#34212912)
He just updated the README included in the source to include the license; it's a BSD style license.
already done, already proven a bad idea (1)
KiloByte (825081) | more than 3 years ago | (#34212542):already done, already proven a bad idea (1)
Burdell (228580) | more than 3 years ago | (#34212644)".
I really like where this is going. (1)
AnonymousClown (1788472) | more than 3 years ago | (#34212604)
I wonder how far you can take this? For example, a program that requires certain versions of: Mono, glib, gphoto, and other libraries, would it be able to grab all of those?
Then, if you have something really complicated, you're going to eat up a huge amount of disk space.
Now, I'm going to ask myself, 'this is fucking awesome and wtf am I picking on it so much when I couldn't do any better?'
Time for my anti-dork pills....
Re:I really like where this is going. (1)
h4rr4r (612664) | more than 3 years ago | (#34212626):I really like where this is going. (1)
Lunix Nutcase (1092239) | more than 3 years ago | (#34212752)
Yes, if you ignore when the version of the package you want doesn't exist in the repos and it also requires dependencies that are of a higher version than in the repost. And this isn't an uncommon case.
Re:I really like where this is going. (2, Interesting)
Haeleth (414428) | more than 3 years ago | (#34212786).
Basically, "package once, run everywhere" is very appealing to a certain class of software distributor.
What I don't see is what CDE offers over any of the dozens of existing autonomous packagers. Or why they chose to confuse people by using the same name as the standard UNIX desktop environment.
Re:I really like where this is going. (4, Insightful)
bmo (77928) | more than 3 years ago | (#34212946). (1)
Homburg (213427) | more than 3 years ago | (#34212658)
hopefully it'll get to the point where installing software on Linux will be as easy as on WIndows and OSX.
Why would we want that? I prefer the current situation, where installing software on Linux is much easier than installing software on Windows and OS X.
Re:I really like where this is going. (1)
Lunix Nutcase (1092239) | more than 3 years ago | (#34212780):I really like where this is going. (1)
oiron (697563) | more than 3 years ago | (#34212824)
And have all the existing, open bugs of a 10 year old version of Windows along with all the bugs of a beta version of your browser?
Why not just upgrade when things are fixed?
err whut (0)
Anonymous Coward | more than 3 years ago | (#34212880)
I am far from a guru, but I seem to have no problem running FF 3.6xx pre dailies and also 4.x beta FF on my ubuntu install 10.4 lts. No having to upgrade to do it either, just enable the correct PPAs in the repository list.
Re:I really like where this is going. (5, Insightful)
Junta (36770) | more than 3 years ago | (#34212846):I really like where this is going. (1)
houghi (78078) | more than 3 years ago | (#34212962), sometimes you will need to compile the software yourself. That is however not an OS problem, but a developer problem. They decided not to package. And packaging can be done for many distro's by using e.g. [opensuse.org] where you can build against openSUSE, SLE, Debian, Fedora, RedHat, CentOS, Mandriva and Ubuntu (23 versions in total) all in one go.
The last time I needed to compile something is now about 3 years ago. I just look for something similar and use that instead.
This can all be avoided, (0)
Anonymous Coward | more than 3 years ago | (#34212606)
if you write proper packages for your distro. That is after all, the whole point of the package manager...
Re:This can all be avoided, (1)
Haeleth (414428) | more than 3 years ago | (#34212798)
Which distro is "your" distro? And what are people who use a different distro supposed to do? Write their own packages?
cross distribution compatibility (0)
Anonymous Coward | more than 3 years ago | (#34212630)
doesn't this make cross distribution distribution of applications much easier?
meaning, as an example, if Adobe wanted to release Photoshop for Linux, it could without have 50,000 different package formats for every different version of every different distribution?
if so, this could be very awesome.
Re:cross distribution compatibility (1)
h4rr4r (612664) | more than 3 years ago | (#34212678)
You seem to be pretty bad at counting.
2 versions would be fine. RPM and Deb.
Re:cross distribution compatibility (0)
Anonymous Coward | more than 3 years ago | (#34212924)
so i can distribute my closed source app that will run on debian, ubuntu 6.06 and 8.04 with 1 deb and then fedora 12, opensuse 11.4, mandriva, and for good measure an older version of redhat enterprise linux and maybe even a mandrake?
all with 2 packages, a deb and a rpm?
really? sweet.
Re:cross distribution compatibility (4, Insightful)
icebraining (1313345) | more than 3 years ago | (#34212808)] .
Good idea, Not enough. (1)
goruka (1721094) | more than 3 years ago | (#34212632)
Been there, Done that. (1)
lowen (10529) | more than 3 years ago | (#34212728)
Deja vu: AKA the Loki installer. Still used by CodeWeavers for their distribution independent CrossOver packages. See [wikipedia.org] and [icculus.org] which is the installer's home after Loki Software's closing.
Cloud computing?! (0)
Anonymous Coward | more than 3 years ago | (#34212758)
Not meant for distribution (0)
Anonymous Coward | more than 3 years ago | (#34212774)
This is obviously not meant for distributing programs (and the guy doesn't claim it is either; he's using it for repeatable research). It takes a snapshot of the entire filesystem on the system on which it's run. This not only results in huge packages for anything nontrivial, but also simply won't work for things that are system dependent, like, say, OpenGL, or which sound system to use. It also restricts file system access to the CDE package.
Portable, standalone packages can be done the right way by compiling against an older version of GLIBC, including required libraries in the package (GLIBC is backwards compatible, so don't include that, and don't include the entirety of X11, or OpenGL, or sound drivers, etc), and then using either RPATH on the executable or a script that sets LD_LIBRARY_PATH so that the executable finds and uses your included libraries. This is how it's done by many commercial Linux games, it works fine.
Interesting, but worth caution. (0)
Anonymous Coward | more than 3 years ago | (#34212796)
Many apps aren't so simple. For example, say you have a GPGPU app that links against a hypothetical library dynamically. That ABI represents a cross-vendor interface so that, say, nVidia or AMD's library could satisfy the link, depending on which hardware is installed. Pulling in that link could be very counter-productive. I don't think GPGPU works like that, but more esoteric things do. The other case is where a dynamic load or file operation is highly conditional. I presume he uses ldd strace and follows the syscalls to pick up the things ldd cannot. If the code doesn't happen to traverse the path, it won't get hit.
When positioned as a 'cloud' tool, lends itself to exacerbate I/O load and memory load. It's a philosophy that undoes a lot of the efforts towards efficiency that dynamic libraries were intended to do. It may be fashionable to scream 'cloud' on every single little thing nowadays, but shared libraries and common infrastructure are a good thing. Even if the apps will be separated by a harder virtualization way degrading efficiency, at least memory dedupe strategies can still dig in and get back some efficiencies if common platforms are used, but if library fragmentation is encouraged, that too will be lost.
Now, in a high performance computing application, interesting way to build 'just enough' OS to run an application. This is a tad different as each server has no more than one real application in flight at a time, and therefore need not worry about memory inefficiencies of running many apps on the same box without the full benefit of shared libraries to mitigate load. Deliver that small package every reboot and you give job submitters ultimate flexibility over their environment without drastic speed penalties to apply them. No need of local disk to host the platform and little to no memory waste as the OS image has only files that would be memory resident anyway.
My extremely similar tool: dynpk (2, Interesting)
xgoat (629400) | more than 3 years ago | (#34212800) (1)
cmdr_tofu (826352) | more than 3 years ago | (#34212820)
Seriously though this could end up making collaborating on software a lot easier among trusted people.
Gee, just like an OSX bundle (1)
jralls (537436) | more than 3 years ago | (#34212852)
Commercial equivalent? (1)
Skaven04 (449705) | more than 3 years ago | (#34212868)
If you're looking for a commercial product that can do just this -- but in a supportable way, and with lots of nifty features that enable building appliances and deploying them to the cloud...take a look at rPath: [] We're using it at our company on thousands of systems and love it!
CDE - good idea, try cpos-recovery on Sourceforge (1)
amazingcs (1157687) | more than 3 years ago | (#34212942)
Concurrent Versions (1)
mrawhimskell (1794156) | more than 3 years ago | (#34212948)
Works, Out of The BOX !!! (0)
Anonymous Coward | more than 3 years ago | (#34212966)
about damned time. I said that this is what was needed back in the 20th century. NOW we can see linux adoption begin to take off. Who amongst the great unwashed users, can begin to figure it all out? NONE. everyone just wants to click the download link and HAVE IT WORK OUT OF THE BOX !!!