Page 1 of 1

PackIt-1.24 - a flexible Archiving/Compressing GUI

Posted: Fri Sep 23, 2022 12:22 pm
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 1714 times

Have a nice packing &
Greetings!


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

Posted: Fri Sep 23, 2022 12:22 pm
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)

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

Posted: Fri Sep 23, 2022 12:34 pm
by JakeSFR

Updated to v1.23.

See second post for changelog.

Greetings!


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

Posted: Sat Sep 24, 2022 10:13 am
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?


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

Posted: Sat Sep 24, 2022 10:15 am
by puppy_apprentice

Is the newest version has split archive option?


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

Posted: Sat Sep 24, 2022 10:18 am
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.


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

Posted: Sat Sep 24, 2022 10:20 am
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 ;)


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

Posted: Sat Sep 24, 2022 1:24 pm
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!


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

Posted: Sat Sep 24, 2022 1:44 pm
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.


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

Posted: Tue Sep 27, 2022 8:13 pm
by don570

JakeSFR
It's not worth your valuable time.
_______________________________


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

Posted: Sat Jun 17, 2023 11:40 am
by kris777

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


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

Posted: Wed May 01, 2024 9:11 am
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


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

Posted: Wed May 01, 2024 10:39 am
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!


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

Posted: Wed May 01, 2024 1:02 pm
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.


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

Posted: Wed May 01, 2024 1:40 pm
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!


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

Posted: Wed May 01, 2024 5:44 pm
by Jasper

@JakeSFR

That works perfectly now!!

Image

Thank you


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

Posted: Fri May 17, 2024 3:22 pm
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!


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

Posted: Fri May 17, 2024 3:44 pm
by Jasper

@JakeSFR

Thanks for the update :thumbup:


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

Posted: Fri May 17, 2024 4:47 pm
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


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

Posted: Fri May 17, 2024 5:12 pm
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!


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

Posted: Sat May 18, 2024 8:21 am
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?


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

Posted: Sat May 18, 2024 1:44 pm
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


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

Posted: Sat May 18, 2024 1:46 pm
by wizard

@Jasper

Is this the setting you tried?

Image

Yes

Thanks
wizard


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

Posted: Sat May 18, 2024 2:47 pm
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!


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

Posted: Sat May 18, 2024 4:30 pm
by wizard

@JakeSFR

Aha, thanks for your help.

wizard


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

Posted: Sat May 18, 2024 7:57 pm
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: