History log of /haiku/src/apps/installer/WorkerThread.cpp (Results 1 – 25 of 63)
Revision Date Author Comments
# 2710b4f5 29-Oct-2022 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Merge remote-tracking branch 'origin/master' into dev/netservices

Change-Id: I48c8cf4f03e281a5caeb9f27bf052285961529ff


# e3d59047 10-Sep-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

Disk Device Manager: generate a name for nameless volumes

This will give the same result as fs_stat_dev, so the filesystems will
have the same name everywhere.

Change-Id: Ic684142efaeb2c16b393f3f3e

Disk Device Manager: generate a name for nameless volumes

This will give the same result as fs_stat_dev, so the filesystems will
have the same name everywhere.

Change-Id: Ic684142efaeb2c16b393f3f3e5c9c3010a054b30
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5636
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>

show more ...


# 2c6b14c0 23-Jul-2021 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Installer: ensure the package administrative path exists

Fixes #16984

Change-Id: Ia662147395130be4498eefbe11f5351533c88ff2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4242
Reviewed-by: Adrie

Installer: ensure the package administrative path exists

Fixes #16984

Change-Id: Ia662147395130be4498eefbe11f5351533c88ff2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4242
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>

show more ...


# 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 ...


# 9d84226f 23-Nov-2020 Humdinger <humdingerb@gmail.com>

Installer: Improved alert text, consistent use of "Haiku User Guide"

Point specifically to the SoftwareUpdater topic of the Haiku User Guide
to make the hint more useful.

Always use consistent spel

Installer: Improved alert text, consistent use of "Haiku User Guide"

Point specifically to the SoftwareUpdater topic of the Haiku User Guide
to make the hint more useful.

Always use consistent spelling: "Haiku User Guide"

Translated the German User Guide package info.

Change-Id: I8f3b2a5a3f27caf9b5eea41a1a7a86c2e91e668a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3412
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>

show more ...


# dfb36b35 08-Aug-2020 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Installer: fix 'clean install' over existing installation.

Whenever the target of an installation is a partition that is not empty, the
Installer prompts the user whether they would like to continue

Installer: fix 'clean install' over existing installation.

Whenever the target of an installation is a partition that is not empty, the
Installer prompts the user whether they would like to continue with a 'clean
installation', i.e. an installation that clears out the system folder,
excluding the settings, and cleanly installs the assets in the source's
system folder. At all other locations the source data is merged, meaning that
the source version is copied in place.

The logic that clears out the existing /system/ directory stopped working. This
change moves that logic from the copying process, to where it is run before any
file is copied. The added advantage is that the system folder is now properly
cleaned up, also stray files under the system folder will be removed.

This change does not change the logic of what constitutes a 'clean install'.
There are arguments to be made that it should potentially also drop the
settings files, as well as clean out the user's home folder for stray
add-ons, but that really is different functionality, and at this points I
think the requirements for that are not yet fleshed out.

The change was manually tested.

Fixes #16092

Change-Id: Ia6781c8d2330ba336b3921f9a980b5e31c48a2ec
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3140
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>

show more ...


# 3f7f9896 08-Aug-2020 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Installer: Remove `level` parameter from CopyEngine

The level parameter in the CopyEngine::CollectCopyInfo() and
CopyEngine::Copy() methods was introduced in hrev30395 to allow the CopyEngine
to dec

Installer: Remove `level` parameter from CopyEngine

The level parameter in the CopyEngine::CollectCopyInfo() and
CopyEngine::Copy() methods was introduced in hrev30395 to allow the CopyEngine
to decide which directories should be copied. Since then, this
class has been rewritten and it is no longer necessary for that purpose.

This change refactors the CopyEngine and removes the
level parameter from the class interface. Furthermore, it was broken to begin
with; it was passed as reference to the internal recursive _Copy() and
_CollectCopyInfo() methods, meaning they acted like a global counter. The
global counter was increased at the beginning and decreased at the end of those
methods. Execution could terminate early though, leaving the level counter out
of sync with the recursion level.

There is one use of the level parameter, namely in the
WorkerThread::EntryFilter::ShouldClobberFolder() method, but the use of the
parameter was wrong (it would have been at level 3 at the point of the check,
not level 2) and the logic is functional without the level check.
Change-Id: Id92ef89b015e9b1185bde061273f61e492664bce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3139
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>

show more ...


# 2c09e0dc 05-Aug-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Installer: separate writing bootsector from other install finishing code

Remove the InstallerInitScript (it does nothing) and the
InstallerFinishScript (it does too many things). Instead implement t

Installer: separate writing bootsector from other install finishing code

Remove the InstallerInitScript (it does nothing) and the
InstallerFinishScript (it does too many things). Instead implement the
finishing directly in Installer. Separate writing the bootsector, so
that the "write bootsector" menu writes only the bootsector.

Fixes #16303

show more ...


# bbd39960 14-Jun-2020 Humdinger <humdingerb@gmail.com>

Installer: make alert text clearer

* Put 'settings' folder in quotes, just like 'system'.

* Break down the very long sentence.

* The "its" in "...will retain its settings folder" refers to the
s

Installer: make alert text clearer

* Put 'settings' folder in quotes, just like 'system'.

* Break down the very long sentence.

* The "its" in "...will retain its settings folder" refers to the
source folder, when it's actually the target that is kept.

* 'whereas' isn't the right word IMO, as the following text is more
an explanation what 'merging' entails.

Change-Id: Iae2f1768fdf897b4c6ffb02be6800fdd85e2cde8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2919
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

show more ...


# f1e5a6c9 22-Mar-2020 Leorize <leorize+oss@disroot.org>

Installer: supports installing .hpkg-based optional packages

Most of Installer was designed for old-style optional packages (files in
a folder that's copied to the target volume). This commit modifi

Installer: supports installing .hpkg-based optional packages

Most of Installer was designed for old-style optional packages (files in
a folder that's copied to the target volume). This commit modifies
Installer so that it can process and install .hpkg packages.

Change-Id: Ib7d69a04ccb7879b956b5c3f0df1241c56e4987d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2400
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

show more ...


# bf551d38 21-Mar-2020 Leorize <leorize+oss@disroot.org>

installer/CopyEngine: now only exposes a Copy() method

Previously this class exposes two methods:
- CopyFile(): only copy the file data, nothing else.
- CopyFolder(): copy files & directories betwee

installer/CopyEngine: now only exposes a Copy() method

Previously this class exposes two methods:
- CopyFile(): only copy the file data, nothing else.
- CopyFolder(): copy files & directories between two folders, while
preserving the attributes as well as symlinks.

With this commit, everything is unified into one method: Copy(). This
method can handle files, directories, symlinks and optionally also copy
attributes. Since most of the logic was just moved around, we can be
rather certain that this won't disrupt CopyEngine behaviors by much.

In the future we should look into using BCopyEngine to replace the
copying part of CopyEngine, as they seems to be compatible.

This change allows the Installer to make use of CopyEngine as a
general-purpose copier, in preparation for optional .hpkg installation
support.

Change-Id: Iad5ba2ebc9f34b7822e550b415308fd2b43eed47
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2399
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

show more ...


# fdc13d7d 02-Feb-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Installer: do not allow installing to read-only partitions.

This would probably not work, right?

Fixes #14614.


# 0156f4ff 11-Nov-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

Revert "Installer: Ignore cache directories."

This reverts commit e06f64086224dda0e36704045448844f7376dafd.

As mentionned in #15145, the cache directory itself must exist,
otherwise, various applic

Revert "Installer: Ignore cache directories."

This reverts commit e06f64086224dda0e36704045448844f7376dafd.

As mentionned in #15145, the cache directory itself must exist,
otherwise, various applications are broken. A slow install process is
better than a broken install, so, revert for now. A better solution
needs to be found.

show more ...


# 7ba58efd 14-Sep-2019 Augustin Cavalier <waddlesplash@gmail.com>

Installer: Skip block, character, FIFO, and socket devices/files.

Fixes #15019.


# e06f6408 13-Jul-2019 Augustin Cavalier <waddlesplash@gmail.com>

Installer: Ignore cache directories.

Fixes #15145.


# a99aa113 15-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

Installer: Check return value of system() calls.

Solves a TODO.


# 72fa4a2e 15-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

Installer: Check return value of GetMountPoint.

Probably fixes #14586 (NULL dereference in the strcmp on the next line)
but I couldn't quite manage to reproduce it.


# cb3445aa 27-Mar-2018 Kim Brown <kimb18h@gmail.com>

Installer: WorkerThread: Add syslog to ignored paths

A new install should start with an empty syslog. Adding
the syslog path to the set of ignored paths will prevent
an existing syslog file from bei

Installer: WorkerThread: Add syslog to ignored paths

A new install should start with an empty syslog. Adding
the syslog path to the set of ignored paths will prevent
an existing syslog file from being copied into the new
install.

Fixes #8373
Change-Id: I79ecf95773a34360185d38ee4ef0c8337b062e7a

show more ...


# 5061f35c 14-Sep-2014 Axel Dörfler <axeld@pinc-software.de>

Installer: don't replace system/settings.

* Instead of removing "system" in the target completely, only
replace all of its subfolders.
* The downside of the current solution is that extra files, a

Installer: don't replace system/settings.

* Instead of removing "system" in the target completely, only
replace all of its subfolders.
* The downside of the current solution is that extra files, and
directories in "system" will not be removed. Improvements
welcome.

show more ...


# 3aeed660 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949

show more ...


# f73f5d4c 29-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Initial changes to remove /boot/common

* find_directory() and hard-coded paths use /boot/system instead of
/boot/common.
* The build system creates the writable directories in /boot/system
inste

Initial changes to remove /boot/common

* find_directory() and hard-coded paths use /boot/system instead of
/boot/common.
* The build system creates the writable directories in /boot/system
instead of /boot/common.
* The build system no longer installs any packages in /boot/common.

show more ...


# 9f81ca83 27-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge branch 'package-management'

Conflicts:
src/preferences/network/Jamfile


# 6c36ad16 02-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Installer: Restrict entry filter to files from the BFS volume

We generally want to skip the contents of the packagefs volumes (save
for the shine-through directories). That makes Installer usable ag

Installer: Restrict entry filter to files from the BFS volume

We generally want to skip the contents of the packagefs volumes (save
for the shine-through directories). That makes Installer usable again.
In what direction we want to develop it (e.g. integrate some PM support,
so that a subset of packages can be selected) needs further discussion.

show more ...


# f4953ba5 02-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Installer: WorkerThread::EntryFilter: Use path map

... instead of implicit comparisons.


# ba6f7c8c 02-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Installer: CopyEngine: Pass relative path to EntryFilter

... instead of the file name.


123