[Galaxy S I9000 Android Development] AdamOutler:
Benjamin Dobell,

Great work... I started with a package from Samfirmware.... the latest one for my phone. It was a 181.3MB download in rar format. I decompressed it, sent it through Heimdall-Frontend, generated a TAR.GZ package, then placed that into my nearly completed Heimdall-Frontend.

Upon compiling, the entire Heimdall One-Click package was 180.5 megs. Smaller then Samsung's with a hell of alot more functionality....

*saved nearly 1mb

*included heimdall 1.3 (beta) for all 3 major platforms

*no dependencies required (all drivers included and installed automatically)

*easy to use for the end user

*contains more information about the package then what was available initially to the user.

I'm putting the finishing touches on the UI before I begin the packager https://plus.google.com/10471104011...bLRQj#104711040110222472212/posts/PEbhUYbLRQj

The general flow will be

1. download "One-Click 'Heimdall One-Click' Packager"(name pending)

2. create a Heimdall package with heimdall-frontend

3. Select that package with One-Click-Packager. and the packager will... eploy Heimdall One-Click then compress your Tar.GZ into the deployed Heimdall One-Click

4. do the happy dance..

The one part I see being a bit difficult is the building of packages... Even after doing it a couple of times, trying to remember which one is which can be a bit tricky.. I'm not sure if heimdall-frontend will accept improper packages. Does it check the libpit references? Does hiemdall-backend check libpit references?

Something I'd like to see in V1.4 is command line args for Heimdall Frontend. I think it should be possible to have something like

heimdall-frontend --autogenerate --ROMName="myrom" --pit="~/part.pit" --repartition --output="~/MyNewRom.Tar.GZ"

Where if this --autogenerate tag is present, heimdall-frontend will simply make a form as usual, hide the form, fill in the fields in the hidden form, then activate the create package button. if --autogenerate is not present, then the form would only be filled in. This is my feature request for 1.4..

If auto-generation was possible, then it would be completely possible to auto-build one-clicks for every package out there... Utilizing the naming convention in the part.pit as the standard, then utilizing a point-based fuzzy-logic with tracking and feedback, it would be possible to automate the following:

1. rar'd file download

2. run into program

3. program recursively decompresses files into a single folder

4. analyze the pit file

5. names are chosen based on direct PIT name matches and those files are no longer able to be matched to other entries (think a 2d table with col1 being the PIT entry name and the rest being file names deleted as invalidated)

6. the pool of remaining files are chosen based on fuzzy logic and known altenate entry names versus filename

7. if block size of chosen file does not match block size of pit, then that is an invalid file for the partition block and it is not used

8. if block size of fuzzy logic matched file matches PIT block size, then the file is a complete match and marked as used and invalid for other blocks

9. after matching, a command would be generated and sent to heimdall-frontend auto-generate

10. Once hiemdall-frontend is completed with package generation, the program could generate a heimdall-one-click file.

Using this technique would also help out ROM developers, using a script it would be possible to:

1. mount factoryfs

2. copy files into factoryfs

3. generate package from heimdall-frontend

4. generate one-click from Heimdall One-Click packager

5. upload one-click to google server/team server/media fire

This would be awesome for 1.4 release. it's too late in 1.3 to think about that and try to test all of it.