[haiku-commits] Change in haiku[master]: package kit: Skip over future package attributes.

  • From: Gerrit <review@xxxxxxxxxxxxxxxxxxx>
  • To: waddlesplash <waddlesplash@xxxxxxxxx>, haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 13 Aug 2019 14:27:34 +0000

From Alexander G. M. Smith <agmsmith@xxxxxx>:

Alexander G. M. Smith has uploaded this change for review. ( 
https://review.haiku-os.org/c/haiku/+/1714 ;)

Change subject: package kit: Skip over future package attributes.

package kit: Skip over future package attributes.

Ignore unknown fields (also called attributes) which are from a package
file with a different minor version number.  Previously it would halt
with an error when encountering such a field, even though it can safely
be skipped over (if it was unsafe, we would have incremented the major
version number).

The use case is a future package attribute for pre-uninstall scripts.
If they're not run, that just leaves some debris after uninstalling
(like symbolic link desktop icons).

* Use a new error code (B_PACKAGE_FUTURE_DATA) to signal that a package
  attribute that is unknown has been read, and can be skipped.  Sort of
  half way between B_OK and B_BAD_DATA, you decide.  Needed since a
  private error code may leak out of the package kit library.
* Cancel the error code when reading unknown package attributes and the
  package is a different minor version.
* Print unknown package attribute index numbers, since they may be
  from future package file formats and can be safely skipped otherwise.
  Mention the relevant enum so you can find it in the source code.
  It's a pity that the previous abstraction layer isn't present, since
  it tells us what data type the attribute is (string, number, etc), so
  we could have printed its value too.

First step of two for enhancement #13427

See https://review.haiku-os.org/c/haiku/+/1504 to generate packages
with a different minor version number (second step of the enhancement).
M headers/build/os/support/Errors.h
M headers/os/support/Errors.h
M src/bin/package/PackageInfoPrinter.h
M src/kits/package/PackageInfoContentHandler.cpp
M src/kits/package/hpkg/ReaderImplBase.cpp
M src/system/libroot/posix/string/strerror.c
6 files changed, 24 insertions(+), 2 deletions(-)

  git pull ssh://git.haiku-os.org:22/haiku refs/changes/14/1714/1
To view, visit https://review.haiku-os.org/c/haiku/+/1714
To unsubscribe, or for help writing mail filters, visit 

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I6db1897824a1713b3d5fab6fdfb990ee5923cd52
Gerrit-Change-Number: 1714
Gerrit-PatchSet: 1
Gerrit-Owner: Alexander G. M. Smith <agmsmith@xxxxxx>
Gerrit-MessageType: newchange

Other related posts:

  • » [haiku-commits] Change in haiku[master]: package kit: Skip over future package attributes. - Gerrit