Extract-debian 1.5 - localised
Purpose: a simple right-click on debian package to extract all
files with their paths preserved. The original
file remains untouched.
Requirements: Rox Filer (doesn't work with Thunar file manager)
It uses undeb application which I have included.
I have improved Tazoc's script to give an additional
destination option to store the extracted folder. As well I localised
the app.
It uses a combination of yaf-splash and Xdialog messages.
_____________________________________________
Right-click to extract Debian package
Right-click to extract Debian package
- Attachments
-
- Extract-debian-1.5.pet
- application
- (3.1 KiB) Downloaded 1052 times
-
- Extract-debian_NLS-1.5.pet
- German and French locales
- (1.42 KiB) Downloaded 882 times
Last edited by don570 on Sat 12 Jan 2013, 20:14, edited 2 times in total.
hi don570
debian packages have another hidden 'debian' folder that contain install scipts. sometimes these need to be run, as in the case of some python apps (openshot for instance has an update python modules script).
i know that 'file roller' can extract these from the .deb and rcrsn5's 'debbi' can install a .deb and run the scripts.
it would be nice to have the option either to extract the scripts or run them
cheers
debian packages have another hidden 'debian' folder that contain install scipts. sometimes these need to be run, as in the case of some python apps (openshot for instance has an update python modules script).
i know that 'file roller' can extract these from the .deb and rcrsn5's 'debbi' can install a .deb and run the scripts.
it would be nice to have the option either to extract the scripts or run them
cheers
Bionicpup64 built with bionic beaver packages http://murga-linux.com/puppy/viewtopic.php?t=114311
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331
I've been concentrating on getting my extraction programs to work correctly
even when the packages have whitespace in their name. This happens
(albeit rarely) when the Windows downloader finds a similar file
stored on your hard disk so it makes a name change automatically
during the download. The file isn't corrupted at all . It's just that the
filename now has a space . An example --->
I think I have it fixed for extract-pet v1.4 so I'll concentrate on
Extract-debian now.
__________________________________________________
even when the packages have whitespace in their name. This happens
(albeit rarely) when the Windows downloader finds a similar file
stored on your hard disk so it makes a name change automatically
during the download. The file isn't corrupted at all . It's just that the
filename now has a space . An example --->
Code: Select all
bash_advanced_guide-6.6e (1).pet
Extract-debian now.
__________________________________________________
About .deb postinst script.
If you want to install .deb and also run possible postinst script...like update-python-modules openshot.public
Firstly you need to extract the folders and files in .deb as debbi do. Link to debbi-1.1.pet:
http://www.murga-linux.com/puppy/viewto ... h&id=56503
Extract the pet and check debbi script.
debbi uses dpkg-deb with -x (extract ie install the files to the system, debbi does not just extract the files to the dedicated folder like extracted-debian, it installs them to the system.
Next....debbi extracts the DEBIAN folder with control files..amongst them is also postinst script. dpkg-deb -e.
With openshot it executes update-python-modules openshot.public and some other commands.
Then it removes the DEBIAN folder.
For Openshot, you need to have python-support .deb installed to have update-python-modules binary for use. It is not in Precise Puppy. I include that python-support .deb now to the Upup Precise.
So....for having .deb installed and also the possible postinst script executed, you need to use dpkg-deb -x (extract the files) and dpkg-deb -e (extract the DEBIAN control folder content) parameters and also you need to run postinst script and also you need to have needed binaries and other stuff in place if the postinst script calls them.
I think this is more or less something to be included in /usr/local/petget/installpkg.sh script.
So...for extracting the .deb DEBIAN control folder with all included files and scripts...postinst included...I suppose above give some info more.
If you want to install .deb and also run possible postinst script...like update-python-modules openshot.public
Firstly you need to extract the folders and files in .deb as debbi do. Link to debbi-1.1.pet:
http://www.murga-linux.com/puppy/viewto ... h&id=56503
Extract the pet and check debbi script.
debbi uses dpkg-deb with -x (extract ie install the files to the system, debbi does not just extract the files to the dedicated folder like extracted-debian, it installs them to the system.
Next....debbi extracts the DEBIAN folder with control files..amongst them is also postinst script. dpkg-deb -e.
With openshot it executes update-python-modules openshot.public and some other commands.
Then it removes the DEBIAN folder.
For Openshot, you need to have python-support .deb installed to have update-python-modules binary for use. It is not in Precise Puppy. I include that python-support .deb now to the Upup Precise.
So....for having .deb installed and also the possible postinst script executed, you need to use dpkg-deb -x (extract the files) and dpkg-deb -e (extract the DEBIAN control folder content) parameters and also you need to run postinst script and also you need to have needed binaries and other stuff in place if the postinst script calls them.
Code: Select all
dpkg-deb -x $1 /
dpkg-deb -e $1
if [ -e DEBIAN/postinst ]; then
sh DEBIAN/postinst
echo "Post-install script completed!"
fi
So...for extracting the .deb DEBIAN control folder with all included files and scripts...postinst included...I suppose above give some info more.
Sorry about misinformation. I have edited the above post.
/usr/local/petget/installpkg.sh has the dpkg-deb installation section:
That part would need editing so that postinst script would be launched.
For .deb extract-deb it would need similar modification like in debbi script, so that dpkg-deb -e would be used to extract DEBIAN folder content.
/usr/local/petget/installpkg.sh has the dpkg-deb installation section:
Code: Select all
*.deb)
DLPKG_MAIN="`basename $DLPKG_BASE .deb`"
PFILES="`dpkg-deb --contents $DLPKG_BASE | tr -s ' ' | cut -f 6 -d ' '`"
[ $? -ne 0 ] && exit 1
echo "$PFILES" > /root/.packages/${DLPKG_NAME}.files
install_path_check
dpkg-deb -x $DLPKG_BASE ${DIRECTSAVEPATH}/
if [ $? -ne 0 ];then
rm -f /root/.packages/${DLPKG_NAME}.files
exit 1
fi
;;
For .deb extract-deb it would need similar modification like in debbi script, so that dpkg-deb -e would be used to extract DEBIAN folder content.
New version 1.5
New version 1.5
- The package is now equivalent to Extract-pet i.e.
there is now checking of available space on your hard drive
to make sure that extraction is successful .
- Non-standard debian packages with whitespace in name
are now handled perfectly i.e. everything will be extracted
-There should be error messages if the extraction is not successful.
_______________________________________________________
- The package is now equivalent to Extract-pet i.e.
there is now checking of available space on your hard drive
to make sure that extraction is successful .
- Non-standard debian packages with whitespace in name
are now handled perfectly i.e. everything will be extracted
-There should be error messages if the extraction is not successful.
_______________________________________________________