EzPack Crossplatform packer

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

EzPack Crossplatform packer

Post by idle »

EzPacker

Cross Platform Streaming Packer supports large files

Features:
  • Windows,Linux,Osx
  • Ascii, Unicode
  • Unpack from memory
  • Open files from memory
DownLoad v1.0.6

https://www.dropbox.com/s/f76f9cvjfmv88h9/EzPack.zip

Version 1.06
changed so compression level can be set for different file types with build source list

Version 1.05
Added Thread support (applications need to be compiled with threadsafe)

Version 1.04
Added compression for file index

Version 1.0.3b
Changed internal string representation to utf8
added missing error traps

Version 1.0.2b
changed file routines to work with a copy


If it's not what your looking for try ts-softs zbin
(I had forgotten about this great packer before writing EzPack)
http://www.purebasic.fr/english/viewtop ... 27&t=50153

Please report any bugs

Code: Select all

 Interface iEzPack 
    BuildSourceFileList(StartDir.s,Pattern.s="*.*",Recursive=1,Thread=0)
    CreatePack(PackFileName.s,Thread=0,WorkSetMb.i=500,level.i=7) 
    CreatePackSelected.q(PackFileName.s,Thread=0,WorkSetMb.i=500,level.i=7)
    OpenPackFromDisk(PackFile.s,Thread=0)
    OpenPackFromMemory(*Memory,MemoryLen,Thread=0)
    UnPack(DestinationPath.s,Thread=0,UnPackAll=0,UnPackToMemory=0)
    UnPackAllToDisk(DestinationPath.s,Thread=0) 
    UnPackSelectedToDisk(DestinationPath.s,Thread=0)
    UnPackAllToMemory(Thread=0) 
    UnpackSelectedToMemory(Thread=0) 
    SelectExtractFile(file.s)
    SelectExtractFileIndex(index.i)
    SelectCompressFile(index.i)
    OpenFile(file.s)
    OpenFileIndexed(Index.i)
    CatchFile(FileNumber.i) 
    GetFileSize(FileNumber.i)
    CloseFile(FileNumber.i)
    Reset()
    GetProgress()
    GetProcessed.s() 
    GetCurrentListIndex()
    GetCurrentListItem.s() 
    GetSourceFileCount()
    GetPackedSize.q()
    GetRawSize.q()
    GetExtractedCount()
    Free()
 EndInterface   
Windows 11, Manjaro, Raspberry Pi OS
Image
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: EzPack Crossplatform packer up to 8 exabytes

Post by ts-soft »

Image very usefull!

There is a small bug with the "ExtractSelectedFiles" examples.

Code: Select all

pack\SelectExtractFile("/examples/3d/Demos/Tank.pb") 
doesn't work! The example is available with the same path on my system.

Greetings - Thomas
PureBasic 5.73 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Old bugs good, new bugs bad! Updates are evil: might fix old bugs and introduce no new ones.
Image
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: EzPack Crossplatform packer up to 8 exabytes

Post by idle »

Thanks Thomas it was a problem with the Path on windows updated the zip
Windows 11, Manjaro, Raspberry Pi OS
Image
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: EzPack Crossplatform packer up to 8 exabytes

Post by ts-soft »

Hello Andrew

Works fine, but i think, it is better to use always slash in the pack and only on windows convert when extract.
PureBasic 5.73 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Old bugs good, new bugs bad! Updates are evil: might fix old bugs and introduce no new ones.
Image
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: EzPack Crossplatform packer up to 8 exabytes

Post by idle »

I will look into that
plus change the way it maps the files so it can be either C:\foo\bar or C:/foo/Bar
Windows 11, Manjaro, Raspberry Pi OS
Image
Little John
Addict
Addict
Posts: 4779
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: EzPack Crossplatform packer up to 8 exabytes

Post by Little John »

Hi idle!
idle wrote:EzPacker

Cross Platform Steaming Packer
Here you see me, testing EzPacker:

Image

The program works fine. However, I'd prefer if it would steam a little less. ;-)
(Sorry, I'm just kidding -- could not resist. No offense intended, of course.)

Best regards, Juergen
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: EzPack Crossplatform packer up to 8 exabytes

Post by idle »

That's Dyslexia for you :lol:
I'm fairly sure it will steam your cpu on large files at the moment, it really needs a Delay(0)
added in the compression to yield it's time slice nicely.
Windows 11, Manjaro, Raspberry Pi OS
Image
Nituvious
Addict
Addict
Posts: 1027
Joined: Sat Jul 11, 2009 4:57 am
Location: United States

Re: EzPack Crossplatform packer up to 8 exabytes

Post by Nituvious »

Amazing, thank you Idle!

PS I had to google wtf an exabyte was... :lol:
▓▓▓▓▓▒▒▒▒▒░░░░░
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: EzPack Crossplatform packer up to 8 exabytes

Post by idle »

Don't think we'll be getting HD's that large for a while though.

Code: Select all

Debug "1 exabyte " + Str(1<<60) + " bytes " 
Debug  "8 exabytes -1 = " + Str((1024*1024*1024*1024*1024*1024*8)-1) + " bytes "
Windows 11, Manjaro, Raspberry Pi OS
Image
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: EzPack Crossplatform packer up to 8 exabytes

Post by idle »

Version 1.0.3b
Changed internal string representation to utf8
packs should now be readable from either ASCII or Unicode compiled programs
selecting files or opening files by name is now case insensitive and resolves path directive "/" "\"
added missing error traps
Windows 11, Manjaro, Raspberry Pi OS
Image
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: EzPack Crossplatform packer up to 8 exabytes

Post by idle »

v1.0.4b

Added compression to the file index
Tested packs Unicode vs ASCII plus 32 vs 64 bit
Tested files > 4gb
tested on linux and windows
Windows 11, Manjaro, Raspberry Pi OS
Image
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: EzPack Crossplatform packer up to 8 exabytes

Post by idle »

v1.0.5b

Added Threading support. (requires compiling with thread safe option)
Windows 11, Manjaro, Raspberry Pi OS
Image
tester
User
User
Posts: 34
Joined: Sun Dec 28, 2014 1:12 pm

Re: EzPack Crossplatform packer up to 8 exabytes

Post by tester »

Hi, idle.

Download link seems to be broken. Can you check it?

Thanks.
User avatar
idle
Always Here
Always Here
Posts: 5840
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: EzPack Crossplatform packer up to 8 exabytes

Post by idle »

relinked download in first post
Windows 11, Manjaro, Raspberry Pi OS
Image
tester
User
User
Posts: 34
Joined: Sun Dec 28, 2014 1:12 pm

Re: EzPack Crossplatform packer up to 8 exabytes

Post by tester »

Thank you so much.
Post Reply