The officially supported method to update a DFly system is building &
installing from sources.  However, it's hard or even impossible to build
sources on a small VPS, and it's also not easy to transfer the built /usr/obj
(which is rather big) to a remote VPS for an update.

So I wrote a simple shell tool to update a running DFly system using the
pre-built releases or snapshots:


The basic update steps are:
1. check local and remote available versions
2. download the latest release/master system image (.img.bz2)
3. decompress and mount the image
4. backup the current kernel and world (including /etc)
5. install the kernel and world using cpdup (similar to the installer)
6. identify the new/changed /etc files, rename the conflicting ones with
suffix ".__new__" and then copy over
7. get obsolete files from Makefile_upgrade.inc and remove them
8. umount, remove image file, show the *.__new__ files need manual merge

I have tested updating one of my DFly vbox from 5.0.0 -> 5.0.2 -> 5.1
(master).  The later update log is also put in the above repository as

Any tests, issue reports, and pull requests are very welcome!  Thanks.


Attachment: pgp8YGglHr8Ky.pgp
Description: OpenPGP digital signature

Reply via email to