PackIt-1.24 - a flexible Archiving/Compressing GUI

Moderator: Forum moderators

Post Reply
User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

[Original thread: https://oldforum.puppylinux.com/viewtopic.php?t=89211]

Unlike UExtract, PackIt is not intended to be an ultimate (i.e. millions of supported formats) tool.
But it's designed to be simple yet flexible.
Just take a look at the screenshot - I hope no usage instructions are necessary...

I've implemented only crucial (IMO and for me) parameters for Pass_2 tools, like:

  • compression level
  • solid archive (only 7z/rar)
  • password (only 7z/rar/zip)
  • filenames encryption (only 7z/rar)
  • as of version 1.24 - multithreading (only 7z/bzip3/rar/xz/zstd)

Like UExtract, PackIt is packaged as a ROX right-click app and this is the easier way to use it (right-click or drag'n'drop), however menu entry is also available.

Supported archiving/compressing tools:
Pass_1: tar, cpio, mkisofs, mke2fs, mksquashfs
Pass_2: 7z/7za/7zz/7zzs/7zr, bzip2, bzip3, gzip, lz4, lzip, lzma, lzop, pigz, rar, xz, zip, zstd

Requirements: Bash, Busybox, Gtkdialog (>= 0.8.3) + at least one of supported archiving/compressing tools.


Note that mixing mksquashfs with any of 'Pass_2' tools is not supported, for two reasons:

  • mksquashfs refuses to send its output to stdout, so I'd have to use some ugly workarounds
  • it'd be poinless anyway, since *.sfs is already compressed

PS. I couldn't find any icon for this app that would satisfy my aesthetic sense (yeah, I'm pretty fussy), so I just used the one from UExtract, but with inverted colors.
Actually, they look quite nice side by side. ;)


PackIt contains the following translations:

  • Polish (me)
  • Spanish (nilsonmorales & vicmz) [needs updating]
  • French (charlie6) [needs updating]
  • Russian (Senderok) [needs updating]
  • German (L18L) [needs updating]
    ___________
PackIt.gif
PackIt.gif (71.25 KiB) Viewed 130 times

Have a nice packing &
Greetings!

Attachments
packit-1.24.pet
MD5: 85a03f432ba9072eab9af8a25d3567f1 packit-1.24.pet
(36.57 KiB) Downloaded 8 times
packit-1.23.pet
MD5: 7a011186a35faeb5c064b3536676083c packit-1.23.pet
(35.92 KiB) Downloaded 223 times
packit-1.22.pet
MD5: 64eecbc60e5bf11f0c281d3311d32952 packit-1.22.pet
(33.96 KiB) Downloaded 65 times
Last edited by JakeSFR on Fri Sep 23, 2022 12:49 pm, edited 2 times in total.
[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

Changelog

Version 0.9:

  • initial release

Version 1.0:

  • added: 'Verbose mode' checkbox
  • various, minor fixes

Version 1.1:

  • can create a shortcut in $HOME/Desktop (if exists)
  • added MD5 checkbox
  • various minor fixes and improvements

Version 1.2:

  • can create SFX archives (7z/rar/zip only)
  • better compatibility with older busybox and xterm (thanks to ac2011)
  • added: version number in titlebar (thanks to jplt)

Version 1.3:

  • added Spanish translation (thanks to Nilsonmorales)
  • mksquashfs' compression method is now choosable.
  • can create also *.exe (Win/GUI) self-extracting archives (only 7z/rar)
  • .sfx/.exe extensions are shown only if appropriate modules are available.
  • creating encrypted, self-extrating ZIP archives is not allowed (unzipsfx doesn't support it)
  • bugfix: wrong compression level calculation for rar
  • xterm changed to $TERM
  • some other minor fixes.

Version 1.4:

  • pinstall.sh is now Woof-friendly (thanks to Pemasu)
  • updated ES translation (thanks to Vicmz)
  • tar|cpio|iso.zip archives preserve normal name inside (instead of - (dash))
  • tar|cpio|iso.sfx extensions (zip) unblocked
  • small bugfix in routine that tests sfx/exe abilities

Version 1.5:

  • fixed: improper handling of dir/filenames and passwords with some special chars like ' " * < >
  • fixed: if Pass_1 fails, in some cases Pass_2 may continue without errors
  • some other minor fixes

Version 1.6:

  • bugfix: improper handling of filename(s) and passwords that contain ` (backtick)
  • bugfix: not detecting 7za/7zr if 7z not available

Version 1.7:

  • p(un)install.sh: can create right-click entries for Thunar
  • added 'mke2fs' to "Pass_1" tools
  • all 'xmessage' stuff replaced with pure Gtkdialog

Version 1.8:

  • archiving can be aborted also in non-verbose mode
  • visual improvements (non-verbose mode)
  • some internal improvements/fixes

Version 1.9:

  • mksquashfs: better compression in xz mode (-Xbcj x86 -b 512K)
  • mkisofs: Joliet disabled when creating Puppy ISO (if presence of ".sfs", "initrd" and "vmlinuz" files has been detected)
  • fixed regression in creating right-click entries in FatDog

Version 1.10:

  • support for lzip
  • withdrawn: '-Xbcj x86' option for mksquashfs in 'xz' mode
  • added SHA1
  • preview of output archive's size in non-verbose mode
  • minor internal changes

Version 1.11:

  • pressing 'Enter' activates the 'PackIt!' button
  • better compatibility with FatDog64-700 (ROX right-click integration in pinstall.sh)
  • some minor fixes

Version 1.12:

  • bugfix: creating MD5/SHA1 was failing if output dir wasn't the same as input files' dir
  • in Fatdog right-click entries are installed to /etc now
  • some internal rearrangements

Version 1.13:

  • slightly re-arranged structure of internal directories
  • increased max. password length from 64 to 256
  • added German translation (thanks to L18L)

Version 1.14:

  • added '-mqs' switch to 7z (only for versions >= 15) in order to re-enable old sorting method, which provides better compression for solid archives
  • mksquashfs: can detect and use 'lz4' (if mksquashfs supports it)
  • also added 'lz4' to PASS_2 tools
  • if "Password" field is empty, "Encrypt filenames" checkbox is kept insensitive (works only for Gtkdialog >= 0.8.3)
  • removed some superfluous extensions like .gzip, .gtar, etc.
  • after clicking X (during packing) PackIt won't be continuing in the background, but will just abort

Version 1.15:

  • added button (within entrybox) to toggle visibility of password
  • can handle multiple input files dropped onto entrybox (when PackIt was launched via Menu entry, not via right-click option)

Version 1.16:

  • make (un)install scripts compatibile with Fatdog build system
  • added zstd support
  • added sha256 checksum

Version 1.17:

  • removed compress and freeze support
  • added 'Block size' option to mksquashfs
  • various fixes and improvements

Version 1.18:

  • can create zstd compressed SFSes (requires squashfs-tools v4.4 built with zstd)
  • fixed typo in one extension

Version 1.19:

  • mksquashfs: added option to not compress (-noI -noId -noD -noF -noX)
  • fixed disabling mksquashfs's "block size" combobox after choosing '(none)'

Version 1.20:

  • mksquashfs: remove '-noId' option, which is not supported by older versions of squashfs-tools
  • add missing ; in .desktop file

Version 1.21:

  • fixes and improvements in creating ISO and ext2 images
  • zstd: use '-T0' option (max. # of threads)

Version 1.22:

  • added ability to select individual checksums
  • added support for pigz compressor
  • PackIt.desktop: fix category (thanks to BarryK)
  • install script: ignore parent ROX MIME-Types (thanks to BarryK)
  • some minor fixes

Version 1.23:

  • mksquashfs, xz: add 'BCJ x86 filter' checkbox
  • mksquashfs, zstd: add 'Compression level' hscale
  • add the official 7zz/7zzs as fallbacks
  • disable wildcard matching in 7z/7za/7zr/7zz/7zzs
  • fix failing to create a bootable ISO with grldr instead of isolinux.bin
  • make bootable ISO also when isolinux.bin is in boot/isolinux or isolinux subdir
  • other minor fixes and improvements

Version 1.24:

  • added bzip3 support
  • pigz can also create zlib (.zz) files
  • mksquashfs: added "Keep root directory" option
  • multithreading is now optional (when applicable)
[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

Updated to v1.23.

See second post for changelog.

Greetings!

[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
Jasper
Posts: 1628
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 694 times
Been thanked: 366 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by Jasper »

Hi JakeSFR

Firstly, thank you for this update and it works perfectly in FossaPup64.

I do have a registered copy of RAR and was pleased that this format was included in your application.

I have tried this and it does create the archive.

What I would have liked is an option to create multi-archives of a smaller size eg

Code: Select all

rar a -v(filesize kb)

Is this possible?
Also, would this option be useful for other compression tools?

User avatar
puppy_apprentice
Posts: 661
Joined: Tue Oct 06, 2020 8:43 pm
Location: land of bigos and schabowy ;)
Has thanked: 4 times
Been thanked: 107 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by puppy_apprentice »

Is the newest version has split archive option?

User avatar
Jasper
Posts: 1628
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 694 times
Been thanked: 366 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by Jasper »

@puppy_apprentice

As you can see in the gui screenshot in the first post, I do not believe that option is available. Unless I am overlooking something.

User avatar
puppy_apprentice
Posts: 661
Joined: Tue Oct 06, 2020 8:43 pm
Location: land of bigos and schabowy ;)
Has thanked: 4 times
Been thanked: 107 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by puppy_apprentice »

Yep. I've used Search this topic option (split keyword) and didn't get any results.

So it is a feature request ;)

User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

The split option has been on my TODO list from almost the beginning, but as far as I can remember, I think I needed to split an archive maybe once in my life, which is why I've never found enough motivation to actually implement it.
And given that PackIt is a pretty complicated script and its codebase is quite messy (shame on me), it's not trivial to do it properly.

Some archivers have it built-in, like 7zip and rar (zip too, but it doesn't seem to be fully functional).
There's also the split command, but you'd need to cat all the parts together before accessing/unpacking such an archive.

Can't promise anything, but I'll take a closer look into this next time.

Greetings!

[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
puppy_apprentice
Posts: 661
Joined: Tue Oct 06, 2020 8:43 pm
Location: land of bigos and schabowy ;)
Has thanked: 4 times
Been thanked: 107 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by puppy_apprentice »

I had problem with file bigger than 4GB that i wanted to copy to FAT pendrive. I can use 7zip from console but from gui will be nicer. Split wasn't good because this file was for inexperienced Windows user.

don570
Posts: 626
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by don570 »

JakeSFR
It's not worth your valuable time.
_______________________________

kris777
Posts: 39
Joined: Fri Dec 25, 2020 7:53 pm
Has thanked: 3 times
Been thanked: 8 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by kris777 »

Thanks for the program...works on EasyOS! :thumbup:

User avatar
Jasper
Posts: 1628
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 694 times
Been thanked: 366 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by Jasper »

@JakeSFR

I am using JammyPup64.

I have encountered a problem using the application in using the mksquashfs option

Image

Image

I regularly use the application in Fossapup64-95 and have the same binary's included, so am at loss as to why I can only use the gzip option only :oops:

I know you had a solution for me for UExtract, is this a similar issue?

viewtopic.php?p=117058#p117058

User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

@Jasper: It's exactly the same issue (and solution) - just put unsquashfs4 in the resources dir and you're good to go.

Greetings!

[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
Jasper
Posts: 1628
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 694 times
Been thanked: 366 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by Jasper »

@JakeSFR

I did try as you suggested and the option remains the same :oops:

Image

As you can see the binary does work, it's just that PackIt doesn't appear to see it.

I have tried to rename it to

unsquashfs

That doesn't work either.

User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

@Jasper: Oh, my bad. PackIt doesn't use unsquashfs at all, because it does the compression via mksquashfs, not unpacking.
Attached statically linked, 32bit mksquashfs.
No need to rename it to mksquashfs4.

Greetings!

Attachments
mksquashfs.tar.xz
(348.02 KiB) Downloaded 2 times
[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
Jasper
Posts: 1628
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 694 times
Been thanked: 366 times

Re: PackIt-1.23 - a flexible Archiving/Compressing GUI

Post by Jasper »

@JakeSFR

That works perfectly now!!

Image

Thank you

User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

Version 1.24:

- added bzip3 support
- pigz can also create zlib (.zz) files
- mksquashfs: added "Keep root directory" option
- multithreading is now optional (when applicable)

First post updated.

Greetings!

[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
Jasper
Posts: 1628
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 694 times
Been thanked: 366 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by Jasper »

@JakeSFR

Thanks for the update :thumbup:

User avatar
wizard
Posts: 1629
Joined: Sun Aug 09, 2020 7:50 pm
Has thanked: 2152 times
Been thanked: 507 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by wizard »

@JakeSFR

Using v1.24, I recently I tried to make a .tar.lzma of a directory and the lzma appears to fail.

Thanks
wizard

Big pile of OLD computers

User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

@Jasper

You're welcome!
___________

@wizard

What does it say in the log (or "Verbose mode")?

BTW, maybe your LZMA is Busybox's, in which case it can only decompress stuff (same with XZ).

Greetings!

[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
Jasper
Posts: 1628
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 694 times
Been thanked: 366 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by Jasper »

@wizard

Is this the setting you tried?

Image

It does create an archive for me.

@JakeSFR

I do not use UPX ( https://upx.github.io/ ) that often.

It will compress individual files and if used with a wildcard ie *.* should compress the contents of a directory eg

Code: Select all


upx -9 <file location>/*.*

Is worth including this as an option?

User avatar
wizard
Posts: 1629
Joined: Sun Aug 09, 2020 7:50 pm
Has thanked: 2152 times
Been thanked: 507 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by wizard »

@JakeSFR

Using fossapup64 9.5, here is the log:

Code: Select all

==============================================================================
Creating: /mnt/home/extra_programs/NVME/clover/CLOVER1/CLOVER/CloverISO-4961.tar.lzma.extracted/Clover-test.tar.lzma
==============================================================================
Clover-test/
Clover-test/library/
Clover-test/library/application support/
Clover-test/library/application support/clover/
Clover-test/library/application support/clover/cloverupdaterapp/
Clover-test/library/application support/clover/cloverupdaterapp/contents/
Clover-test/library/application support/clover/cloverupdaterapp/contents/macos/
Clover-test/library/application support/clover/cloverupdaterapp/contents/macos/cloverupdater
Clover-test/library/application support/clover/cloverupdaterapp/contents/info.plist
Clover-test/library/application support/clover/cloverupdaterapp/contents/resources/
Clover-test/library/application support/clover/cloverupdaterapp/contents/resources/pt-brlproj/
Clover-test/library/application support/clover/cloverupdaterapp/contents/resources/pt-brlproj/mainmenu.nib
lzma: unrecognized option: 5
BusyBox v1.31.0 (2019-08-05 23:29:36 +08) multi-call binary.
Usage: lzma -d [-cfk] [FILE]...
Decompress FILE (or stdin)
	-d	Decompress
	-c	Write to stdout
	-f	Force
	-k	Keep input files
******************************************************************************
Creation of Clover-test.tar.lzma has failed!

Thanks
wizard

Big pile of OLD computers

User avatar
wizard
Posts: 1629
Joined: Sun Aug 09, 2020 7:50 pm
Has thanked: 2152 times
Been thanked: 507 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by wizard »

@Jasper

Is this the setting you tried?

Image

Yes

Thanks
wizard

Big pile of OLD computers

User avatar
JakeSFR
Posts: 257
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 128 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by JakeSFR »

@Jasper

I'm not sure about that, since it's only for executables, so it's very specialized and casual users seldom use it (me included).
___________

@wizard

Yes, it's Busybox's, won't work.
But if you have the full version of /usr/bin/xz, you can just link lzma to it and it should work.
You can create the symlink directly in /usr/local/apps/PackIt/resources dir, which will override the BB's one.

Greetings!

[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
wizard
Posts: 1629
Joined: Sun Aug 09, 2020 7:50 pm
Has thanked: 2152 times
Been thanked: 507 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by wizard »

@JakeSFR

Aha, thanks for your help.

wizard

Big pile of OLD computers

User avatar
Jasper
Posts: 1628
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 694 times
Been thanked: 366 times

Re: PackIt-1.24 - a flexible Archiving/Compressing GUI

Post by Jasper »

@JakeSFR

I agree with you, I seldom use the application myself but do have installed for 'occasional' use.

As always, great app :thumbup2:

Post Reply

Return to “Utilities”