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: Errors unpacking/repacking .tar.gz, Why?< Next Oldest | Next Newest >
Juanito Offline





Group: Members
Posts: 1601
Joined: Sep. 2005
Posted: Feb. 21 2007,06:15 QUOTE

I've tried a couple of times to modify *.tar.gz files using emelFM in order to remove or add files to the archive.

When I do this with the backup.tar.gz file or with dsl extensions I get error messages on boot/on loading the extension.

emelFM does not give an error on re-packing the *.tar.gz file - is there something I'm missing?
Back to top
Profile PM 
mikshaw Offline





Group: Members
Posts: 4856
Joined: July 2004
Posted: Feb. 21 2007,14:14 QUOTE

It's most likely the fact that you are creating a plain old archive that will clobber system files when installed.  MyDSL extensions and the backup archve are indeed tar.gz files, but they are built in such a way that the files inside have specific permissions and ownership, and do not contain existing directories (or any directories, unless necessary). It's likely that you are breaking them by using emelfm to repack them.

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





Group: Members
Posts: 798
Joined: Sep. 2005
Posted: Feb. 21 2007,14:16 QUOTE

Repacking a .dsl extension or backup.tar.gz in emelfm will add non-empty ("clobber") directories like:

./
./usr/
./usr/bin/
./usr/bin/aoss
./usr/include/
./usr/include/alsa-oss_1.0.9rc4.dsl.info
./usr/include/oss-redir.h
./usr/lib/
./usr/lib/libalsatoss.a
./usr/lib/libalsatoss.la
./usr/lib/libalsatoss.so.0.0.0
./usr/lib/libalsatoss.so.0
./usr/lib/libaoss.a

These will break your system on installation.

These can be removed by hand or (easier) with my little declobber script.

Unfortunately there are a few clobbering extensions in the repo.  declobber can be run on a dir full of extensions using a wildcard argument.

dsl2unc will remove self-clobberers as a side effect but declobber also checks whether empty dirs are on the system (and if they are base or added dirs if a legacy livecd boot).

An easy way to repack extensions are emelfm buttons like those posted by (Clacker? CBagger?) eg:

dsl contents
tar -ztf %f >dirlist

dsl unpack
tar -zxpvf %f

dsl repack (select dirlist)
tar -T %f -cpf- | gzip -9 >%{Name:}

Repack as root to presere perms.

If packing an extension some other way eg from dirs, add the --no-recursion option to tar to prevent it adding clobber dirs (what's missing from emelfm).

If packing an extension on a system/user other than dsl, add the --numeric-owner option to tar.

EDIT: Wouldn't ya know it! I'm busy writing a reply an' MikShaw beats me to it!
Back to top
Profile PM 
Juanito Offline





Group: Members
Posts: 1601
Joined: Sep. 2005
Posted: Feb. 22 2007,07:51 QUOTE

Thanks - in fact I'd done this in emelFM/DSL-N and forgotten about it.

Tested by removing the example configs in /home/dsl in XFree86.dsl and works fine.
Back to top
Profile PM 
3 replies since Feb. 21 2007,06:15 < Next Oldest | Next Newest >

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

 
reply to topic new topic new poll
Quick Reply: Errors unpacking/repacking .tar.gz

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