Application:Preware

From WebOS Internals
Revision as of 22:24, 4 June 2011 by RodWhitby (talk | contribs) (Installing Preware using the official HP/Palm SDK)
Jump to: navigation, search

This page is currently available in four languages:

Australia.png USA.png Application:Preware
France.png Application:Preware-FR
Germany.png Application:Preware-DE
China.png Application:Preware-ZH


« Go Back to the Utilities application list
Preware ss1.png

Preware - Version: 1.5.0 (17 Dec 2010)



Summary

Icon Preware.png

Preware is a package management application for the Palm Pre and the Palm Pixi. 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.

This application was the result of extensive community-based design in IPKG Service and Preware Design.

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.


Key Features

Install / Remove / Update:

  • Homebrew Applications including advanced applications with special requirements.
  • WebOS Themes
  • Patches
  • webOS Kernels
  • Palm App Catalog Applications
  • Support for installation of signed packages


Status

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.


License

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.


Installing Preware

There are four supported methods for installing Preware: Official HP/Palm SDK, WebOS Quick Install, Stand Alone Installers, and Command Line.

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:

  1. Install the latest official Palm webOS SDK from http://developer.palm.com
  2. 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
  3. Close the doctor
  4. Your phone should remain disconnected
  5. Download the latest Preware package onto your computer from http://get.preware.org/
    1. To install Preware on a phone, download the 'arm' .ipk file
    2. To install Preware on an emulator, download the 'i686' .ipk file
  6. Typing webos20090606, select the developer mode icon that will appears, and verify that your phone is in developer mode
  7. Connect your device to your computers USB port, and select 'Just Charge'
  8. Use palm-install to install the package you downloaded
    1. 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 3.14 or later of WebOS Quick Install to install Preware directly from the WebOS Internals feed.

Latest Version of WebOS Quick Install available here: WebOS Quick Install v3.14

  1. Install the required Software
    1. Click here to verify that you have the latest java installed on your computer and update if needed
    2. Click Here to download the latest version of WebOS Quick Install
    3. Optionally, Click here to download the current webOS Doctor for your carrier and phone in a subdirectory your will remember (maybe "Palm"?) and the same one in which WebOSQuickInstall will execute. If you already have it, skip this step.
      • You do not need to download webOS Doctor separately unless you wish to do so, as WebOSQuickInstall will download it itself if not found.
      • Do not run the webOS Doctor
  2. Put your device in Developer Mode
  3. Connect your device to your computer with the USB cable, and select "Just Charge" (do not select USB Drive)
  4. Run WebOS Quick Install. If webOS Doctor is not present, you will be asked if you wish to download it prior to execution.
  5. Click the third button on the right (Blue Down Arrow)
  6. Choose WebOS Internals Feed (Pre) or WebOS Internals Feed (Pixi) from the drop-down list at the top.
  7. Select Preware from the list.
  8. Click Download.
  9. Click Close.
  10. 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.

  1. Install the required software.
    1. Click here to verify that you have the latest version of Java installed on your computer and update it if needed.
    2. Click here to download the current webOS Doctor for your carrier and phone in a subdirectory you will remember (maybe "Palm"?). If you already have it, skip this step.
      • Do not run the webOS Doctor.
  2. 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.
  3. 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.
  4. Run the Preware Installer.
  5. Click on the Tools menu and choose Install Drivers. This will install the Palm Novacom drivers for webOS devices.
  6. 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 Commandline

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. This technique is always the shortest and in many ways the simplest, but if you are in any way unsure of operating at the Linux command line, please use either of the methods described above.

<source lang="bash"> cd /tmp wget http://bit.ly/preware-bootstrap sh preware-bootstrap</source>


Updating Preware

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.

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.


Removing Preware

Why would you ever want to remove Preware?

To remove Preware, hold the Orange button on your keypad and choose Preware from the Launcher. Choose Delete.


Usage

Preferences

Preferences.png
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.


TIP:
To make it easier to find things, set "Show Available Types" to yes. This will show separate categories (Applications/Themes/Patches/etc.) rather than show everything in one long list.


Feed Management

Preware feeds.png
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).
Default Feeds
Palm Beta Palm Beta Updates Palm Catalog Palm Catalog Updates
Palm Web Palm Web Updates PreCentral PreCentral Themes
WebOS Internals Optware WebOS Patches WebOS Kernels


See Testing Feeds for detailed instructions on adding custom feeds.


Package Updates

UpdateFeeds.png
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.


Installing Packages

SelectApp.png
There are a few ways to select and install a "package" (application/patch/theme/etc.). Using "List of Everything" would be the simplest.
  1. Find the package you want to install either by scrolling and tapping on it, or just start typing
  2. Tap the "Install" button that the bottom of the package's page to install.


Removing Packages

RemoveAppTap.png
Removing a package is just as easy.
  1. On the main screen, tap "Installed Packages", then the category of the package you want to remove
  2. Tap the Package you want to remove
  3. Tap the "Remove" button that the bottom of the package's page.


Blacklist (Category Filters)

Preware 2011-09-03 165038.png Preware 2011-09-03 165049.png
The Preware "Blacklist" is a tool used to hide packages (applications, patches, etc) that you do not want to see, such as mass-produced book apps or real estate apps. This tool can also be used to hide unavailable packages, such as patches that are not compatible with your current webOS version. Got to Preferences in Preware and scroll to the Blacklist section. You can add whatever filters you like to customize your Preware experience. To hide all apps from a particular Maintainer, choose a "Maintainer" filter with the package maintainer in the search field. To hide unavailable packages, choose a "Category" filter, with "Unavailable" in the search field.



Operating notes

Limitations

No known limitations.


Known bugs

  • 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.
  • If updates to App Catalog applications are pending, they will be silently skipped when using the Update All button.
  • 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.


Changelog


For those interested, the full Changelog can be found here. Listed below is the Changelog since the 1.0 milestone.

1.5.0
  • You must upgrade to this version for full webOS 2.0 compatibility.
1.4.9
  • Better compatibility with unknown future webOS versions.
1.4.8
  • Now calls the correct software manager updates screen on webOS 2.0.
1.4.7
  • Fixed update, install and remove status messages on webOS 2.0.
1.4.6
  • New "App Catalog" theme preferences thanks to Garrett92C.
  • Added support for "MaxWebOSVersion" in the feeds.
1.4.5
  • Added support for identifying when running on a Pre 2 device.
1.4.4
  • Updated the version check to support future webOS versions.
1.4.2
  • Added Category as a blacklist option.
1.4.1
  • Added a Changelog button to the Help scene.
1.4.0
  • 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.
1.3.8
  • Updated French translations (courtesy of Yannick LE NY).
1.3.6
  • 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.
1.3.5
  • Updated German translations.
1.3.3
  • Always ask the user before modifying the file association list.
  • Updated French translations.
1.3.1
  • Check whether Preware is the default application for handling packages, and advise the user if it is not.
1.3.0
  • Added Preware to the Default Applications list to allow for installing packages from email messages and the browser.
1.2.9
  • Fixed the Saved Package List swipe to delete bug.
1.2.8
  • Open the My Applications app catalog screen when multiple app catalog applications need updating.
1.2.7
  • Fixed the Install Package problem when running on the emulator.
1.2.6
  • Remove most of the curl download progress messages from the ipkg log (this fixes a buffer overrun crash).
1.2.5
  • 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.
1.2.4
  • Added support for MinWebOSVersion, DeviceCompatibility and PreActionMessage package attributes.
1.2.3
  • Enable the Install Package feature to also work for incorrectly formatted filenames.
1.2.1
  • Robustified the Install Package feature - will now run post-install scripts for all correctly formatted filenames (packageid_version_arch.ipk).
1.2.0
  • 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.
1.1.7
  • Added support for Kernel Modules.
1.1.5
  • Use a gentler reboot procedure to allow open files to be flushed to disk.
1.1.4
  • Fixed hang on package download failures.
1.1.2
  • 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.
1.1.1
  • Added languages field in package descriptions.
  • Added preference to only show packages with English descriptions.
1.1.0
  • 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.
1.0.0
  • 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.


Repository

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 support@webos-internals.org