ke4nt1
Group: Members
Posts: 2329
Joined: Oct. 2003 |
|
Posted: Aug. 05 2004,04:52 |
|
I do it the old-fashioned way...eyeballs and (ahem) emelfm...
I start with a pristine LiveCD bootup, no mydsl or restores.. No gnu-utils, dsl-dpkg, or any extensions loaded... clean and pristine...
When checking the contribs, 1. I have to make a file list to edit for the retarring... 2. I have to untar the package to look at the owners/perms...
I start in a shell as root, and open an emelfm in the background... I usually make a "work" directory e.g. "/home/dsl/work" to do all of this in...
I'll use emelfm to look around in the files for executables, skins, themes, etc... I'll also look at the ~/work/usr/lib dirs and compare it to the base /usr/lib dirs... Here's where I'll catch the ones that overwrite the stock collection. If they match EXACTLY, I'll usually pull them out of my filelist.. In some cases, I'll also pull them out if their simply a few minor versions apart. If the app fails later, it's easy to add them back in..
Study the file structure, and you'll see where the app expects to find things... Make a mental note of the /usr/lib/menu, /usr/share/doc, and the README's... You'll pull all these out later to save precious ramspace and fileweight...
I'll use the root shell to look at all the owners/permissions of the files... Lots of " ls -al " " ls-alR " and " ls -alR | more" - just pokin around in it ... Frequently, I find all the perms are root.root or dsl.staff... no good... I change them to match the pristine DSL .iso e.g... /etc = root.root /usr = root.root /home/* = dsl.staff /tmp/* = dsl.staff /opt = root.root (usually) You get the idea... Perms should be chmod 644 or -rw-r--r-- for the icons, links, and menus, and should be owned by dsl.staff... Otherwise, you get the cranky desktop behavior...
Then onto the filelist... Here is where I remove all those nasty DIRECTORIES that get in the tars. Unless they are orphaned, and NOT in the base system, I remove them all... Here's a short example.. /usr /usr/bin /usr/bin/xbubble /usr/share/xbubble/ /usr/share/xbubble/README /usr/share/xbubble/highscores/ /usr/share/xbubble/themes/ /usr/share/xbubble/themes/candy.gif
The ONLY lines I would leave here are ... /usr/bin/xbubble <-- the exec. /usr/bin/xbubble/highscores/ <-- orphan dir /usr/bin/xbubble/themes/candy.gif <-- data file
The rest are useless deadweight... The /usr and /usr/bin are DANGEROUS, as your OVERWRITING base dirs... Bad puddy tat...
Also remember to remove any lines of libs or files you pulled, or changes you made to the filenames. e.g. /home/damnsmall to /home/dsl etc... You don't have to remove any files in the work directory that you don't want to keep... The filelist will cull those out for you... You DO have to rename files and dirs that were changed in the filelist, and vica-versa...
OK, so you've checked your file system for bad files, perms, owners, etc.. Give it a once over again, and check the .lnk files and the menu files Open them up in scite, and look at the lines, make sure the paths are correct... LF's are there, and check the owners/perms once again if you save after making corrections...
Then it's time to zip it back up... " tar -T filelist.txt --no-recursion --numeric-owner -cvf- | gzip > filename.dsl " Make the md5... " md5sum filename.dsl > filename.dsl.md5.txt "
Now is a good time to copy/backup the work dir to another more permanent area - HD , usb key, net share, etc... just in case.
Then it's testing time! Your already in a pristine bootup of DSL, so open up a emelfm as user dsl ( from the desktop ) , and use the mydsl button to run it.
If you have troubles, your work area is still there, and if you HAVE to reboot... ( which is NOT a good sign ) Your work area is easy to restore, and your back in business...
Open up a root shell, and open emelfm in the background... yadayadyada..
Good Luck...
73 ke4nt
|