Ingo Weinhold
775b8d7afd
_kern_read_link() ignored the path
2011-07-17 16:54:47 +02:00
Ingo Weinhold
d3deb18a2d
Repackage default optional packages as hpkg files
2011-07-17 16:54:46 +02:00
Ingo Weinhold
64b8c37680
Move post install files to system package
2011-07-17 16:54:46 +02:00
Ingo Weinhold
df18eb8718
Fix gcc 2 build by making Parser a friend
2011-07-17 16:54:46 +02:00
Ingo Weinhold
1ef35574eb
package extract: Delay setting node permissions
...
In HandleEntry() create the file/directory with sufficient permissions
for the user and set the archived permissions in HandleEntryDone(). This
makes sure child attributes and entries can be created.
2011-07-17 16:54:46 +02:00
Ingo Weinhold
1bcc0f6e4a
.OPD -> .PackageInfo conversion tool
2011-07-17 16:54:46 +02:00
Ingo Weinhold
116852fecb
Support package info [source] URL attributes
2011-07-17 16:54:45 +02:00
Ingo Weinhold
28268808d8
Change source URL package info attribute name
...
Use "-" instead of "_".
2011-07-17 16:54:45 +02:00
Ingo Weinhold
d4701a2921
Simplify BPackageInfo::Parser::_Parse() further
...
* Match the attribute in a loop, use an attribute ID switch, do the
"seen" checks without the switch.
* Explicitly handle the case when encountering an unknown attribute.
2011-07-17 16:54:45 +02:00
Ingo Weinhold
122597e0ba
Simplify BPackageInfo::Parser::_Parse()
...
This also fixes the memory leak due to the previously used on-stack
BObjectLists not having been defined owning the elements.
2011-07-17 16:54:45 +02:00
Ingo Weinhold
8b684dd363
Add URL/source URL hpkg package attributes
2011-07-17 16:54:44 +02:00
Ingo Weinhold
ee453e8bbc
Add url and sourceURL properties to BPackageInfo
...
Also extend the parser to accept "url" and "source-url" attributes.
2011-07-17 16:54:44 +02:00
Ingo Weinhold
430689a688
Move hpkgBaseURL definition before its first use
2011-07-17 16:54:44 +02:00
Ingo Weinhold
941ec45913
Don't include architecture in package links names
...
This reverts commit a491e591c86cec4b2ce52df86f7b0d32545b4169.
2011-07-17 16:54:44 +02:00
Ingo Weinhold
1feaa8ab7e
Adjust to changed .PackageInfo format
2011-07-17 16:54:43 +02:00
Ingo Weinhold
91698de994
Make .PackageInfo more driver-settings-ish
...
* Use braces instead of brackets for lists.
* Semicolons and newlines separate items now. Remove handling for comma.
* Allow '\'' as quotation character.
* Remove assignment after variable name.
This should make the .PackageInfo format driver settings compatible, but
not vice versa. It is still stricter.
2011-07-17 16:54:43 +02:00
Ingo Weinhold
7e346f1677
Include architecture in package links dir names
2011-07-17 16:54:43 +02:00
Ingo Weinhold
ba926f3554
Extract architecture from package file
2011-07-17 16:54:43 +02:00
Ingo Weinhold
eadc3c844d
Add architecture property to Package
2011-07-17 16:54:42 +02:00
Ingo Weinhold
2ec6e02711
Small cleanup
2011-07-17 16:54:42 +02:00
Ingo Weinhold
36145114ae
Adjust "copyright"/"licenses" fields
...
Use the plural keyword name and omit brackets when only one element is
specified.
2011-07-17 16:54:42 +02:00
Ingo Weinhold
78ceed5122
Allow single-element string/flag lists without []
...
As syntactic sugar string and flag lists no longer need to be enclosed
in brackets when they have exactly one element.
2011-07-17 16:54:42 +02:00
Ingo Weinhold
acdcba84ec
Remove "copyright" and "license" keywords
...
There's "copyrights" and "licenses" which can be used.
2011-07-17 16:54:41 +02:00
Ingo Weinhold
ba1bc0a4ff
Small cleanup
2011-07-17 16:54:41 +02:00
Ingo Weinhold
2ae9a147ca
Declare the system package as backwards compatible
2011-07-17 16:54:41 +02:00
Ingo Weinhold
89f1807be6
Add compatible version support to packagefs
2011-07-17 16:54:40 +02:00
Ingo Weinhold
71120ca73d
Print the resolvables' compatible version
2011-07-17 16:54:40 +02:00
Ingo Weinhold
ee9c9351a7
Support for reading compatible version attribute
2011-07-17 16:54:40 +02:00
Ingo Weinhold
b2709d8a0a
Write resolvable compatible version to the package
...
To avoid a clash with the regular version or an extra attribute level we
use the "package:provides.compatible" package attribute instead of
"package:version.major".
2011-07-17 16:54:39 +02:00
Ingo Weinhold
2db69df113
Support for parsing the compatible version
...
In the .PackageInfo the compatible version for a resolvable can
optionally be given after the resolvable version via
"'compat[ible]' '>=' <version>".
2011-07-17 16:54:39 +02:00
Ingo Weinhold
22e1ec0e30
Add package attribute for compatible version
2011-07-17 16:54:38 +02:00
Ingo Weinhold
c2f56ca020
BPackageResolvable: Add compatibleVersion property
2011-07-17 16:54:38 +02:00
Ingo Weinhold
3a56aaeeb9
BPackageResolvableData: Compatible version field
...
Add fields haveCompatibleVersion and compatibleVersion. This allows us
to have a minimum version a resolvable is backwards compatible with.
2011-07-17 16:54:38 +02:00
Ingo Weinhold
b85a2681d6
Coding style: Fix indentation
2011-07-17 16:54:38 +02:00
Ingo Weinhold
e1a393153d
Adjust system package versions
...
They all use package and provides version "R1-alpha3_pm-1", now.
2011-07-17 16:54:38 +02:00
Ingo Weinhold
ed6d59a9a9
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.
2011-07-17 16:54:37 +02:00
Ingo Weinhold
5f039cf037
Fix copy'n'paste error for minor version part
2011-07-17 16:54:37 +02:00
Ingo Weinhold
42ae64447e
Fix printf() format string warnings
2011-07-17 16:54:37 +02:00
Ingo Weinhold
59e76dbe41
Support for auto-generated package node attributes
...
* Add utility class AutoPackageAttributes and AttributeCookie subclass
AutoPackageAttributeCookie.
* UnpackingAttributeCookie::Open() does now try to create a
AutoPackageAttributeCookie, when it doesn't find the attribute in the
PackageNode.
* Adjust UnpackingAttributeDirectoryCookie to also list auto-generated
attributes.
Currently the only supported attribute is "SYS:PACKAGE", which is the
file name of the package containing the node.
2011-07-17 16:54:37 +02:00
Ingo Weinhold
a83fe53dce
Added default cookie Close() implementation
...
Added trivial implementation for AttributeCookie::Close() and
AttributeDirectoryCookie::Close() and removed the identical Close()
implementations in derived classes.
2011-07-17 16:54:36 +02:00
Ingo Weinhold
ecf2e3d342
Cleanup
2011-07-17 16:54:36 +02:00
Ingo Weinhold
c6739b6af0
Paranoia: Handle unknown mount type
2011-07-17 16:54:36 +02:00
Ingo Weinhold
2a5bef01a3
Volume:Mount(): Better failure output
...
Also use the FATAL() instead of the ERROR() macro, so something is
printed also with debugging disabled.
2011-07-17 16:54:36 +02:00
Ingo Weinhold
c99aa60b78
Allow symlinks in the packages directory
2011-07-17 16:54:35 +02:00
Ingo Weinhold
2d132da8dc
Optional dependency resolution tracing
2011-07-17 16:54:35 +02:00
Ingo Weinhold
835ecf5aca
Fix dependency resolution on resolvable removable
...
ResolvableFamily::RemoveResolvable(): Move the resolvable's dependencies
to the update list.
2011-07-17 16:54:35 +02:00
Ingo Weinhold
5165b6b1d8
Fix adding order dependent dependency resolution
...
PackageFSRoot::_AddPackage(): When adding a resolvable which isn't known
yet, make sure all already added matching dependencies are resolved.
2011-07-17 16:54:35 +02:00
Ingo Weinhold
b143a5a861
Notify when removing a package link directory
2011-07-17 16:54:35 +02:00
Ingo Weinhold
dd9554ae69
Add dependency package links
...
The links appear, but the dependency resolution doesn't seem to work
correctly yet.
2011-07-17 16:54:34 +02:00
Ingo Weinhold
a39e95cd73
Move PackageLinkDirectory::Link to own file
...
And rename it to PackageLinkSymlink.
2011-07-17 16:54:34 +02:00