IABSD.fr/src/usr.sbin/syspatch

Branch :


Log

Author Commit Date CI Message
f617247d 2019-12-10 17:11:06 Just output a generic error message: "Unsupported filesystem, aborting" for mfs, nfs and co.
9980b193 2019-11-10 14:12:22 Drop non existent vars.
59aecf2c 2019-10-26 08:37:24 Wrap long lines.
d7c62aed 2019-10-26 04:04:20 use ftp -N option; ok jca
b8b6c56c 2019-10-25 11:14:31 Retracted a bit too much.
8bcaa1af 2019-10-23 16:50:14 retract 1.151, now that ftp reports the failing url itself. with jca, ok aja
ff2a1e0d 2019-10-20 09:10:43 Tweak and sync comment.
9880595c 2019-10-19 13:14:23 Determine the OS version in a way that won't break after 9.9. Do it the same way in all three copies of the code. Based on a patch from Chris Waddey. with & ok ajacoutot
6d05af0b 2019-10-14 06:56:54 Better error message when we fail to fetch SHA256.sig. Add "syspatch:" to every error message so we know where it comes from. req. by deraddt@ ok deraadt@ tb@
1a49fa34 2019-09-28 17:30:07 Add where missing and harmonize PATH to be _PATH_DEFPATH (without local nor X11R6). Suggested by tb@ ok deraadt@ tb@ millert@
a0cc1304 2019-07-07 11:11:22 Tell user to look at manually running /usr/libexec/reorder_kernel in case it fails at the end of the syspatch run. Because a kernel syspatch was installed, a user could think the kernel was updated accordingly; which is not the case if reorder_kernel fails.
6205d5a7 2019-06-15 16:54:19 "If any sets are missing, patches are skipped accordingly." wording help and ok jmc@
7f3597a0 2019-05-05 10:34:01 For "unpriv -f file", chown file back to root once the command finishes, like install.sub and sysupgrade(8) do.
63467dfa 2019-05-05 10:24:00 Initialise variable.
d7ee0851 2019-05-05 10:22:57 Change variable name.
4c0afd38 2019-04-26 20:42:46 If we don't have a proper installurl, use cdn.openbsd.org. Idea from sysupgrade(8).
f5d8f4ec 2019-02-26 18:52:35 Move release check up front.
22e4c9c7 2019-02-20 08:50:00 Drop '-S' knob from install(1). It's the default and a no-op nowadays. ok deraadt@
15b295cc 2019-01-21 23:50:36 Don't return 1 if we rollback and there's no installed patches.
f0c0efef 2019-01-21 23:44:26 Warn user to reboot the machine when a new kernel is installed and let him know where to look on the local machine for errata (/var/syspatch) so one can decide if a reboot is needed. ok Theos (tb@ deraadt@)
32d36b38 2019-01-16 22:29:12 Exit for real as soon as we update ourself.
e9cc0ab1 2018-10-28 09:00:07 Properly handle symlinks.
884f3c40 2018-10-16 07:09:13 Stop trying to remove /bsd.syspatch. That's ancient stuff that we don't do anymore.
a532db05 2018-05-09 10:22:06 Remove empty syspatch dir if we fail to extract.
36bea2f3 2018-04-26 12:50:41 Don't hide stderr; starting with 6.4 there will always be an SHA256.sig.
36a76669 2018-03-10 12:34:53 Allow fetching syspatches from ftp. from Andrew Marks ok deraadt@
538bf5e3 2017-12-29 18:56:36 Prevent syspatch from running and throw an error out if reorder_kernel is running. This is to prevent syspatch from installing new kernel object files while reordering is in progress (typically after an install/upgrade on slow machines). req. by and OK sthen@
f18856bc 2017-11-09 14:59:07 /usr/share/compile -> /usr/share/relink/kernel from semarie I meant to do that at p2k17 but totally forgot...
26792cd3 2017-10-13 06:16:27 Don't check for mirror availability but directly try to fetch SHA256.sig. That check was not safe (index needed to be enabled, top URL may not be available etc.). based on a comment from tj@
b1888294 2017-10-12 15:52:44 Simplify and explicitely state when we cannot access our mirror.
5c8550bc 2017-10-12 15:26:08 Loosen up installurl(5) check: it's OK to have a trailing slash.
2830681c 2017-10-12 15:24:06 Better error if installurl points to a local directory.
e8ee3b94 2017-10-12 14:48:30 Don't return 1 if the syspatch release directory does not exist; it just means that no patch is available yet.
046212ab 2017-08-29 10:21:23 While failing to relink the kernel is not fatal to syspatch, we still need to warn the user and return a proper error code.
63f340b9 2017-08-29 10:18:07 Fix logic to not error out.
89b9a22c 2017-08-28 09:53:14 Inform the user when we are relinking the kernel.
a8f86fd3 2017-08-22 13:32:50 Add support for KARL: - only extract the according /usr/share/compile/GENERIC{,.MP} - if a "kernel" patch was properly installed (or rolled back), run /usr/libexec/reorder_kernel _once_ just before exiting - don't backup /bsd anymore, reorder_kernel already does it for us - drop 2 now unused functions: install_kernel() and sp_cleanup() While it appears to work fine after some quick testing, it should still be considered WIP.
6da5f992 2017-08-17 20:32:14 Set the automatically generated device variables as local to prevent accumulating the size of all patches we are applying. from "trondd" on tech@
30904dd3 2017-08-17 20:18:02 Fix checkfs() when running an MP kernel.
9d7d9654 2017-08-17 07:35:19 Honor TMPDIR if it is set to prevent erroring in some setup. reported by Igor Falcomata
36beb3e3 2017-08-02 05:58:29 Only run mtree if we install a patch.
3a6fbc87 2017-08-01 11:13:23 For the kernel binpatches, only deal with /bsd. On MP machines we do have /bsd.sp by default for now but it maybe de-selected during the installation and the opposite is true for SP machines (MP is *not* installed but may end up being selected for installation). Having to deal with this is too error prone. This makes things much simpler and less confusing. If you have a machine that goes from MP to SP or vice-versa, just `syspatch -R && syspatch' so the proper kernel is updated.
2306ff56 2017-07-30 09:02:57 If syspatch is updating itself, exit after installing the new syspatch to stop installing further patches and warn the user he needs to run it again (so that it'll run with the new code).
f7d005e7 2017-07-30 08:30:46 `-R' requires root privileges.
2333d064 2017-07-22 09:59:08 Cleanup previous release patches and backup kernel _before_ applying new patches. This will mitigate possible /var overflow (previous behavior was to clean up _after_ applying all patches which means we would have rollback patches from the previous and current release before the previous ones got cleaned).
09585cb7 2017-07-04 20:25:53 Detect upfront whether we have a particular set installed and if not, do *not* list a matching syspatch as available. This will allow to skip the syspatches for the X sets for example if we don't have them installed. If we do install these sets a posteriori, then syspatch *will* list the X syspatches if there are any. req. by many ok robert@
e858556b 2017-06-09 07:37:38 Drop uneeded return from rollback_patch().
bb444e86 2017-06-09 07:32:26 /etc/mtree/BSD.x11.dist is part of base, not X; so check for /var/sysmerge/xetc.tgz to detect whether we have the x sets installed.
4338cf47 2017-05-27 09:05:25 When running from cron, the ftp(1) progress bar is not shown; that's all fine and dandy except that if there's fetch/verify error, we may not know which syspatch caused this. So if we're not associated with a terminal, just echo what ftp -VD would (without the progress bar).
95f0be21 2017-05-26 15:28:00 Don't try to revert the same patch in a loop if it returns an error.
7c858f00 2017-05-26 14:43:25 Fix logic.
e1f32169 2017-05-24 11:21:13 Preserve the modification time when install(1)ing.
ce3e7856 2017-05-24 08:32:16 Don't fill up /tmp when installing or reverting multiple patches at once.
9ca86c81 2017-05-24 08:30:31 Also trap INT when reverting a patch.
363044a6 2017-05-23 13:08:28 Hide sh(1) error message when /etc/installurl does not exist; we already error out with a message in this case since _MIRROR is empty. reported by tedu@
c38c9a74 2017-05-23 12:05:53 Only install /bsd.mp on SP machines if it's already there (a default installation will not have it).
54f4dff8 2017-05-23 12:01:53 Shorten varname.
170c7645 2017-05-18 12:02:06 Don't pass `-m' to ftp(1). Instead let isatty() decide whether we display the progress bar or not for better cron(1)/logger(1) output. req. by henning@
9b91251c 2017-05-17 13:23:58 Tweak remote fs check.
1d213eec 2017-05-12 15:04:07 Make sure we have a valid URL in /etc/installurl to prevent ending up stuck in ftp(1) interactive mode. reported by and OK sthen@
4c9e7d12 2017-05-09 12:23:04 Document that patches are cumulative and as such it is not possible to install only a subset of them. with input from jmc@
bd508535 2017-05-08 09:45:14 Only test the mirror if it's remote (and not a local directory).
b40f9483 2017-05-05 08:07:36 Add a `-R' switch that reverts all patches. prodded by deraadt@ knobs sorting input jmc@ ok sthen@
5a3d80b6 2017-05-04 12:28:14 Expand comment and bump copyright while here.
b366f6d7 2017-05-03 17:23:34 Output explicit error messages for: - trying to install files mounted on a remote FS (diskless clients etc.) - read-only FS - not enough space on FS These were all properly catched before (syspatch would refuse to do anything) but the error message was a bit cryptic.
d0ea658e 2017-05-03 12:26:52 - Don't make an empty syspatch/ repo an error; having no available patch is perfectly legit. - Abort immediately if we cannot reach our mirror server listed in installurl. - Return a proper error code when running without arguments and we cannot list the available patches.
a2aa8c16 2017-04-30 13:41:10 Tweak error message when running on an unsupported release.
c408c745 2017-04-08 20:36:50 use .Em for emphasis, not .Pa
f51554d2 2017-04-04 21:20:22 Also remove non syspatch hidden files/dirs.
20e19467 2017-03-31 16:02:31 Be quiet in case /var/syspatch/ is empty and that there's no remote sig file yet (i.e. when we are in release mode but not released yet). ok deraadt@
17f59a30 2017-02-13 14:59:09 Reverse output when installing a patch; it's more logical (first get, then install). While here, match the installer output a bit more: Get/Verify ... Installing ... prodded by a mail exchange with "bytevolcano" discussed with robert@ sthen@ ok robert@
3965237c 2017-02-07 17:58:43 Ox on its own line;
8b55056c 2017-02-07 08:58:47 Add installurl to FILES and SEE ALSO.
7fc933f2 2017-01-30 15:36:20 Drop empty line.
543663ef 2017-01-26 04:38:27 Remove unused _REL variable OK aja@
9b64d5e0 2017-01-26 04:34:51 Move setting _OSrev to immediately after verifying _KERNV and exit early if _OSrev is empty. OK aja@
c6832d3c 2017-01-26 04:08:50 No need to escape '.' in shell patterns - it has no special meaning. OK aja@
9320931b 2017-01-26 03:55:25 Spacing and use arithmetic test OK aja@
c3436116 2017-01-19 23:41:57 Simplify: bundle stripcom().
fe3e31dd 2017-01-19 23:04:48 /etc/mirror.conf -> /etc/installurl discussed with deraadt@ beck@ rpe@
3c94de9f 2017-01-19 09:08:45 ls_missing(): as a precaution, don't output anything on stdout when running ftp(1) to prevent corrupting the patch list; we are already running in silent mode but better safe than sorry. Read the syspatch mirror base URL using stripcom() /etc/mirror.conf for the time being; discussed with deraadt@ and rpe@ -- naming is not set in stone yet.
102a7abd 2017-01-19 08:45:23 Use the _syspatch user.
a97b214d 2017-01-19 08:31:53 Drop the _FETCH variable. It's useless, we are using ftp(1) specific options that are different on the two invocations; it's not like we'll support using wget|curl to fetch syspatches anyway.
d0a524bc 2017-01-11 12:22:13 Match what the installer does: - verify SHA256.sig and create SHA256 out of it - get the list of syspatches from the verified SHA256 - use sha256 against the verified SHA256 to checksum the syspatches
4d492f8f 2017-01-11 08:11:19 Drop FTP_KEEPALIVE, it's unused.
df156704 2016-12-31 15:52:36 The syspatch test repo can now be accessed over https.
e6d78d6e 2016-12-08 09:47:37 Make it possible to install patches even if we don't have all sets installed (e.g. no x sets); in this case, syspatch will skip the patch *but* it will still be listed as available. This will allow applying the patch in case sets are installed later on.
f63fd0ec 2016-12-07 15:36:50 Cleanup syspatch directories that do not contain a tarball; it means it was not applied properly.
fdafd936 2016-12-06 16:16:12 Missed in previous.
69dc6fb2 2016-12-06 16:01:02 Better matching and remove a useless use of sort(1).
b88ebddd 2016-12-06 11:10:00 Catch mtree(8) error; it's only run when applying patches and we already check for read-only... in this case.
f303df63 2016-12-06 10:29:04 Tweak comment.
c4ca033d 2016-12-05 16:11:17 Explicit error when running on unsupported release.
2fa7d596 2016-12-05 15:34:21 If we end up creating a rollback tarball from an empty list of files, it means we are missing a base set. In this case, error out right away or we may end up having the patch supposedly installed but without its corresponding rollback tarball. For now we only support *full* installations. installed patches mismatch reported by Marc Benslahdine
1e208600 2016-12-05 13:17:31 Remove the ugly temporary quirks.
55c2d675 2016-12-02 10:59:27 Simplify.
147c905e 2016-12-02 08:34:28 Few consistency fixes (no intended change in behaviour). Fix logic in the error path of rollback_patch().
4bedf784 2016-12-01 10:58:54 Fix kernel matching installation: bsd -> /bsd (sp) | /bsd.sp (mp) bsd.mp -> /bsd (mp) | /bsd.mp (sp) issue reported by Ossi Salmi, thanks!
5964bd7e 2016-11-30 15:19:16 Simplify: - consistency in integer checks - drop apply_patches(), better call ther actual apply_patch() function from within the script itself
1e8449ab 2016-11-30 13:53:14 During early testing, hardcode the syspatch repo to 'syspatch.openbsd.org' which points to ftp.fr. This will change once 6.1 is out. discussed with deraadt@