Application:Preware
Preware - Version: Beta 0.9.4
(11 Oct 2009)
Summary
Preware is a package management application for the Palm Pre. 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.
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.
Status
This is beta software. Even so, as of 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. Also as of 27 August 2009 it is the only application supporting installation from all existing palm homebrew feeds. As of 17 September 2009 it also supports installation of themes. As of 8 October 2009 it also supports installation of webos patches.
License
Please be aware that org.webosinternals.preware and org.webosinternals.ipkgservice are licensed under the GPLv2.
They 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.
Operating notes
Limitations
Preware 0.9.3 does not individually sequence dependencies during installation, and ipkgservice only runs the postinst and prerm scripts for the requested app, so if you have a dependency for the app that you're installing, and that dependency needs a postinst or prerm script to be run, then it will fail to run them. Please install the dependency first, and then install the app that you want. This has been fixed in Preware 0.9.4 and later.
Known bugs
No known bugs.
Installation
You do not need to access the Linux command line or "root your Pre" to install or use Preware.
Please use the WebOS Quick Install tool to install the Package Manager Service and the Preware application directly from the WebOS Internals feed.
No other application installer tool is sophisticated enough to install the custom Package Manager Service that Preware requires. Preware can install it, but you need a way to bootstrap Preware first, so you need to use WebOS Quick Install for the very first installation of Preware.
You need to have your Pre in developer mode when using WebOS Quick Install for the very first installation of the Package Manager Service and Preware. Once you have Preware correctly installed, you never need to use developer mode again with Preware (it does the required steps in the background for you whenever it needs to).
Note that Preware works just as well on the Emulator as it does on a real device, and is installed in exactly the same way.
Installation Steps
- Run WebOS Quick Install
- Press the third button on the right
- Choose WebOS Internals Feed (all) from the dropdown list at the top.
- Select Package Manager Service from the list.
- Press DOWNLOAD.
- Press INSTALL.
- Press the third button on the right
- Choose WebOS Internals Feed (all) from the dropdown list at the top.
- Select Preware from the list.
- Press DOWNLOAD.
- Press INSTALL.
- If WebOS Quick Install offers to install the Package Manager Service automatically, do not agree. It will install the wrong version. You must install it as detailed above.
Updating
Make sure you update the Package Manager Service first, and the Preware application second. When dependencies are supported, this restriction will be lifted.
If you are running a version of the Preware prior to 0.9.0, then you must use the WebOS Quick Install program to upgrade the Package Manager Service.
To update Preware or the Package Manager Service, simpy use Preware version 0.9.0 or later.
Make sure you update the Package Manager Service first, and the Preware application second. As of Preware 0.9.4, this restriction will be enforced automatically.
If you are updating to Preware version 0.9.3 or later and you have previously used the autopatch-feed package, please follow these [1] directions for the update.
Removal
Why would you ever want to remove Preware?
To remove Preware, use WebOS Quick Install's Device Management page and unselect the Package Manager Service and the Preware application.
Recent enhancements
0.9.4: Added support for package dependencies.
0.9.3: Adds the webos-patches feed, and feed management support.
0.9.1: Adds the All category, plus other miscellaneous fixes.
0.9.0: Now supports themes, restart flags and the new memory-reduction service methods.
0.8.5: Massive speed improvement on loading, now supports package types and adding feeds.
0.8.2: More preferences added and now functional, with listing and update frequency options.
0.8.1: Preferences scene implemented. Upstart job stops on removal.
0.8.0: Now supports Descriptions and Screenshots.
0.7.7: Addition of ipkglog and config list, and if ipkgservice fails at start it notifies people, and if it fails after postinst it considers it complete anyways
0.7.6: Fixed the superfluous update subscription message windows
0.7.5: Fixed update subscription oddity.
0.7.4: Fixed remounting of root filesystem for post-install and pre-remove scripts on the Pre.
0.7.1: Fixed buttons and title on script view screen.
0.7.0: Initial support for post-install and pre-remove scripts, including secure informed user consent. Does not work properly with dependencies yet, so please install dependencies one at a time.
0.6.7: Fixed bug in category drop-down list.
0.6.6: Fixed bug in package size reporting.
0.6.5: Updated icon and other graphical annotations.
0.6.4: Categories drop-down bug fixed. Preware category updated.
0.6.2: Categories now work to some extent. Still a bug in the drop down box.
0.6.1: Sorting by name or date is now available. Application details screen is much more organized.
0.6.0: No user visible changes. Preparation for the secure informed user consent functionality.
0.5.1: Filtering is now available on the list screens. Just start typing ...
Repository
Preware and the Package Manager Service are housed in the applications/preware and services/ipkservice git repositories at http://git.webos-internals.org/
For commit permission to the open source project, contact rwhitby on #webos-internals or email [support@webos-internals.org]
Alternative Installation (ADVANCED/CLI Method)
Really, unless you *really* know what you are doing, you should use the WebOS Quick Install installation instructions above.
This method is for LINUX EXPERTS ONLY and depends on the ipkg.preware.org/feeds/webos-internals repository. You must install the Application:Terminal application first to set up the feeds correctly.
Installing via IPKG
Really, unless you *really* know what you are doing, you should use the WebOS Quick Install installation instructions above.
If you have never configured the ipkg feed perform the following, then follow directions below: <source lang="text"> mount -o remount,rw /
mkdir -p /var/etc/ipkg/ ln -s /etc/ipkg/arch.conf /var/etc/ipkg/ echo "src/gz webosinternals http://ipkg.preware.org/feeds/webos-internals/all" > /var/etc/ipkg/webos-internals.conf
echo "src/gz webosinternals-armv7 http://ipkg.preware.org/feeds/webos-internals/armv7" >> /var/etc/ipkg/webos-internals.conf </source>
If you have already configured the ipkg feed, perform the following:
<source lang="text">
mount -o remount,rw /
/usr/bin/ipkg -o /var update /usr/bin/ipkg -o /var install org.webosinternals.ipkgservice /usr/bin/ipkg -o /var install org.webosinternals.preware sh /var/usr/lib/ipkg/info/org.webosinternals.ipkgservice.postinst luna-send -n 1 palm://com.palm.applicationManager/rescan {}
mount -o remount,ro / exit </source>
Updating via IPKG
Really, unless you *really* know what you are doing, you should use the Preware update instructions above.
If you are already running Preware 0.9.0 or later, you should use the Preware update instructions above.
<source lang="text"> mount -o remount,rw /
/usr/bin/ipkg -o /var update /usr/bin/ipkg -o /var upgrade sh /var/usr/lib/ipkg/info/org.webosinternals.ipkgservice.postinst luna-send -n 1 palm://com.palm.applicationManager/rescan {}
mount -o remount,ro / exit </source>