History log of /haiku/src/kits/package/PackageInfoParser.cpp
Revision Date Author Comments
# 8b5f785b 27-Mar-2024 X512 <danger_mail@list.ru>

kits/package: allow to set BPackageResolvable to parsed string

Change-Id: I8ebb46b12a8af229d05994eb3cdd2d8180edc903
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7555
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# a22fa0c9 04-Jun-2019 Alexander G. M. Smith <agmsmith@ncf.ca>

package kit: Add pre-uninstall scripts feature.

Just like post-install scripts which run shortly after a package is
installed, pre-uninstall scripts are run just before a package is
removed. Implements enhancement #13427

* Fix script exit code handling vs script launch errors.
* Bump package and repo file version numbers due to new attribute,
unfortunately makes new .hpkg files not backwards compatible.
* Add pre-uninstall functionality, mostly cloning the post-install
except in a few places.
* Discover that _RunQueuedScripts() is never called, a future TODO:?
* Update package documentation for pre-uninstall scripts, and use of
the boot/post-install directory.

Change-Id: I45596255ce74bc102f6e5b606cbf83e4e4347a17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1504
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# fa2dd9c4 09-Apr-2016 Andrew Lindesay <apl@lindesay.co.nz>

BPackageInfo::Parser: Validate URL strings.

Fixes #12710.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
I fixed the modifications to the Jamfiles in src/bin, they were all wrong
in the patch.


# 6a2d12cb 17-Dec-2013 Jonathan Schleifer <js@webkeks.org>

PackageInfoParser.cpp: Add missing include for strtoll.


# 88706cfa 20-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package kit: Add API for parsing resolvable expression strings

* Add BPackageInfo::ParseResolvableExpressionString().
* Add BPackageResolvableExpression constructor and SetTo() taking an
expression string.


# a4bdd98c 29-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageInfo::Parser: Fix parsing the requires operator

For entries without operator (and version) an invalid enum value would
be used for the resulting BPackageResolvableExpression. Now it's
B_PACKAGE_RESOLVABLE_OP_ENUM_COUNT in that case.


# 0e9ec703 09-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package info parser: improve string parsing

* Instead of two string token types (TOKEN_WORD, TOKEN_QUOTED_STRING),
there's now only one (TOKEN_STRING). Whether the string meets the
criteria is checked where needed. In most cases the check was already
done or not necessary anyway.
* Strings can now consist of an arbitrary sequence of quoted and
unquoted strings and escaping is also supported in unquoted string
segments.
* Among other things this fixes incorrect restrictions for resolvable
names and should also make quoting paths superfluous (unless they
contain separator characters).


# 276c321b 09-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageInfo::Parser::_ParseFlags(): fix indentation


# 4489c88b 05-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

hpkg format: Generalize user/global settings file attributes

* For all identifiers: Rename global settings file to global writable
file. We want to use the respective attribute also for other writable
files, not only settings files.
* User settings file/global writable file info/attribute: Add
isDirectory property/child attribute. This allows declaring global/
user settings directories associated with the package.


# a98dd49a 24-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package info parser: allow escaping of new lines

So we can break long lines without changing the semantics.


# 38a0419a 24-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package info parser: improve parse error column numbers

Assume 4 column tab stops and compute the column numbers accordingly.


# c0ab1409 24-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

hpkg format: Add attribute for declaring post install scripts


# 0f4e11e7 23-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

hpkg format: Add attributes for declaring users and groups


# 6da0ce6f 23-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move package info parser to its own file


# 6a2d12cbee4e6a61fc51970bb9956407a0b9a2a3 17-Dec-2013 Jonathan Schleifer <js@webkeks.org>

PackageInfoParser.cpp: Add missing include for strtoll.


# 88706cfaa5b04a0fe4f24aabcd3e2f74b80ab6f4 20-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package kit: Add API for parsing resolvable expression strings

* Add BPackageInfo::ParseResolvableExpressionString().
* Add BPackageResolvableExpression constructor and SetTo() taking an
expression string.


# a4bdd98c7a118f9eab1b3c4e3334a8fcb8d5df74 29-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageInfo::Parser: Fix parsing the requires operator

For entries without operator (and version) an invalid enum value would
be used for the resulting BPackageResolvableExpression. Now it's
B_PACKAGE_RESOLVABLE_OP_ENUM_COUNT in that case.


# 0e9ec703dd88ade7b1adc8d28a3bec4484bcd63c 09-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package info parser: improve string parsing

* Instead of two string token types (TOKEN_WORD, TOKEN_QUOTED_STRING),
there's now only one (TOKEN_STRING). Whether the string meets the
criteria is checked where needed. In most cases the check was already
done or not necessary anyway.
* Strings can now consist of an arbitrary sequence of quoted and
unquoted strings and escaping is also supported in unquoted string
segments.
* Among other things this fixes incorrect restrictions for resolvable
names and should also make quoting paths superfluous (unless they
contain separator characters).


# 276c321bcdd0a579d3584198b1b41d95afc8275b 09-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageInfo::Parser::_ParseFlags(): fix indentation


# 4489c88b61bd4b70ff3a91d24ef5a0088e9c4691 05-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

hpkg format: Generalize user/global settings file attributes

* For all identifiers: Rename global settings file to global writable
file. We want to use the respective attribute also for other writable
files, not only settings files.
* User settings file/global writable file info/attribute: Add
isDirectory property/child attribute. This allows declaring global/
user settings directories associated with the package.


# a98dd49a6b8f7a267dbbade3694ec88072785f5e 24-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package info parser: allow escaping of new lines

So we can break long lines without changing the semantics.


# 38a0419a729fde595309fe504442e55adc3d0e4a 24-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package info parser: improve parse error column numbers

Assume 4 column tab stops and compute the column numbers accordingly.


# c0ab14096139c4e72a501bc6e82ab92d0e9e48f3 24-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

hpkg format: Add attribute for declaring post install scripts


# 0f4e11e75c244fd61da150011f1eae5fe79fc2a9 23-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

hpkg format: Add attributes for declaring users and groups


# 6da0ce6ff206b501faa6972d44225c5d2e7469dc 23-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move package info parser to its own file