From WebOS Internals
This page is currently available in four languages:
Preware is a package management application for the Palm Pre, Palm Pixi, and the HP TouchPad. Preware allows the user to install any package from any of the open standard package repositories on preware.org (or any other location that hosts an open standard package repository). Preware relies on a custom written service developed from community research which allows the mojo app to talk to the built-in ipkg tool.
Preware requires webOS 1.4.0 or later to function. Do not try to install it on earlier webOS versions, it will not work.
For application management, Preware can access more applications, and has more features, than any other on-device package installer.
And since it is open source, and has a completely open development process supported by a team of world-class WebOS Internals developers, it will continue to get better much faster than any other package management application.
Preware is the open application installer that has been written specifically to support a homebrew ecosystem where any developer can upload any application to any submission site, and that application can then be installed by any user. Developers no longer need to upload their applications to multiple submission sites, and users are no longer excluded from accessing applications from any open standard package repository.
Install / Remove / Update:
- Homebrew Applications including advanced applications with special requirements.
- WebOS Themes
- webOS Kernels
- Support for installation of signed packages
Preware has been upgraded to release status, and is no longer considered beta.
Some milestones worth mentioning in Preware's history include:
- Since 27 August 2009, it is the only over-the-air installer for the palm capable of installing advanced palm applications such as the On Screen Keyboard or the terminal application.
- Since 27 August 2009, it is the only application supporting installation from all existing palm homebrew feeds.
- Since 17 September 2009, it also supports installation of themes.
- Since 8 October 2009, it also supports installation of webOS patches.
- Since 12 Jan 2010, it also supports all Palm App Catalog feeds.
- Since 3 May 2010, it also supports installation of webOS custom kernels.
- Since 20 July 2010, it also supports installation of packages from URLs and local files.
- Since 24 July 2010, is also supports blacklisting packages and authors.
- Since 8 June 2011, access to webOS app catalog feeds is no longer available to third party developers or applications.
- Since 15 December 2011, access to webOS app catalog feeds has been restored via App Tuckerbox.
- Since 15 December 2011, it also supports downloading feeds and packages from authenticated secure sites.
Please be aware that org.webosinternals.preware is licensed under the GPLv2.
Code from Preware cannot be used by a closed source application. If you want to use them in a non-GPLv2 but otherwise open source application, please contact the authors.
There are four supported methods for installing Preware: Official HP/Palm SDK, WebOS Quick Install, Stand Alone Installers, and Command Line.
For a step-by-step tutorial, the official Preware Homebrew Documentation is highly recommended
You do not need to access the Linux command line or "root your Pre" to install or use Preware.
You cannot use fileCoaster, or PreLoad, or PreUpdate to install or update Preware. Those tools are unable to operate correctly on advanced homebrew packages.
If you are a developer who uses the Palm emulator, you should know that Preware works just as well on the Emulator as it does on a real device, and is installed in exactly the same way.
Installing Preware using the official HP/Palm SDK
To install Preware on any webOS device, the following procedure is recommended if you're having problems with WebOS Quick Install:
- Install the latest official Palm webOS SDK from http://developer.palm.com
- Disconnect your device (I repeat, do not have your device connected, no cables in the device, device not even anywhere near the computer), and run the latest webOS Doctor to install or upgrade your Novacom drivers
- Close the doctor
- Your device should remain disconnected
- Download the latest Preware package onto your computer from http://get.preware.net
- To install Preware on a device, download the 'arm' .ipk file
- To install Preware on an emulator, download the 'i686' .ipk file
- Typing webos20090606, select the developer mode icon that will appear, and verify that your device is in developer mode
- Connect your device to your computers USB port, and select 'Just Charge' (or 'Cancel' on your Touchpad)
- If you are installing on a Veer, you will need to reboot the phone while connected to the computer, at this point, or it will not be recognized
- Use palm-install to install the package you downloaded
- Typically you can simply get a command line, navigate to the directory with the Preware package you downloaded, then type palm-install and.the.package.arm.name.ipk
Installing Preware with WebOS Quick Install
You can use version 4.5.1 or later of WebOS Quick Install to install Preware on any device easily and quickly, without the need to download a big 200MB SDK and webOSDoctor.
Latest Version of WebOS Quick Install available here: Note that currently, the last official version of WebOS Quick Install does not work to install Preware. You can download an unofficial updated build here (source).
- Install the required Software
- Click here to verify that you have the latest java installed on your computer and update if needed
- Download the current version of WebOS Quick Install (link see above)
- Put your device in Developer Mode
- Connect your device to your computer with the USB cable, and select "Just Charge" or "Cancel" (on a Touchpad). Do not select USB Drive.
- Run WebOS Quick Install. If the novacom driver is not installed, WebOS Quick Install will download and install that for you.
- Do not believe any guide that says you need to download the SDK or webOSDoctor for WOSQI to run. The most you'll download is the novacom driver, which is only 11MB on Windows, and will be done via WOSQI.
- If you are installing on a Veer, you will need to reboot the phone at this point or WOSQI will not recognize it. Hold the On/Off button down for about five seconds and release it. Select "Power" then select "Restart".
- Click the third button on the right (the globe icon)
- Select the Applications tab at the top
- Search for Preware
- Click Install.
Installing Preware with the standalone installer
Preware installers can be downloaded here: Preware Standalone Installers. These instructions are currently only for Mac and PC users.
- Install the required software.
- Click here to verify that you have the latest version of Java installed on your computer and update it if needed.
- Click here to download the current webOS Doctor for your carrier and device in a subdirectory you will remember (maybe "Palm"?). If you already have it, skip this step.
- Do not run the webOS Doctor.
- Put your device into Developer Mode.
- Windows users: When connecting your device to the computer for the first time, you will be prompted to install new hardware. Click Next to start the device installation. You may get a message regarding Novacom drivers not being installed. If so, you can disregard it. Once your device is installed, proceed with the Preware installation.
- Download the Preware Standalone Installer (you should choose the latest file name PrewareInstaller-X.Y.Z.jar) and place it in the same directory as the webOS Doctor .jar file.
- Run the Preware Installer.
- Click on the Tools menu and choose Install Drivers. This will install the Palm Novacom drivers for webOS devices.
- If you are installing on a Veer, you may need to reboot the phone at this point.
- Once the drivers have finished installing, click on Install Preware. After Preware is installed, your device will be unresponsive for a few seconds while Luna restarts.
Installing Preware from the command line
If you have access to the command line of your webOS Device or emulator using Terminal, Novaterm, the "Linux Commandline" in WebOS Quick Install, or other techniques, you can install Preware by typing three lines. If you are in any way unsure of operating at the Linux command line, please use either of the methods described above.
cd /tmp curl -L http://gitorious.org/webos-internals/bootstrap/blobs/raw/master/preware-bootstrap.sh > preware-bootstrap.sh sh /tmp/preware-bootstrap.sh
Alternatively, you can use the url-shortened address (as of this date):
cd /tmp curl -L http://bit.ly/preware-bootstrap > preware-bootstrap.sh sh /tmp/preware-bootstrap.sh
To update Preware, just run Preware and select "Package Updates" from the main scene. If an update to Preware is available, it will appear in the list. Then select the "Update" button. Preware will close automatically after the update is complete.
Alternatively, WebOS Quick Install provides a method for updates as well that is similar to Preware.
Note that you cannot use fileCoaster, or PreLoad, or PreUpdate to install or update Preware. Those tools are unable to operate correctly on advanced homebrew packages.
Why would you ever want to remove Preware?
To remove Preware on webOS 2.x or lower, hold the Orange button on your keypad and choose Preware from the Launcher. Choose Delete. For Touchpads (3.x), tap and hold the icon and click the "x" that appear on the icon. Choose delete.
|You can select preferences in the top left corner of the Pre to bring up the preferences screen. On the Preferences screen you can specify the look of the application, the frequency that feeds are updated, and what Preware will show you by default.|
In the upper right corner is a blue question mark. To get additional information on each preference tap on the blue question mark. All preferences are now highlighted in blue. Tap on a certain preference to enter the help screen. To leave the help screen back swipe. Tap again on the blue question mark to leave the help mode.
|In the preferences section on the top bar on the right side is a button that takes you to the feeds screen. On the feeds screen you can select which feeds are loaded and which ones are not. Simply select the on or off button for that feed. (If you are not interested in themes you can disable the two feeds for themes to speed up the updating of feeds) Preware comes with the following feeds by default (some are disabled by default, but are easily enabled if desired).
|See Testing Feeds for detailed instructions on adding custom feeds.|
|To update feeds, simply select "Update Feeds" from the Application Menu. Preware will download the package list information from your enabled feeds. After processing the data, you will be back at the main list of available items.|
|There are a few ways to select and install a "package" (application/patch/theme/etc.). Using "List of Everything" would be the simplest.
|Removing a package is just as easy.
Blacklist (category filters)
No known limitations.
- When selecting a patch with dependencies, if you view those dependencies then install them, when Preware returns you to the original patch's screen it will still have the 'install' button showing even though it is installed successfully. Swiping back and returning will show the correct status.
- The Update All button can get confused if there are patches with complex dependencies. This will be fixed in a future version.
- The Updates feature from the regular Palm Launcher, may claim that application updates are needed, and then when the user clicks Show Updates shows the App Catalog's installed applications, there are none shown that need updating. This isn't as expected. This is because an app that was previously only in Preware has now migrated to the Palm Catalog. Don't worry, your apps are up to date (with the possible exception of the one with the conflict.) This is not a bug in Preware per se' but an app version conflict because the app is in both the Palm Catalog and also in Homebrew. Notice that you don't need to remove Preware to install the app from the official catalog, but simply disable the feed in Preware then "update feeds" to refresh the list then it should install fine from the official app catalog.
For those interested, the full Changelog can be found here. Listed below is the Changelog since the 1.0 milestone.
- Added support for WebOS Community Edition (WOCE) feeds by the WebOS Ports team from WebOS Internals.
- Updated German translation (courtesy of DiplPhy).
- Added Traditional Chinese translation (courtesy of tonyw).
- Updated German translation (courtesy of DocZet).
- Added support for secure package downloads.
- Added support for secure feed downloads.
- Fixed the window orientation for the blue question mark help items.
- Added disclaimer when installing apps marked incompatible with current device.
- Revamped feed downloading to give better error and status reporting.
- Fixed device identification of WiFi TouchPads.
- Added feed display and installation support for App Tuckerbox.
- Hide authentication information in the Manage Feeds display.
- Added support for displaying the Changelog and DeviceCompatibility fields.
- Fixed missing package information bug
- Added some additional Second Line preference options
- Please read http://testing.preware.org/ if you use the testing feeds
- Fixed the removal of obsolete testing feeds
- Remove the obsolete testing feeds when adding alpha or beta feeds
- Disabled support for adding obsolete testing feeds
- Enabled support of alpha and beta testing feeds
- Larger screenshots on the TouchPad
- Pressed states for TouchPad back buttons
- Fixed search backspace on TouchPad
- Fixed list rendering on TouchPad (courtesy of chpwn).
- Removed catalog feed specific preferences (show only free/show only english).
- Added support for font packages.
- Replaced the word phone with the word device in all messages.
- Fixed fullscreen screenshot resizing on TouchPad rotate (courtesy of Appsotutely).
- Fixed dependent packages spinner location (courtesy of chpwn).
- Rolled up all the beta release features for a TouchPad-compatible public release.
- Enabled back tap on header for all devices.
- Fixed full-screen formatting of ipkg log screen.
- Preware is now fully compatible with the TouchPad, using the full screen area.
- Now usable on devices without a back gesture.
- Set the wget user-agent to Preware when retrieving indexes and packages.
- Fixed a problem when loading the saved packages list.
- WebOS Internals has been formally notified by Richard Kerris (HP Vice President of Worldwide Developer Relations) that open access to the webOS app catalog feed (including the beta and web feeds) is no longer available to third party developers or applications. Please direct any questions about this decision (which is final and permanent) to HP, not to WebOS Internals.
- Removed all HP webOS app catalog feeds from new installations of Preware.
- Added the clock themes feed (disabled by default).
- webOS 2.x Just Type integration.
- Fixed package list ordering bug.
- Layout fixes for Pixi/Veer.
- Fixed parse errors resulting from packages with very large descriptions.
- Fixed problems with updates to app catalog apps.
- Moved blacklisting to feed load to speed up listing.
- Suggests a reload after changing the blacklist.
- Fixed homebrew feed/catalog feed same appid bug.
- Added check to make sure package has a title before trying to search it.
- Removed support for Visibility feed value - use a category filter to exclude Unavailable packages if desired.
- Added support for Visibility feed value.
- Fix display of screenshots from devices with a different resolution.
- Test fix for custom feed on network with no internet connection.
- Style updates for pre3 screen size.
- Updated French translations (courtesy of Clément).
- Reinstated banner notification of manual saved package list update.
- Check if package dates are actually dates.
- Removed banner notification of saved package list being saved.
- Added support for optware testing feeds.
- You must upgrade to this version for full webOS 2.0 compatibility.
- Better compatibility with unknown future webOS versions.
- Now calls the correct software manager updates screen on webOS 2.0.
- Fixed update, install and remove status messages on webOS 2.0.
- New "App Catalog" theme preferences thanks to Garrett92C.
- Added support for "MaxWebOSVersion" in the feeds.
- Added support for identifying when running on a Pre 2 device.
- Updated the version check to support future webOS versions.
- Added Category as a blacklist option.
- Added a Changelog button to the Help scene.
- Added help to preferences scene.
- Fixed swipe-to-delete bug in blacklist.
- Updated Italian translations (courtesy of Darkmagister).
- Added "Get Info" button to package install scene.
- Added "Send" button to ipkg log scene.
- Fixed bug when loading large package descriptions.
- Updated French translations (courtesy of Yannick LE NY).
- Preware now supports installation of application package files (.ipk files) directly from URLs, email attachments, and local files.
- Also supported are Send to Preware links on homebrew application gallery and news websites (this requires the Neato! application to also be installed).
- If Preware continually asks you about file associations on every single launch, even after you have answered Yes to the questions it asks, then you may have a damaged file association table and will need to run the Emergency MimeTable Reset tool and then reboot to repair it.
- Updated German translations.
- Always ask the user before modifying the file association list.
- Updated French translations.
- Check whether Preware is the default application for handling packages, and advise the user if it is not.
- Added Preware to the Default Applications list to allow for installing packages from email messages and the browser.
- Fixed the Saved Package List swipe to delete bug.
- Open the My Applications app catalog screen when multiple app catalog applications need updating.
- Fixed the Install Package problem when running on the emulator.
- Remove most of the curl download progress messages from the ipkg log (this fixes a buffer overrun crash).
- Added Ask At Launch option to update preference.
- Added Blacklist support.
- German Translation updates.
- Fixed update banner problem.
- Fixed package with too many dependent packages problem.
- Added support for MinWebOSVersion, DeviceCompatibility and PreActionMessage package attributes.
- Enable the Install Package feature to also work for incorrectly formatted filenames.
- Robustified the Install Package feature - will now run post-install scripts for all correctly formatted filenames (packageid_version_arch.ipk).
- Added Install Package functionality, allowing installation of packages from URLs and local files.
- Moved Saved Package List from the main screen to the app menu.
- Added support for Kernel Modules.
- Use a gentler reboot procedure to allow open files to be flushed to disk.
- Fixed hang on package download failures.
- Added support for the ENABLE_TESTING_FEEDS Meta-Doctor feature.
- Removed the tag line about eventually reaching 1.0.
- Minor French translation updates, courtesy of Yannick LE NY.
- Added languages field in package descriptions.
- Added preference to only show packages with English descriptions.
- Now defaults (selectable by a preference option) to using an alternative installation method to avoid the webOS 1.4 rescan bug which closes and stops notifications from your phone, email and messaging applications.
- Updated German and French translations.
- Fixed deletion of disabled feeds.
- Added service version number to the ipkgservice API. Robustified the service upgrade process.
- The Package Manager Service has been rewritten in C and incorporated into this single Preware package.
- Installing Preware 1.0.0 will remove the Package Manager Service as the last step of the upgrade process.
Preware and the Package Manager Service are housed in the applications/preware git repository at http://git.webos-internals.org/
For more information getting your application published in the WebOS Internals Source Code Repositories, please see the WebOS Internals Source Code Repositories page. For commit permission to the open source project, contact rwhitby on #webos-internals or email firstname.lastname@example.org