#
3376ed1a |
| 02-Feb-2021 |
Alexander G. M. Smith <agmsmith@ncf.ca> |
Package Kit: Proper Installation for First Boot Packages
Do the final installation operations for all the packages in the /system/packages directory when the OS is booted for the first time.
This w
Package Kit: Proper Installation for First Boot Packages
Do the final installation operations for all the packages in the /system/packages directory when the OS is booted for the first time.
This will run their post-install scripts, create users, groups and generate settings files (marked with a package version attribute). Previously we just ran all the shell scripts found in the /system/boot/post-install directory (don't do that as much now).
Fixes bug #14382
This patch has simpler code flow in CommitTransactionHandler::_ApplyChanges Tested on 32 and 64 bit systems. Once it's official, need to remove the open_ssh redundant post-install script that creates users etc. from HaikuPorts. Now we can notice bugs like package version attributes on settings files aren't fully working. :-)
Didn't remove special case for add_catalog_entry_attributes.sh since it still does stuff that the build system doesn't do. Might be able to add that script as part of the Haiku.hpkg. See change 3751 for removing it, https://review.haiku-os.org/c/haiku/+/3751
Change-Id: I3807b78042fdb70e5a79eca2e2a45816ece0236f Reviewed-on: https://review.haiku-os.org/c/haiku/+/2342 Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca> Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
show more ...
|
#
0de3219e |
| 14-Jun-2014 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
package daemon: Rework error and issue propagation to client
* BDaemonClient: Move inner class BCommitTransactionResult to top level and make it public. * BCommitTransactionResult: - Add a whole
package daemon: Rework error and issue propagation to client
* BDaemonClient: Move inner class BCommitTransactionResult to top level and make it public. * BCommitTransactionResult: - Add a whole bunch of specific error code enum values. Such an error code is now the primary error, as opposed to before where we would mix status_t and enum value errors. There's a systemError property of type status_t which may provide additional information, though (depending on the primary error type). - Remove the errorMessage property. Due to mapping all errors to the specific error codes this is no longer necessary. Mixing such a message with another error description is also not very helpful when it comes to localization (still not supported, though). - Add several properties (paths, strings, error codes) that serve as arguments to the primary error and are used by FullErrorMessage(). - Add issues property, a list of instances of new class BTransactionIssue. Those describe non-critical issues (e.g. failed update of a settings file) that occurred in the process of committing the transaction. Those issues should be presented to the user by the package management program. * Exception: Adjust to transport the BCommitTransactionResult properties. * CommitTransactionHandler, FsTransactions, Root, Volume: Adjust to BCommitTransactionResult/Exception changes. * CommitTransactionHandler: Now requires a BCommitTransactionResult to which it adds the issues it encounters. The reply BMessage is no longer needed, though. * Volume: Refactor common code from the three methods that use CommitTransactionHandler into new method _CommitTransaction.
show more ...
|
#
32cae724 |
| 06-Feb-2014 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
package daemon: Handle location info request in app thread
* ... instead of queuing it for the job thread. The advantage is that the request will be handled immediately and clients won't have to wai
package daemon: Handle location info request in app thread
* ... instead of queuing it for the job thread. The advantage is that the request will be handled immediately and clients won't have to wait for transactions (which may even require user feedback) to finish. It complicates Volume a bit, since there are now two threads that may access it. The shared data have been moved to a State object which is protected by a lock. * For commit transaction requests check whether another package request is already pending/in progress before queuing a job. Fail immediately, if there is.
Fixes bug #10039.
show more ...
|
#
9f81ca83 |
| 27-Sep-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge branch 'package-management'
Conflicts: src/preferences/network/Jamfile
|
#
85d2badf |
| 19-Apr-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
package daemon: Add support for activation change request
* daemon: Handle new request B_MESSAGE_COMMIT_TRANSACTION. It activates and deactivates given sets of packages. The new packages must be
package daemon: Add support for activation change request
* daemon: Handle new request B_MESSAGE_COMMIT_TRANSACTION. It activates and deactivates given sets of packages. The new packages must be placed in a directory in the administrative directory. The daemon moves them to the packages directory and the deactivated packages to a subdirectory it creates. It also save the old activation state there. * Add private BActivationTransaction, describing an activation change transaction. * BDaemonClient: Add CommitTransaction(), which sends a given BActivationTransaction as a B_MESSAGE_COMMIT_TRANSACTION request to the daemon.
Completely untested yet.
show more ...
|
#
e6216e37 |
| 14-Apr-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implement getting a BInstallationLocationInfo
* Rename PackageDaemonDefs.h to DaemonDefs.h. * Replace the MESSAGE_GET_PACKAGES by the new B_MESSAGE_GET_INSTALLATION_LOCATION_INFO, which not only r
Implement getting a BInstallationLocationInfo
* Rename PackageDaemonDefs.h to DaemonDefs.h. * Replace the MESSAGE_GET_PACKAGES by the new B_MESSAGE_GET_INSTALLATION_LOCATION_INFO, which not only returns the packages, but also other information about the installation location. * daemon: Volume: Implement a change count which is bumped whenever packages are activated/deactivated/added/removed. Cache the reply for a location info request, using the change count to check whether it is still up-to-date. * Add private BDaemonClient for communication with the daemon. * BRoster: - Add GetInstallationLocationInfo() using BDaemonClient. - Reimplement GetActivePackages(), using GetInstallationLocationInfo().
show more ...
|