Search Members Help

» Welcome Guest
[ Log In :: Register ]

Mini-ITX Boards Sale, Fanless BareBones Mini-ITX, Bootable 1G DSL USBs, 533MHz Fanless PC <-- SALE $200 each!
Get The Official Damn Small Linux Book. DSL Market , Great VPS hosting provided by Tektonic
 

[ Track this topic :: Email this topic :: Print this topic ]

reply to topic new topic new poll
Topic: howto build a dsl extension?, mess, can't find howto or documentation< Next Oldest | Next Newest >
jpaechnatz Offline





Group: Members
Posts: 4
Joined: April 2005
Posted: April 13 2005,14:35 QUOTE

I want to build some .dsl extensions. is there a howto? I searched the forum, but I didn't found a suitable guide... and in the documention I only found howto build an uci. I tried to build an uci, but the building process is not well documented, I got an .ci but didn't understand how to get this user.tar.gz working!?
so this post contains two questions...
1. step-by-step .dsl building.
2. step-by-step .uci building, continuing at the point when the .ci is build.

thanks!

greets, joh.
Back to top
Profile PM 
mikshaw Offline





Group: Members
Posts: 4856
Joined: July 2004
Posted: April 13 2005,16:01 QUOTE

There is no "suitable guide" at this point, but the forum is filled with useful bits and pieces.  Put these together and you have everything you need.

My suggestion about the UCI doument: look at it as guidance rather than step-by-step rules.  It took me a while before fully understanding it, and noticed there are a few minor glitches in it.  
The initial text is a very important part, and in my opinion should be considered step1.  You have to make sure your application is able to run from /opt/<appname> before you can build it into a .uci or tar.gz extension, so that would be the fist thing to do.  Make a directory in /opt for your application files and try to run it that way.  If you get error messages, it's probably because of one or both of the following:
1) Your application needs something which is not available in DSL.
2) It cannot find necessary files in the /opt/whatever directory because they are not in the standard bin and lib paths.
If it is the second one, you will need to start the application with a wrapper, which is a shell script that sets up your environment so that these files can be found.  For example, if your application contains libs that are not found in DSL, you may need to modify the LD_LIBRARY_PATH variable so the program can find these libs:
export LD_LIBRARY_PATH=/opt/whatever/lib:$LD_LIBRARY_PATH
exec /opt/whatever/bin/appname

There are other issues which may prevent the app from running in /opt, but this goes beyond the scope of a single howto.  This is one reason why there is no complete documentation on the subject...there are just too many factors to consider.  You really should have some understanding of how the parts of a linux system work together in order to handle these unforseen issues, but experimenting with various extensions is one way to learn.  I wouldn't assume that you can build a successful extension simply by following the steps of a howto without learning what these steps are doing.

You also should understand file ownership, and how it relates to a myDSL extension.  This is not mentioned in the documentation, but searching the extensions forum will come up with a couple of threads in which ke4nt explained the process.

http://damnsmalllinux.org/cgi-bin....;t=2362
http://damnsmalllinux.org/cgi-bin....;t=2363
http://damnsmalllinux.org/cgi-bin....;t=2442

In a UCI extension, this is applicable only to the user.tar.gz file, since it is a mounted file rather than a directory structure copied into the system.  It's very important for .dsl and .tar.gz extensions, though, since an improperly chowned file could have very unpleasant results.

After this is completed, then the actual building of the extension can be done.  Honestly the build process is not that difficult...the biggest task is in making your application work flawlessly from /opt, which as i said presents possible problems that are too numerous to include in a step-by-step document.

After the program successfully runs, and ownerships and base directories are dealt with, the package is built-- dsl and tar.gz are both simply tar.gz archives, and uci is a compressed filesystem

Building a .dsl extension is in my opinion the easiest of the three, since pre-compiled programs built for debian should pretty much work the same in DSL, without a wrapper.  The only problem would be in making sure you have all dependencies included.

--
This isn't the step-by-step you asked for, and it obviously isn't thorough (i needs me some more coffee), but the main goal of this post is to hopefully shed some light on the work it takes to build an extension....it's often not as simple as a step-by-step can tell.  There are some docs very slowly being created, but i don't think any will be complete....the user is always going to have to do some learning and understanding the process more than just following steps.   It might sound like a cop-out, but it's true.  I've been working on a document that was supposed to make extension building as simple as possible, but it's continuing to get ore and more complex instead....there are just too many variables to make a simple step-by-step.  Additionally, DSL is a rapidly evolving system...so far it has changed to quickly to keep up on the documentation.

There are several people in these forums who have successfully learned the process from what is currently available in the forums, through searching and asking questions.  I have a feeling it will continue this way  for quite a while.


--------------
http://www.tldp.org/LDP/intro-linux/html/index.html
Back to top
Profile PM WEB 
mikshaw Offline





Group: Members
Posts: 4856
Joined: July 2004
Posted: April 13 2005,18:48 QUOTE

I just sent SU a rather lengthy tutorial on building tar.gz extensions from source.  It's not 100% complete, but it does address some of the more common problems one might have while building .dsl and .tar.gz extensions.  It also applies to the user.tar.gz archive included in uci extensions.

--------------
http://www.tldp.org/LDP/intro-linux/html/index.html
Back to top
Profile PM WEB 
SaidinUnleashed Offline





Group: Members
Posts: 1428
Joined: Mar. 2004
Posted: April 13 2005,22:53 QUOTE

Added to the docs, after a little proofreading.

Didn't see anything wrong with it, so we'll run it up the flagpole and see who salutes it, so to speak.

Thanks for the submission.

-J.P.


--------------
They say if you play a Microsoft CD backwards, you hear satanic messages. That's nothing, cause if you play it forwards, it installs Windows.

Unleash the power of the TILDE~~~
Back to top
Profile PM AOL MSN YIM 
snipes
Unregistered






Posted: May 13 2005,13:12 QUOTE

I followed this howto and i got it first time :D
http://www.damnsmalllinux.org/talk/node/185
thanks a lot!
Back to top
4 replies since April 13 2005,14:35 < Next Oldest | Next Newest >

[ Track this topic :: Email this topic :: Print this topic ]

 
reply to topic new topic new poll
Quick Reply: howto build a dsl extension?

Do you wish to enable your signature for this post?
Do you wish to enable emoticons for this post?
Track this topic
View All Emoticons
View iB Code