<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sivan</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sivan"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Sivan"/>
	<updated>2026-04-19T13:50:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Applying_Patches&amp;diff=6654</id>
		<title>Applying Patches</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Applying_Patches&amp;diff=6654"/>
		<updated>2009-10-25T07:35:16Z</updated>

		<summary type="html">&lt;p&gt;Sivan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
We cannot legally redistribute Palm source code (it is copyrighted code, and is not released under an open source license) therefore we need to manage our modifications as patches. Since these patches will come from many different places, and will need to be removed before each OTA update and then reapplied after-wards, we need a procedure and tools for doing this. This page documents this procedure.&lt;br /&gt;
&lt;br /&gt;
Before asking questions about this procedure, please read the following documents fully:&lt;br /&gt;
&lt;br /&gt;
An introduction to Quilt can be found at http://www.suse.de/~agruen/quilt.pdf&lt;br /&gt;
&lt;br /&gt;
The manual for quilt is at http://linux.die.net/man/1/quilt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Upgrading from quilt to quilt-lite==&lt;br /&gt;
&lt;br /&gt;
If you have performed these instructions before the 8th Aug 2009, you will have installed a very heavyweight version of the quilt package which has a dependency on a very large perl package.&lt;br /&gt;
&lt;br /&gt;
This dependency has been removed in a new quilt-lite package, which saves 26MB of space in /var as a result.&lt;br /&gt;
&lt;br /&gt;
You can switch over to it as follows:&lt;br /&gt;
&lt;br /&gt;
* ipkg-opt update&lt;br /&gt;
* ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw&lt;br /&gt;
* ipkg-opt install quilt-lite&lt;br /&gt;
&lt;br /&gt;
Alternatively, the setup script below will prompt to uninstall quilt, perl, etc ..., and install quilt-lite, if quilt is installed.&lt;br /&gt;
&lt;br /&gt;
==Setup Procedure (Scripted)==&lt;br /&gt;
The process of setting up quilt has been scripted.  The script performs the following actions:&lt;br /&gt;
* Installs (or upgrades) git and any dependencies&lt;br /&gt;
* Installs (or upgrades) quilt (actually quilt-lite, a version of quilt that does not depend on perl) and any dependencies&lt;br /&gt;
* Configures quilt to store patches in /opt/src/patches&lt;br /&gt;
* Creates (or updates) a local clone of the webos-internals modifications repository&lt;br /&gt;
&lt;br /&gt;
Each step is only performed if necessary.  Please note that ipkg-opt needs to be installed.  The instructions are found [[Next_steps|here]].&lt;br /&gt;
&lt;br /&gt;
To get run the script, log into your Pre, gain root privileges and run the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://gitorious.org/webos-internals/bootstrap/blobs/raw/master/quilt-bootstrap.sh&lt;br /&gt;
 sh quilt-bootstrap.sh&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup Procedure (Manual Process)==&lt;br /&gt;
(Note: Even though you may have previously installed the optware quilt patch manager, it won't damage anything to follow the Setup procedure. Alternatively, if you KNOW FOR SURE these are installed and your packages are up-to-date, you can skip to Importing and Applying Patches).&lt;br /&gt;
&lt;br /&gt;
* Log into your Pre, and gain root privileges. (Note: This command is not required when using the emulator)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sudo -i # Yes, the -i is important. &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Put your Pre in to Read Write Mode&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you are set up for optware package installations, and make sure you have the latest package index:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ipkg-opt update&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install the 'quilt-lite' package, which will be used to manage the patches you apply, and the 'git' package, which will be used to download existing patches from the modifications repository:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ipkg-opt install quilt-lite git&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(If you already have those packages installed, repeating this step will not cause any harm.)&lt;br /&gt;
&lt;br /&gt;
* Create a directory in which 'quilt' will manage your chosen modifications:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mkdir -p /opt/src/patches&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit /opt/etc/quilt.quiltrc to point quilt to that directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Delete any existing webos-internals modifications directories&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
rm -rf /opt/src/modifications&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clone the webos-internals modifications repository:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd /opt/src&lt;br /&gt;
git clone git://gitorious.org/webos-internals/modifications.git&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Importing and Applying Patches==&lt;br /&gt;
&lt;br /&gt;
* Ensure your list of modifications is up to date&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd /opt/src/modifications&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** If you find yourself getting errors when you try to pull with the above command then you will need to modify your .git/config file&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sudo vi /opt/src/modifications/.git/config&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Your [master] section should look like the following&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[branch &amp;quot;master&amp;quot;]&lt;br /&gt;
        remote = origin&lt;br /&gt;
        merge = refs/heads/master   &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Browse the set of available patches.  Each patch should have a description at the top.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
find /opt/src/modifications -name *.patch&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Choose a patch from the modifications repository and import it into your own patches directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd / # It is *very* important to be in the / directory when you run quilt.&lt;br /&gt;
quilt import /opt/src/modifications/application_name/patch_name.patch   # Note that you need to replace application_name and patch_name here.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify that quilt has imported the patch successfully:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# You should still be in the / directory to run quilt.&lt;br /&gt;
quilt series  # you should see your patch listed in here&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Instruct quilt to apply your patch&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# You should still be in the / directory to run quilt.&lt;br /&gt;
quilt push&lt;br /&gt;
# Use this to push all patches at once.&lt;br /&gt;
quilt push -a&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If everything worked correctly, the patch should now be applied.  You will usually need to restart the luna service on the Pre to see the effect of patches to applications. Here's how to initiate a rescan.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
luna-send -n 1 palm://com.palm.applicationManager/rescan {}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If that doesn't work, try a service restart with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
stop LunaSysMgr &amp;amp;&amp;amp; start LunaSysMgr&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if all else fails, simply reboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Listing Applied Patches==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd / # It is *very* important to be in the / directory when you run quilt.&lt;br /&gt;
quilt applied&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Removing All Patches==&lt;br /&gt;
&lt;br /&gt;
Before you accept an over-the-air (OTA) update, you should remove any patches you have applied.  Luckily, using quilt makes this very easy.&lt;br /&gt;
&lt;br /&gt;
* Remove all patches:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd / # It is *very* important to be in the / directory when you run quilt.&lt;br /&gt;
quilt pop -a&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reapplying all patches==&lt;br /&gt;
&lt;br /&gt;
After your OTA update is complete, you will want to reapply any patches you have selected. This may or may not go smoothly.&lt;br /&gt;
&lt;br /&gt;
* Apply all patches:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd / # It is *very* important to be in the / directory when you run quilt.&lt;br /&gt;
quilt push -a&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Put your Pre back in to Read Only mode&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quilt Commands==&lt;br /&gt;
&lt;br /&gt;
Other commands when using Quilt-Lite:&lt;br /&gt;
&lt;br /&gt;
Please feel free to add/edit this section. I am not an expert, these are commands that I found by accident when i misspelled delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
quilt&lt;br /&gt;
        add&lt;br /&gt;
        applied (shows applied/installed patches)&lt;br /&gt;
        delete  (removes a patch from quilt series ex: quilt delete *name of patch*)&lt;br /&gt;
        diff&lt;br /&gt;
        edit&lt;br /&gt;
        files&lt;br /&gt;
        fold&lt;br /&gt;
        fork&lt;br /&gt;
        graph&lt;br /&gt;
        grep&lt;br /&gt;
        header&lt;br /&gt;
        import  (downloads patch from git ex: quilt import *name of patch*)&lt;br /&gt;
        mail&lt;br /&gt;
        new&lt;br /&gt;
        next&lt;br /&gt;
        patches&lt;br /&gt;
        pop&lt;br /&gt;
        previous&lt;br /&gt;
        push  (installs patches from quilt series one at a time. quilt push -a installs all patches)&lt;br /&gt;
        refresh&lt;br /&gt;
        rename&lt;br /&gt;
        revert&lt;br /&gt;
        series (shows all downloaded patches.)&lt;br /&gt;
        setup&lt;br /&gt;
        snapshot&lt;br /&gt;
        top&lt;br /&gt;
        unapplied&lt;br /&gt;
        upgrade&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Information for developing patches==&lt;br /&gt;
&lt;br /&gt;
===Getting Authenticated with gitorious.org===&lt;br /&gt;
Before you can commit to gitorious you need to [http://gitorious.org/users/new create an account]. &lt;br /&gt;
&lt;br /&gt;
Next, you'll need to create a public/private key pair, and the easiest way to do this is with openssh.  If you want to create a pair with windows, there are PuTTYgen/Pageant instructions below under &amp;quot;Alternate Windows Method&amp;quot;, but the following may be easier.  After you generate a public key you'll share it with gitorious.org; your public key is how gitorious.org authenticates you and checks if have the permissions required to do a commit to a given repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ipkg-opt update&lt;br /&gt;
ipkg-opt install openssh # *see Note Below&lt;br /&gt;
sudo ssh-keygen -t rsa # follow the prompts, ensure you're saving to /var/home/root/.ssh&lt;br /&gt;
cat /var/home/root/.ssh/id_rsa.pub  # copy the output and paste it into gitorious key manager&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;There's been some work to get dropbear working, but this tutorial assumes you have openssh installed. For information about dropbear and ssh keys, see [http://tumblelog.jauderho.com/post/151678345/using-dropbear-with-git this page]&lt;br /&gt;
* Don't forget to upload your public key from the last statement above to gitorious.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, you'll need to ensure you have your environment properly configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
echo $GIT_SSH # Should be /opt/bin/openssh-ssh&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the output of this command are anything other than /opt/bin/openssh-ssh, you'll need to update /etc/profile.d/optware.  Add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
export GIT_SSH=/opt/bin/openssh-ssh&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To the top of the /etc/profile.d/optware.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to follow the steps below and contribute your code to gitorious.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Alternate Windows Method'''&lt;br /&gt;
&lt;br /&gt;
The only reasons you might want to pursue this method is if you want to generate a ssh key pair on a Windows box.&lt;br /&gt;
&lt;br /&gt;
Getting your key on window&lt;br /&gt;
* Download [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTYgen] and [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Pageant]&lt;br /&gt;
&lt;br /&gt;
--Gitorious.org [http://gitorious.org/about/faq gitorious.org recommends] you use [http://code.google.com/p/msysgit/ msysGit].--&lt;br /&gt;
&lt;br /&gt;
* On Windows use [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTYgen] to generate a public/private key pair. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Key -&amp;gt; SSH-2 RSA KEY&lt;br /&gt;
Key -&amp;gt; Generate key pair&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
After some wiggling of the mouse your keys will be generated.  You should fill in the //Key passphrase// and it's confirmation to secure you key.  Save off the public and private key pairs to your user folder.&lt;br /&gt;
&lt;br /&gt;
* After which you will need to run [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Pageant] on your pc. Pageant holds your private key in memory for PuTTY to use.&lt;br /&gt;
&lt;br /&gt;
===Creating a patch===&lt;br /&gt;
&lt;br /&gt;
* Before making any changes to files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd / # It is *very* important to be in the / directory when you run quilt.&lt;br /&gt;
quilt new patch_name.patch&lt;br /&gt;
quilt add /usr/palm/applications/com.palm.app.appYouWantToMod/app/controllers/mod-assistant.js&lt;br /&gt;
quilt add /usr/palm/applications/com.palm.app.appYouWantToMod/app/controllers/mod2-assistant.js&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Now you can make changes on the Pre using vi/nano/joe/whatever, or sftp files to your machine and make changes.  Make sure any file you change has been added in the above step.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
quilt files # view files that are being tracked&lt;br /&gt;
quilt header -e  # add a header to the patch to describe it (please do this!)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Once you are finished and ready to create a patch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
quilt refresh # this will create/update the /opt/src/patches/patch_name.patch file&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pushing the change back to gitorious.org===&lt;br /&gt;
&lt;br /&gt;
* copy the patch into the modification tree you cloned above&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mkdir /opt/src/modifications/application_name # You need to change application_name to the leaf of the palm application id.&lt;br /&gt;
cp /opt/src/patches/patch_name.patch /opt/src/modifications/application_name/patch_name.patch&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Identify yourself in git (use the user you have setup at gitorious.org)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd /opt/src/modifications&lt;br /&gt;
git config --global user.name &amp;quot;user&amp;quot;&lt;br /&gt;
git config --global user.email &amp;quot;youremail@example.com&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Commit your changes to your local git&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
git add application_name/patch_name.patch&lt;br /&gt;
git commit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Since we did a clone the first time, we need to recreate the origin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
git remote rm origin # (if you did a clone, we have to replace the origin)&lt;br /&gt;
git remote add origin git@gitorious.org:webos-internals/modifications.git&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*This will destroy your ability to actually pull down updates, so you'll need to modify the /opt/src/modifications/.git/config to contain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[branch &amp;quot;master&amp;quot;]&lt;br /&gt;
        remote = origin&lt;br /&gt;
        merge = refs/heads/master&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Finally, push your changes up to gitorious.org&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
git push origin master # first time&lt;br /&gt;
git push # any future pushes&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If the push does not work, try to debug the ssh connection&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/opt/bin/ssh -v git@gitorious.org&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Extended, annotated sample session with quilt==&lt;br /&gt;
* First, we just need to setup a file to muck with&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# cd /&lt;br /&gt;
root@castle:/# echo &amp;quot;Original file&amp;quot; &amp;gt; /usr/test&lt;br /&gt;
root@castle:/# echo &amp;quot;2nd lien&amp;quot; &amp;gt;&amp;gt; /usr/test&lt;br /&gt;
root@castle:/# echo &amp;quot;3rd ilne&amp;quot; &amp;gt;&amp;gt; /usr/test&lt;br /&gt;
root@castle:/# echo &amp;quot;last line&amp;quot; &amp;gt;&amp;gt; /usr/test&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start a new patch (normally you'll want to use patch_name.patch, I just wanted a shortened name)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt new p1&lt;br /&gt;
Patch /opt/src/patches/p1 is now on top&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You must quilt add any files that you are going to edit or create '''before''' you edit or create them.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt add /usr/test&lt;br /&gt;
File /usr/test added to patch /opt/src/patches/p1&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Just using sed to correct the spelling on the 2nd line&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# sed -i -e 's/lien/line/' /usr/test&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* quilt refresh actually finds what you have changed and writes it to the patch file  (at this point, you can use git to push your changes)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt refresh&lt;br /&gt;
Refreshed patch /opt/src/patches/p1&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Just for fun, let's do it again&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt new p2&lt;br /&gt;
Patch /opt/src/patches/p2 is now on top&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Again, add file, make some changes, refresh to update the patch.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt add /usr/test&lt;br /&gt;
File /usr/test added to patch /opt/src/patches/p2&lt;br /&gt;
root@castle:/# sed -i -e 's/ilne/line/' /usr/test&lt;br /&gt;
root@castle:/# quilt refresh&lt;br /&gt;
Refreshed patch /opt/src/patches/p2&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Just an example of rolling back changes&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt pop&lt;br /&gt;
Removing patch /opt/src/patches/p2&lt;br /&gt;
Restoring usr/test&lt;br /&gt;
&lt;br /&gt;
Now at patch /opt/src/patches/p1&lt;br /&gt;
root@castle:/# quilt pop&lt;br /&gt;
Removing patch /opt/src/patches/p1&lt;br /&gt;
Restoring usr/test&lt;br /&gt;
&lt;br /&gt;
Now at patch /opt/src/patches/enable-browser-downloads.patch&lt;br /&gt;
root@castle:/# cat /usr/test&lt;br /&gt;
Original file&lt;br /&gt;
2nd lien&lt;br /&gt;
3rd ilne&lt;br /&gt;
last line&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* delete will delete the patch from your series, but leave the actual patch file in /opt/src/patches (so you could import it later)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt delete p1&lt;br /&gt;
Removed patch /opt/src/patches/p1&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Since we removed p1, push will now apply p2.  However, since p2 was applied against p1 originally, p2 will report an error. If the changes are too significant, you can force with -f, but you should carefully inspect the resulting files.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt push&lt;br /&gt;
Applying patch /opt/src/patches/p2&lt;br /&gt;
patching file usr/test&lt;br /&gt;
Hunk #1 succeeded at 1 with fuzz 2.&lt;br /&gt;
&lt;br /&gt;
Now at patch /opt/src/patches/p2&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If we want, we can refresh the patch so that future users of the patch do not receive the &amp;quot;fuzz&amp;quot; warning.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# quilt refresh&lt;br /&gt;
Refreshed patch /opt/src/patches/p2&lt;br /&gt;
root@castle:/# cat /usr/test&lt;br /&gt;
Original file&lt;br /&gt;
2nd lien&lt;br /&gt;
3rd line&lt;br /&gt;
last line&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* cleanup&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@castle:/# rm /usr/test&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Background info==&lt;br /&gt;
&lt;br /&gt;
* [http://pkg-perl.alioth.debian.org/howto/quilt.html quilt]&lt;br /&gt;
&lt;br /&gt;
==Script for Updating/Installing Patches==&lt;br /&gt;
&lt;br /&gt;
I just wanted to share the following script that I just finished testing out.  It's only been tested on my Pre so far, as I don't have access to any others..  It just updates the patch list, prints out available patches, then lets you choose which to apply.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/opt/bin/bash&lt;br /&gt;
&lt;br /&gt;
cd /opt/src/modifications&lt;br /&gt;
tput clear&lt;br /&gt;
echo Updating list...&lt;br /&gt;
git pull&lt;br /&gt;
tput clear&lt;br /&gt;
cd /&lt;br /&gt;
&lt;br /&gt;
a=0&lt;br /&gt;
for inputline in $(find /opt/src/modifications -name *.patch | sort)&lt;br /&gt;
do&lt;br /&gt;
 a=$(($a+1));&lt;br /&gt;
 line=&amp;quot;$(echo $inputline)&amp;quot;&lt;br /&gt;
 MYARRAY[$a]=&amp;quot;$line&amp;quot;&lt;br /&gt;
 echo &amp;quot;${a}${line}&amp;quot; | awk -F &amp;quot;/&amp;quot; 'sub(&amp;quot;.patch&amp;quot;,&amp;quot;&amp;quot;,$6) {printf &amp;quot;%-3s %-15s %s\n&amp;quot;, $1, $5, $6}'&lt;br /&gt;
done&lt;br /&gt;
echo &amp;quot;q   quit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
x=$(($a+1));&lt;br /&gt;
until [ -n &amp;quot;$opt&amp;quot; ] ; do&lt;br /&gt;
 read -p &amp;quot;Enter the line number for patch to apply [1 - $a] &amp;quot; opt&lt;br /&gt;
 if [ &amp;quot;$opt&amp;quot; = &amp;quot;q&amp;quot; ] ; then&lt;br /&gt;
  exit 0&lt;br /&gt;
 fi&lt;br /&gt;
 if [ &amp;quot;$opt&amp;quot; -lt &amp;quot;$x&amp;quot; 2&amp;gt; /dev/null ] &amp;amp;&amp;amp; [ &amp;quot;$opt&amp;quot; -gt 0 2&amp;gt; /dev/null ] ; then&lt;br /&gt;
  true&lt;br /&gt;
 else&lt;br /&gt;
  opt=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
tput clear&lt;br /&gt;
cd /&lt;br /&gt;
quilt import ${MYARRAY[$opt]}&lt;br /&gt;
quilt push&lt;br /&gt;
luna-send -n 1 palm://com.palm.applicationManager/rescan {}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sivan</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Patch_MediaPlayer_Bookmarking&amp;diff=3888</id>
		<title>Talk:Patch MediaPlayer Bookmarking</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Patch_MediaPlayer_Bookmarking&amp;diff=3888"/>
		<updated>2009-08-06T07:40:59Z</updated>

		<summary type="html">&lt;p&gt;Sivan: New page: The bookmark at the end of a track chops off the last few seconds. I'll try looking into it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The bookmark at the end of a track chops off the last few seconds. I'll try looking into it.&lt;/div&gt;</summary>
		<author><name>Sivan</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3754</id>
		<title>Patch Amazon Download Music over EVDO</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3754"/>
		<updated>2009-08-04T07:05:39Z</updated>

		<summary type="html">&lt;p&gt;Sivan: /* Update: Fix for Pre 1.1.0 Amazon over EvDo. Patch available below */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
The Amazon app only allows downloading songs over WiFi.  This will also allow downloading songs over EVDO/3G.&lt;br /&gt;
&lt;br /&gt;
cd /usr/palm/applications/com.palm.app.amazonstore/app/models&lt;br /&gt;
&lt;br /&gt;
cp download-manager.js download-manger.js.sav&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
== Update: Fix for Pre 1.1.0 Amazon over EvDo. Patch available below ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
To &amp;quot;comment out&amp;quot; a line, add // at the beginning. Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
printf(&amp;quot;This is code&amp;quot;);&lt;br /&gt;
//printf(&amp;quot;This is commented out&amp;quot;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit download-manager.js&lt;br /&gt;
&lt;br /&gt;
comment out lines 440-442&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
440:  //if (userInitiated &amp;amp;&amp;amp;....&lt;br /&gt;
441:          //this.showWifiRequired....&lt;br /&gt;
442:  //}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then force lines 465 &amp;amp; 466 to be true and comment out line 467&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
465:  if (1 == 1) {&lt;br /&gt;
466:     if ( 1 == 1) &lt;br /&gt;
467: 		 //|| PalmSystem.version.index....&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
Credit for 1.1.0 amazon over EvDo(3G) fix: Jack87&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Bellow only works prior to the 1.1.0 update'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Comment out lines 416-423 (if condition stating songs must be downloaded via wifi)&lt;br /&gt;
Force lines 446 and 447 to be always true.... if ( 1 == 1 )&lt;br /&gt;
446:  if (1 == 1) {&lt;br /&gt;
447:      if (1 == 1)&lt;br /&gt;
Comment out line 448 (test for &amp;quot;desktop&amp;quot;)&lt;br /&gt;
Confirm you have appropriate matching parens and brackets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Patch is now available via Gitorious. Note that this is slightly different code but does the same:''' &lt;br /&gt;
&lt;br /&gt;
[http://gitorious.org/webos-internals/modifications/blobs/98d872e197db5f4b36c2189224926a15ce70808d/amazonstore/amazon_evdo.patch Patch]&lt;br /&gt;
&lt;br /&gt;
[http://www.webos-internals.org/wiki/Applying_Patches Applying Patches]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://forums.precentral.net/web-os-development/186493-modified-amazon-app-download-over-3g.html Discuss this mod on Pre Central]&lt;br /&gt;
&lt;br /&gt;
[http://predev.wikidot.com/modify-stock-app-while-keeping-original See how to modify the app while keeping the original in Launcher]&lt;br /&gt;
&lt;br /&gt;
It took about 30 seconds to download a 3 minute song over EVDO with speedtest showing about 1Mbps or so, but hard to say as speed was bursting up to 2Mbps and down to 1Mbps for each test.&lt;br /&gt;
&lt;br /&gt;
[[Image:modify-stock-app.jpg]]   &lt;br /&gt;
[[Image:modify-stock-app2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Credit==&lt;br /&gt;
xorg, Jack87, patch submitted by sivan&lt;/div&gt;</summary>
		<author><name>Sivan</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3753</id>
		<title>Patch Amazon Download Music over EVDO</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3753"/>
		<updated>2009-08-04T07:04:07Z</updated>

		<summary type="html">&lt;p&gt;Sivan: /* Credit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
The Amazon app only allows downloading songs over WiFi.  This will also allow downloading songs over EVDO/3G.&lt;br /&gt;
&lt;br /&gt;
cd /usr/palm/applications/com.palm.app.amazonstore/app/models&lt;br /&gt;
&lt;br /&gt;
cp download-manager.js download-manger.js.sav&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
== Update: Fix for Pre 1.1.0 Amazon over EvDo. Patch available below ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
To &amp;quot;comment out&amp;quot; a line, add // at the beginning. Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
printf(&amp;quot;This is code&amp;quot;);&lt;br /&gt;
//printf(&amp;quot;This is commented out&amp;quot;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit download-manager.js&lt;br /&gt;
&lt;br /&gt;
comment out lines 440-442&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
440:  //if (userInitiated &amp;amp;&amp;amp;....&lt;br /&gt;
441:          //this.showWifiRequired....&lt;br /&gt;
442:  //}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then force lines 465 &amp;amp; 466 to be true and comment out line 467&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
465:  if (1 == 1) {&lt;br /&gt;
466:     if ( 1 == 1) &lt;br /&gt;
467: 		 //|| PalmSystem.version.index....&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
Credit for 1.1.0 amazon over EvDo(3G) fix: Jack87&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Bellow only works prior to the 1.1.0 update'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Comment out lines 416-423 (if condition stating songs must be downloaded via wifi)&lt;br /&gt;
Force lines 446 and 447 to be always true.... if ( 1 == 1 )&lt;br /&gt;
446:  if (1 == 1) {&lt;br /&gt;
447:      if (1 == 1)&lt;br /&gt;
Comment out line 448 (test for &amp;quot;desktop&amp;quot;)&lt;br /&gt;
Confirm you have appropriate matching parens and brackets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
'''3. Patch is now available via Gitorious. Note that this is slightly different code but does the same:''' &lt;br /&gt;
[http://gitorious.org/webos-internals/modifications/blobs/98d872e197db5f4b36c2189224926a15ce70808d/amazonstore/amazon_evdo.patch Patch]&lt;br /&gt;
Applying patches: [http://www.webos-internals.org/wiki/Applying_Patches Applying Patches]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://forums.precentral.net/web-os-development/186493-modified-amazon-app-download-over-3g.html Discuss this mod on Pre Central]&lt;br /&gt;
&lt;br /&gt;
[http://predev.wikidot.com/modify-stock-app-while-keeping-original See how to modify the app while keeping the original in Launcher]&lt;br /&gt;
&lt;br /&gt;
It took about 30 seconds to download a 3 minute song over EVDO with speedtest showing about 1Mbps or so, but hard to say as speed was bursting up to 2Mbps and down to 1Mbps for each test.&lt;br /&gt;
&lt;br /&gt;
[[Image:modify-stock-app.jpg]]   &lt;br /&gt;
[[Image:modify-stock-app2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Credit==&lt;br /&gt;
xorg, Jack87, patch submitted by sivan&lt;/div&gt;</summary>
		<author><name>Sivan</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3736</id>
		<title>Patch Amazon Download Music over EVDO</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3736"/>
		<updated>2009-08-04T04:51:27Z</updated>

		<summary type="html">&lt;p&gt;Sivan: /* Update: Fix for Pre 1.1.0 Amazon over EvDo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
The Amazon app only allows downloading songs over WiFi.  This will also allow downloading songs over EVDO/3G.&lt;br /&gt;
&lt;br /&gt;
cd /usr/palm/applications/com.palm.app.amazonstore/app/models&lt;br /&gt;
&lt;br /&gt;
cp download-manager.js download-manger.js.sav&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
== Update: Fix for Pre 1.1.0 Amazon over EvDo. Patch available below ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
To &amp;quot;comment out&amp;quot; a line, add // at the beginning. Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
printf(&amp;quot;This is code&amp;quot;);&lt;br /&gt;
//printf(&amp;quot;This is commented out&amp;quot;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit download-manager.js&lt;br /&gt;
&lt;br /&gt;
comment out lines 440-442&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
440:  //if (userInitiated &amp;amp;&amp;amp;....&lt;br /&gt;
441:          //this.showWifiRequired....&lt;br /&gt;
442:  //}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then force lines 465 &amp;amp; 466 to be true and comment out line 467&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
465:  if (1 == 1) {&lt;br /&gt;
466:     if ( 1 == 1) &lt;br /&gt;
467: 		 //|| PalmSystem.version.index....&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
Credit for 1.1.0 amazon over EvDo(3G) fix: Jack87&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Bellow only works prior to the 1.1.0 update'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Comment out lines 416-423 (if condition stating songs must be downloaded via wifi)&lt;br /&gt;
Force lines 446 and 447 to be always true.... if ( 1 == 1 )&lt;br /&gt;
446:  if (1 == 1) {&lt;br /&gt;
447:      if (1 == 1)&lt;br /&gt;
Comment out line 448 (test for &amp;quot;desktop&amp;quot;)&lt;br /&gt;
Confirm you have appropriate matching parens and brackets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
'''3. Patch is now available via Gitorious. Note that this is slightly different code but does the same:''' &lt;br /&gt;
[http://gitorious.org/webos-internals/modifications/blobs/98d872e197db5f4b36c2189224926a15ce70808d/amazonstore/amazon_evdo.patch Patch]&lt;br /&gt;
Applying patches: [http://www.webos-internals.org/wiki/Applying_Patches Applying Patches]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://forums.precentral.net/web-os-development/186493-modified-amazon-app-download-over-3g.html Discuss this mod on Pre Central]&lt;br /&gt;
&lt;br /&gt;
[http://predev.wikidot.com/modify-stock-app-while-keeping-original See how to modify the app while keeping the original in Launcher]&lt;br /&gt;
&lt;br /&gt;
It took about 30 seconds to download a 3 minute song over EVDO with speedtest showing about 1Mbps or so, but hard to say as speed was bursting up to 2Mbps and down to 1Mbps for each test.&lt;br /&gt;
&lt;br /&gt;
[[Image:modify-stock-app.jpg]]   &lt;br /&gt;
[[Image:modify-stock-app2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Credit==&lt;br /&gt;
xorg, Jack87, quilt patch by sivan&lt;/div&gt;</summary>
		<author><name>Sivan</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3735</id>
		<title>Patch Amazon Download Music over EVDO</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3735"/>
		<updated>2009-08-04T04:50:25Z</updated>

		<summary type="html">&lt;p&gt;Sivan: /* Credit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
The Amazon app only allows downloading songs over WiFi.  This will also allow downloading songs over EVDO/3G.&lt;br /&gt;
&lt;br /&gt;
cd /usr/palm/applications/com.palm.app.amazonstore/app/models&lt;br /&gt;
&lt;br /&gt;
cp download-manager.js download-manger.js.sav&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
== Update: Fix for Pre 1.1.0 Amazon over EvDo ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
To &amp;quot;comment out&amp;quot; a line, add // at the beginning. Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
printf(&amp;quot;This is code&amp;quot;);&lt;br /&gt;
//printf(&amp;quot;This is commented out&amp;quot;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit download-manager.js&lt;br /&gt;
&lt;br /&gt;
comment out lines 440-442&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
440:  //if (userInitiated &amp;amp;&amp;amp;....&lt;br /&gt;
441:          //this.showWifiRequired....&lt;br /&gt;
442:  //}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then force lines 465 &amp;amp; 466 to be true and comment out line 467&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
465:  if (1 == 1) {&lt;br /&gt;
466:     if ( 1 == 1) &lt;br /&gt;
467: 		 //|| PalmSystem.version.index....&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
Credit for 1.1.0 amazon over EvDo(3G) fix: Jack87&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Bellow only works prior to the 1.1.0 update'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Comment out lines 416-423 (if condition stating songs must be downloaded via wifi)&lt;br /&gt;
Force lines 446 and 447 to be always true.... if ( 1 == 1 )&lt;br /&gt;
446:  if (1 == 1) {&lt;br /&gt;
447:      if (1 == 1)&lt;br /&gt;
Comment out line 448 (test for &amp;quot;desktop&amp;quot;)&lt;br /&gt;
Confirm you have appropriate matching parens and brackets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
'''3. Patch is now available via Gitorious. Note that this is slightly different code but does the same:''' &lt;br /&gt;
[http://gitorious.org/webos-internals/modifications/blobs/98d872e197db5f4b36c2189224926a15ce70808d/amazonstore/amazon_evdo.patch Patch]&lt;br /&gt;
Applying patches: [http://www.webos-internals.org/wiki/Applying_Patches Applying Patches]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://forums.precentral.net/web-os-development/186493-modified-amazon-app-download-over-3g.html Discuss this mod on Pre Central]&lt;br /&gt;
&lt;br /&gt;
[http://predev.wikidot.com/modify-stock-app-while-keeping-original See how to modify the app while keeping the original in Launcher]&lt;br /&gt;
&lt;br /&gt;
It took about 30 seconds to download a 3 minute song over EVDO with speedtest showing about 1Mbps or so, but hard to say as speed was bursting up to 2Mbps and down to 1Mbps for each test.&lt;br /&gt;
&lt;br /&gt;
[[Image:modify-stock-app.jpg]]   &lt;br /&gt;
[[Image:modify-stock-app2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Credit==&lt;br /&gt;
xorg, Jack87, quilt patch by sivan&lt;/div&gt;</summary>
		<author><name>Sivan</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3734</id>
		<title>Patch Amazon Download Music over EVDO</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_Amazon_Download_Music_over_EVDO&amp;diff=3734"/>
		<updated>2009-08-04T04:49:10Z</updated>

		<summary type="html">&lt;p&gt;Sivan: /* Update: Added patch to Gitorious */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
The Amazon app only allows downloading songs over WiFi.  This will also allow downloading songs over EVDO/3G.&lt;br /&gt;
&lt;br /&gt;
cd /usr/palm/applications/com.palm.app.amazonstore/app/models&lt;br /&gt;
&lt;br /&gt;
cp download-manager.js download-manger.js.sav&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
== Update: Fix for Pre 1.1.0 Amazon over EvDo ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
To &amp;quot;comment out&amp;quot; a line, add // at the beginning. Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
printf(&amp;quot;This is code&amp;quot;);&lt;br /&gt;
//printf(&amp;quot;This is commented out&amp;quot;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit download-manager.js&lt;br /&gt;
&lt;br /&gt;
comment out lines 440-442&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
440:  //if (userInitiated &amp;amp;&amp;amp;....&lt;br /&gt;
441:          //this.showWifiRequired....&lt;br /&gt;
442:  //}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then force lines 465 &amp;amp; 466 to be true and comment out line 467&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
465:  if (1 == 1) {&lt;br /&gt;
466:     if ( 1 == 1) &lt;br /&gt;
467: 		 //|| PalmSystem.version.index....&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
Credit for 1.1.0 amazon over EvDo(3G) fix: Jack87&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Bellow only works prior to the 1.1.0 update'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Comment out lines 416-423 (if condition stating songs must be downloaded via wifi)&lt;br /&gt;
Force lines 446 and 447 to be always true.... if ( 1 == 1 )&lt;br /&gt;
446:  if (1 == 1) {&lt;br /&gt;
447:      if (1 == 1)&lt;br /&gt;
Comment out line 448 (test for &amp;quot;desktop&amp;quot;)&lt;br /&gt;
Confirm you have appropriate matching parens and brackets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 reboot  (or orange-sym-r)&lt;br /&gt;
&lt;br /&gt;
'''3. Patch is now available via Gitorious. Note that this is slightly different code but does the same:''' &lt;br /&gt;
[http://gitorious.org/webos-internals/modifications/blobs/98d872e197db5f4b36c2189224926a15ce70808d/amazonstore/amazon_evdo.patch Patch]&lt;br /&gt;
Applying patches: [http://www.webos-internals.org/wiki/Applying_Patches Applying Patches]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://forums.precentral.net/web-os-development/186493-modified-amazon-app-download-over-3g.html Discuss this mod on Pre Central]&lt;br /&gt;
&lt;br /&gt;
[http://predev.wikidot.com/modify-stock-app-while-keeping-original See how to modify the app while keeping the original in Launcher]&lt;br /&gt;
&lt;br /&gt;
It took about 30 seconds to download a 3 minute song over EVDO with speedtest showing about 1Mbps or so, but hard to say as speed was bursting up to 2Mbps and down to 1Mbps for each test.&lt;br /&gt;
&lt;br /&gt;
[[Image:modify-stock-app.jpg]]   &lt;br /&gt;
[[Image:modify-stock-app2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Credit==&lt;br /&gt;
xorg, Jack87&lt;/div&gt;</summary>
		<author><name>Sivan</name></author>
	</entry>
</feed>