Opkg
From Openmoko
Stryderjzw (Talk | contribs) m (Moved language options to the bottom of the page.) |
(Added link to ipkg howto for package creation for now. Will write a wiki page about that later.) |
||
Line 6: | Line 6: | ||
Source code is available in the subversion repository: http://svn.openmoko.org/trunk/src/target/opkg/. The repository can also be [http://svnweb.openmoko.org/trunk/src/target/opkg/ viewed online]. | Source code is available in the subversion repository: http://svn.openmoko.org/trunk/src/target/opkg/. The repository can also be [http://svnweb.openmoko.org/trunk/src/target/opkg/ viewed online]. | ||
+ | |||
+ | You can learn how to create own [http://handhelds.org/moin/moin.cgi/BuildingIpkg Opkg packages] on the Ipkg site. | ||
== New Features == | == New Features == |
Revision as of 20:31, 25 August 2008
Contents |
About Opkg
Opkg is a lightweight package management system based on Ipkg.
A mailing list for discussion is available here: http://lists.openmoko.org/mailman/listinfo/opkg-devel
Source code is available in the subversion repository: http://svn.openmoko.org/trunk/src/target/opkg/. The repository can also be viewed online.
You can learn how to create own Opkg packages on the Ipkg site.
New Features
This is a list of features that have been completed. Mostly this is a list of changes from Ipkg.
- Use libcurl to download files
- Send download progress updates to libopkg clients
- Re-organize and clean up source code into sub directories
- Verify package lists with gpg detached signature
- Mark packages that were installed to satisfy dependencies (auto installed)
- Additional command line option to remove "auto installed" packages
- Support for faceted classification (similar to debtags). A "Tags" line has been added to the package information and opkg makes this available to clients, but does not process it in anyway. The command line client also does not use this features yet.
Ipkg Patches
The following ipkg patches have been applied:
- "2-pkg-vec--Optimize-gross-inefficiency.patch" from OpenEmbedded
- "1-pkg-parse--Optimize-inefficient-parsing.patch" from OpenEmbedded
- update_version_comparision.patch from Richard Purdie
- enable_debversion.patch from Richard Purdie
Planned features
These are features either under development or planned for inclusion before the next release.
- improve/cleanup libopkg api
- locking system to prevent two simultaneous operations on the file system
Bug fixes
Lower priority features
- Simple user interactions during postinstall
- Improve command line options
- Restructure source code and make it more robust
- Store packages in database
- Check available space in /tmp prior to downloading
- Check available space in dest prior to unpacking
Possible Issues
This is a list of possible issues or known bugs.
- http proxy works but authentication not tested yet (--cberger tested version 0.1.4, does not recognize proxy_username and proxy_password for authentication)
- autoremove feature only inspects "depends" and not "pre-depends"
Error Codes
It looks like, in some cases, Opkg will return an error code if something goes wrong. Here's a list that I pulled from the error.h file:
- -1: Unknown Error
- 0: No Error (Success)
Configuration Errors:
- 1: Could not set default destination
- 2: Error parsing config file
- 3: Could not create temporary directory
- 4: Could not get Opkg lock
Package Errors
- 5: Unsatisfied Dependencies
- 6: Is Essential
- 7: Has Dependents
- 8: Has No Candidate
- 9: PackageHas No Available Architecture
Install Errors
- 10: Not Trusted
- 11: Download Error
- 12: Conflicts
- 13: Already Installed
- 14: Dependencies
- 15: No Downgrade
- 16: Out Of Space
- 17: Bad Signature
- 18: MD5 Error
- 19: Internal Error
NOTE: I had a problem where I was trying to manually install a package that had dependencies. The dependencies had a bad signature (actually, my signature files were bad). Instead of returning 17 because of the bad signature, it returned 14 because of a dependency problem. So if you get a 14, try installing that package by itself and see what you get. --Jtickle 18:16, 23 July 2008 (EST) |
FAQ
Q. What version of Ipkg is Opkg based on?
A. It is based on the ipkg-0.99.163 tarball
Q. Why "fork" and rename Ipkg?
A. Ipkg is no longer actively maintained upstream and there are potential trademark issues with using the Ipkg name
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |