#
47039b85 |
| 21-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Package/repository file format: Add a minor version header field
* Add minor_version to hpkg_header and hpkg_repo_header and make heap_compression uint16. * If the minor version of a package/repos
Package/repository file format: Add a minor version header field
* Add minor_version to hpkg_header and hpkg_repo_header and make heap_compression uint16. * If the minor version of a package/repository file is greater than the current one unknown attributes are ignored without error. This allows introducing new harmless attributes without making the resulting files unreadable for older package kit versions.
show more ...
|
#
46122852 |
| 21-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
packagefs: Add caching for the package file heap reader
* ReaderImplBase: - Add virtual CreateCachedHeapReader() which can create a cached reader based on the given heap reader. - Rename Hea
packagefs: Add caching for the package file heap reader
* ReaderImplBase: - Add virtual CreateCachedHeapReader() which can create a cached reader based on the given heap reader. - Rename HeapReader() to RawHeapReader() and add HeapReader() for the cached heap reader. - Add DetachHeapReader() to allow a clients to remove the heap reader(s) after deleting the ReaderImplBase object. * packagefs: - Add CachedDataReader class, which wraps a given BAbstractBufferedDataReader and provides caching for it using a VMCache. The implementation is based on the IOCache implementation. - Use CachedDataReader to wrap the heap reader. For file data that means they are cached twice -- in the heap reader cache and in the file cache -- but due to the heap reader using a VMCache as well, the pages will be recycled automatically anyway. For attribute data the cache should be very helpful, since they weren't cached at all before.
show more ...
|
#
1559102f |
| 20-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
ReaderImplBase: Fix strings subsection validity check
A strings section with 0 strings is still 1 byte long. Also improve the error output in the error case.
|
#
d03ac965 |
| 19-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
ReaderImplBase: Fix gcc 4 build
|
#
1f633814 |
| 18-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
hpkg format: compress the whole heap
Instead of handling compression for individual file/attribute data we do now compress the whole heap where they are stored. This significantly improves compressi
hpkg format: compress the whole heap
Instead of handling compression for individual file/attribute data we do now compress the whole heap where they are stored. This significantly improves compression ratios. We still divide the uncompressed data into 64 KiB chunks and use a chunk offset array for the compressed chunks to allow for quick random access without too much overhead. The tradeoff is a limited possible compression ratio -- i.e. we won't be as good as tar.gz (though surprisingly with my test archives we did better than zip).
The other package file sections (package attributes and TOC) are no longer compressed individually. Their uncompressed data are simply pushed onto the heap where the usual compression strategy applies. To simplify things the repository format has been changed in the same manner although it doesn't otherwise use the heap, since it only stores meta data.
Due to the data compression having been exposed in public and private API, this change touches a lot of package kit using code, including packagefs and the boot loader packagefs support. The latter two haven't been tested yet. Moreover packagefs needs a new kind of cache so we avoid re-reading the same heap chunk for two different data items it contains.
show more ...
|
#
7adfd76b |
| 13-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add "base package" package attribute
|
#
df295396 |
| 13-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Remove resolvable provides type
* Remove BPackageResolvableType and respective property from BPackageResolvable. * Remove package attribute B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES_TYPE.
|
#
171fd58c |
| 12-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
package kit: some fixes for multi-version support
* Use enums/constants/functions instead of preprocessor macros. * Missing include in PackageInfoAttributeValue.h. * PackageReaderImpl::Init(): Check
package kit: some fixes for multi-version support
* Use enums/constants/functions instead of preprocessor macros. * Missing include in PackageInfoAttributeValue.h. * PackageReaderImpl::Init(): Check version before header size and return B_MISMATCHED_VALUES instead of B_BAD_DATA, if the version doesn't match. This allows callers to determine the condition and try a reader for a different version. A more flexible interface for that case would be nice, but since we want to support the old package version only temporarily, the current solution should be good enough.
show more ...
|
#
202c1daa |
| 15-Apr-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BPackageVersion: Rename property release to revision
* ... to avoid confusion with the preRelease property. It's also called "revision" in the HaikuPorts recipes. * Update libsolv package. Was nec
BPackageVersion: Rename property release to revision
* ... to avoid confusion with the preRelease property. It's also called "revision" in the HaikuPorts recipes. * Update libsolv package. Was necessary due to the BPackageVersion change, but also includes a few more changes.
show more ...
|
#
a84e14ca |
| 16-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Merge branch 'master' of git://github.com/haiku/haiku
|
#
d0b2d58a |
| 15-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add error output in case of invalid compression ID
|
#
6ae0ecd4 |
| 11-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add a package info "install-path" attribute
The attribute is intended for simplifying package building. The package's install path will be used for the package's .self package symlink, allowing inst
Add a package info "install-path" attribute
The attribute is intended for simplifying package building. The package's install path will be used for the package's .self package symlink, allowing installation to a temporary directory when building the package.
show more ...
|
#
78811461 |
| 03-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add BLowLevelPackageContentHandler section hooks
* Add hooks HandleSectionStart() and HandleSectionEnd(). They are invoked to bracket package file section, so the handler can discriminate which
Add BLowLevelPackageContentHandler section hooks
* Add hooks HandleSectionStart() and HandleSectionEnd(). They are invoked to bracket package file section, so the handler can discriminate which section the attributes belong to. HandleSectionStart() features a return parameter _handleSection, which allows to handler to pick which sections it wants to handle. * "package dump" does now print the section names.
show more ...
|
#
2fce2018 |
| 02-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BLowLevelPackageContentHandler interface extension
HandleAttributeDone(): Add parentToken parameter.
|
#
4ebd3de8 |
| 28-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Support package info [source] URL attributes
|
#
c719d465 |
| 27-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Support for reading compatible version attribute
|
#
8f314372 |
| 26-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Introduce a pre-release version component
* The version string pattern is now: <major>[.<minor>[.<micro>]][-<pre>][-<release>] * Introduce B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE package
Introduce a pre-release version component
* The version string pattern is now: <major>[.<minor>[.<micro>]][-<pre>][-<release>] * Introduce B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE package attribute. * Add "preRelease" field to BPackageVersionData. * Add "preRelease" property to BPackageVersion and packagefs's Version. * Adjust package reader and writer code accordingly.
show more ...
|
#
0f15206a |
| 19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
ReaderImplBase::ParseStrings(): Avoid new[0]
|
#
d62ec0bd |
| 16-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed host build issues/warnings
|
#
5bc69520 |
| 15-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add error output in case of invalid compression ID
|
#
f19957b8 |
| 11-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add a package info "install-path" attribute
The attribute is intended for simplifying package building. The package's install path will be used for the package's .self package symlink, allowing inst
Add a package info "install-path" attribute
The attribute is intended for simplifying package building. The package's install path will be used for the package's .self package symlink, allowing installation to a temporary directory when building the package.
show more ...
|
#
97aabbed |
| 03-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add BLowLevelPackageContentHandler section hooks
* Add hooks HandleSectionStart() and HandleSectionEnd(). They are invoked to bracket package file section, so the handler can discriminate which
Add BLowLevelPackageContentHandler section hooks
* Add hooks HandleSectionStart() and HandleSectionEnd(). They are invoked to bracket package file section, so the handler can discriminate which section the attributes belong to. HandleSectionStart() features a return parameter _handleSection, which allows to handler to pick which sections it wants to handle. * "package dump" does now print the section names.
show more ...
|
#
697b9545 |
| 02-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BLowLevelPackageContentHandler interface extension
HandleAttributeDone(): Add parentToken parameter.
|
#
116852fe |
| 28-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Support package info [source] URL attributes
|
#
ee9c9351 |
| 27-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Support for reading compatible version attribute
|