ke4nt1
Group: Members
Posts: 2329
Joined: Oct. 2003 |
|
Posted: July 22 2004,23:25 |
|
....happy to share...
Most all of this has been devised and revised by roberts... We've been back & forth testing methods to make these as unintrusive to the base DSL file sysem as possible. ( He's the good lookin' one ..., I'm the stooge in the corner with a bucket and a mop !... spongin' up all the brain matter I can ! )
I start with a work directory as root user, inside /home/dsl... " sudo su " " mkdir work " " cd work " " cp /mnt/hda*/path-to-your-package/*.dsl . " (notice the lone dot)
I use this command to make the filelist. (I'll use tuxpaint, for ex:)
" tar -ztf tuxpaint.dsl > t.txt " ... (makes the filelist)
" tar -zxvf tuxpaint.dsl " ... (opens up the tar.gz file (.dsl))
" scite t.txt " ...( lets me look inside the list, take out stuff )
./etc/ <-- bad ./home/ <-- bad ./home/dsl/ <-- bad ./home/dsl/.xtdesktop/ <-- bad ./home/dsl/.xtdesktop/tuxpaint.lnk <-- A Keeper ! ./home/dsl/.xtdesktop/tuxpaint.png <-- A Keeper !
Take out the first 4 lines, as they are no good to the file system. They already exist, in the BASE file system, with proper owners/permissions. No need to overwrite them, possibly with wrong owners/perms. ( I see lots of packages that have every file owned by dsl.staff ) BAD, BAD news for HDInstalls, us LiveCD guys can simply reboot. I take out most ALL directories - they are forbidden unless they are loners...
Once you have your list clean of any directories, File/Save. ( Watch for directories in the list with no files in them. They are loners, and usually need to be made, so leave them) They are NOT base directories, which never need to be written. ( BASE directories are ANY directories that are already in the Damn Small Linux Filesystem Image >>> 0.7.*.iso )
Then I use a shell to examine the contents of the package check /home/dsl/.xtdesktop/tuxpaint.lnk check /home/dsl/.xtdesktop/tuxpaint.png check /tmp/mydsl.menu/tuxpaint they should ALL be dsl.staff and -rw-r--r-- (chmod 644) ( THIS is key to making icons and menu choices behave )
The rest is pretty straight forward..... Any other files in the package are..... /etc or /etc/* <-- usually always owned by root.root /usr or /usr/* <-- owned by root.root /home/dsl or /home/dsl/* <-- owned by dsl.staff /opt or /opt/* <-- root.root
Unless they are specifically an item in a different group ( like /tmp/mydsl.menu/* ) It's best to make them root.root if they are not in /home/dsl ( try " ls -alR | more " from / dir sometime, and you'll see how the BASE DSL .iso is setup as far as owners/perms go. )
I have seen some contribs that have every file inside them executable... " chmod 777 * " ...this is NOT good form...
Once your happy with both the filelist, and the directory structure of your package, use the tar command from my previous post to repackage it back into a *.tar.gz ( *.dsl ) . Make your .md5.txt and .info files.. and give it a test yourself. ( " md5sum tuxpaint.dsl > tuxpaint.dsl.md5.txt " ) ( I use scite to make my .info files.. use an existing one for a template, and edit over it )
Then send it to me, and share it with us..
As DSL continues to change, this process is constantly being tailored to fit the needs of the myDSL system. Expect changes to this method in the future, and please feel free to input your thoughts and tips...
73 ke4nt
|