From 12fbfbb4d93fde7fb91bc87a0effd5719a553021 Mon Sep 17 00:00:00 2001 From: Bernhard M. Wiedemann <bwiedemann@suse.de> Date: Sep 13 2019 14:29:36 +0000 Subject: restructure files to remain below github limit of 1000 entries --- diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..2b6e9cd --- /dev/null +++ b/ChangeLog @@ -0,0 +1,1226 @@ +commit ad37d5b186c7ea62c874546472a807310acf0e75 +Author: Stephan Wiesand <stephan.wiesand@desy.de> +Date: Fri Apr 12 16:53:40 2019 +0200 + + Make OpenAFS 1.8.3 + + Update version strings for the 1.8.3 release. + + Change-Id: Ie8b29765e4f45bc3ddbe1aba9e31068da0bb54cf + Reviewed-on: https://gerrit.openafs.org/13546 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 288c218fa96abd8c9ddb66bc6f6bc60a20311645 +Author: Stephan Wiesand <stephan.wiesand@desy.de> +Date: Fri Apr 12 16:47:28 2019 +0200 + + Update NEWS for 1.8.3 + + Finalize the release notes for OpenAFS 1.8.3 + + Change-Id: I5b5eeedde53a1135c003302719cfdeca4f67e8fd + Reviewed-on: https://gerrit.openafs.org/13545 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit dc16d6fffa69fe98e8bb338daea7b35ff59651c9 +Author: Stephan Wiesand <stephan.wiesand@desy.de> +Date: Fri Jan 25 16:08:34 2019 +0100 + + Make OpenAFS 1.8.3pre1 + + Update version strings for the first 1.8.3 prerelease. + + Change-Id: I62d22cfba90ec89ac6734d7e8e08ce062dedff80 + Reviewed-on: https://gerrit.openafs.org/13444 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 3f902d3213ca4bc5e2072c9a729e108ec9b5a0b4 +Author: Stephan Wiesand <stephan.wiesand@desy.de> +Date: Fri Jan 25 18:15:00 2019 +0100 + + Update NEWS for 1.8.3pre1 + + Release notes for the OpenAFS 1.8.3 prerelease + + Change-Id: Ie9f988d0f03f1368125d0e5894d5dd5e9ef95d88 + Reviewed-on: https://gerrit.openafs.org/13445 + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit a4b3a659095cf50a4c5bb6cea69c71680817830a +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Mon Oct 29 16:48:14 2018 -0400 + + afs: avoid afs_GetDownDSlot panic on afs_WriteDCache failure + + If afs_GetDownDSlot() finds insuffcient free slots in the + afs_freeDSList, it will walk the afs_DLRU attempting to flush and free + eligible dcaches. However, if an error occurs during the flush to + CacheItems (afs_WriteDCache()), e.g., -EINTR, afs_GetDownDSlot() will + assert. + + However, a panic in this case is overkill, since afs_GetDownDSlot() is a + best-effort attempt to free dslots. The caller (afs_UFSGetDSlot()) will + allocate more dcaches if needed. + + Instead: + - Refactor afs_GetDownDSlot() by moving the QRemove() call to after the + afs_WriteDCache logic, so it accompanies the logic that puts the dcache + back on the freelist. This is safe because we hold the afs_xdcache W + lock for the duration of the routine. + - If afs_WriteDCache() returns an error, return early and let the caller + handle any recovery. + + Reviewed-on: https://gerrit.openafs.org/13364 + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Tested-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit d6f52d11c358f71b2c4357cb135e898de7c6277b) + + Change-Id: I2630bf04b3e3a88a1fa00f693adf2a77290d47ef + Reviewed-on: https://gerrit.openafs.org/13503 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit ff3ae28f14cb42b5e72adfceb1f6271a8f675e4a +Author: Cheyenne Wills <cwills@sinenomine.net> +Date: Fri Jan 25 17:35:51 2019 -0700 + + Redhat: 'clean build area' error message during dkms build/install + + dkms invokes a make clean command before and after building the kernel + module. The make clean that is issued at the start of building results + in a nuisance error message because the Makefile doesn't yet exist + + Building module: + cleaning build area...(bad exit status: 2) + + In the dkms.conf file, built from within the openafs.spec, change the + command defined in the CLEAN statement to test for the existence of the + Makefile prior to running the actual make clean + + Reviewed-on: https://gerrit.openafs.org/13460 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 10f2c469f45eece0e12573388ae66e392e2dff1c) + + Change-Id: If3440b576ad62441bb6b970016fa9808b51abf70 + Reviewed-on: https://gerrit.openafs.org/13479 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 232bd12b070e1fbeb173e31251e65e63a0d1f959 +Author: Andrew Deason <adeason@sinenomine.net> +Date: Tue Aug 7 17:27:24 2018 -0500 + + Avoid format truncation warnings + + With gcc 7.3, we start getting several warnings like the following: + + vutil.c: In function ‘VWalkVolumeHeaders’: + vutil.c:860:34: error: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 63 [-Werror=format-truncation=] + snprintf(name, VMAXPATHLEN, "%s" OS_DIRSEP "%s", partpath, dentry->d_name); + + Most or all of these truncations should be okay, but increase the size + of the relevant buffers so we can build with warning checking turned + on. + + Reviewed-on: https://gerrit.openafs.org/13274 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit 2daa413e3ec061e0653adbd1d6549f15e0659a62) + + Change-Id: I61ae1ddae4b2d84147198a1dccb280d0da100a0b + Reviewed-on: https://gerrit.openafs.org/13459 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 804fefa6b46ed75921a1560a9e6b37842eabc94a +Author: Cheyenne Wills <cwills@sinenomine.net> +Date: Fri Jan 18 17:22:44 2019 -0700 + + Linux_5.0: replaced current_kernel_time with ktime_get_coarse_real_ts64 + + In Kernel commit fb7fcc96a86cfaef0f6dcc0665516aa68611e736 the + current_kernel_time/current_kernel_time64 functions where renamed + and the calling was standardized. + + According to the Linux Documentation/core-api/timekeeping.rst + ktime_get_coarse_real_ts64 is the direct replacement for + current_kernel_time64. Because of year 2038 issues, there is no + replacement for current_kernel_time. + + Updated code that used current_kernel_time to use new name and calling + convention. + + Updated autoconf test that sets IATTR_TAKES_64BIT_TIME as well. + + Reviewed-on: https://gerrit.openafs.org/13434 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 21ad6a0c826c150c4227ece50554101641ab4626) + + Change-Id: Idb8a2c1b74835601fb1fc699c3ebbcee75c94e3e + Reviewed-on: https://gerrit.openafs.org/13442 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit e7d8dc01cc1f0592eaecea5b87990097e9e59b88 +Author: Cheyenne Wills <cwills@sinenomine.net> +Date: Fri Jan 18 16:53:58 2019 -0700 + + Linux_5.0: replace do_gettimeofday with ktime_get_real_ts64 + + In Kernel commit e4b92b108c6cd6b311e4b6e85d6a87a34599a6e3 the + do_gettimeofday function was removed. + + According to the Linux Documentation/core-api/timekeeping.rst + ktime_get_real_ts64 is the direct replacement for do_gettimeofday + + Updated the macro osi_GetTime to use ktime_get_real_ts64 if it is + available. + + Reviewed-on: https://gerrit.openafs.org/13433 + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit b892fb127815bdf72103ae41ee70aadd87931b0c) + + Change-Id: I1a0237457e229a11d2a87a3a269cf24adc201e59 + Reviewed-on: https://gerrit.openafs.org/13441 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 25829aaef319728e30fc45895e8945438e4dc719 +Author: Cheyenne Wills <cwills@sinenomine.net> +Date: Thu Jan 17 16:00:37 2019 -0700 + + Linux_5.0: Use super_block flags instead of Mount flags when filling sb + + In Kernel commit e262e32d6bde0f77fb0c95d977482fc872c51996 + the mount flags (MS_) were moved from uapi/linux/fs.h to + uapi/linux/mount.h. This caused a compile failure in + src/afs/LINUX/osi_vfsops.c + + The Linux documentation in uapi/linux/mount.h indicates that the MS_ + (mount) flags should only be used when calling sys_mount and filesystems + should use the SB_ (super_block) equivalent. + + src/afs/LINUX/osi_vfsops.c utilized the mount flag MS_NOATIME while + filling the super_block. Changed to use SB_NOATIME (which has the same + numeric value as MS_NOATIME) if available. + + Reviewed-on: https://gerrit.openafs.org/13432 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 3969bbca6017eb0ce6e1c3099b135f210403f661) + + Change-Id: I66f7b758c0258ea2c0d93da030fa97b3db49bd6c + Reviewed-on: https://gerrit.openafs.org/13440 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 8ca82f1252db2e3f17f6a9080f56d74035bdaa16 +Author: Andrew Deason <adeason@sinenomine.net> +Date: Thu Jan 17 00:12:06 2019 -0600 + + afs: Do not ignore errors in afs_CacheFetchProc + + afs_CacheFetchProc currently has a section of code that looks like + this pseudocode: + + if (!code) do { + while (length > 0) { + code = read_from_rx(); + if (code) { + break; + } + code = write_to_cache(); + if (code) { + break; + } + } + code = 0; + } while (moredata); + return code; + + When we encounter an error when reading from rx or writing to the + cache, we break out of the current loop to stop processing and return + an error. But there are _two_ loops in this section of the code, so + what we actually do is break out of the inner loop, set 'code' to 0, + and then usually return (since 'moredata' is usually never set). + + This means that when we encounter an unexpected error either from the + net or disk (or the memcache layer), we ignore the error and return + success. This means that we'll store a subset of the relevant chunk's + data to disk, and flag that chunk as complete and valid for the + relevant DV. If the error occurred before we wrote anything to disk, + this means we'll store an empty chunk and flag it as valid. The chunk + will be flagged as valid forever, serving invalid data, until the + cache chunk is evicted or manually kicked out. This can result in + files and directories appearing blank or truncated to applications + until the bad chunk is removed. + + Possibly the most common way to encounter this issue is when using a + disk cache, and the underlying disk partition is full, resulting in an + unexpected ENOSPC error. Theoretically this can be seen from an + unexpected error from Rx, but we would have to see a short read from + Rx without the Rx call being aborted. If the call was aborted, we'd + get an error from the call to rx_EndCall() later on. + + To fix this, change all of these 'break's into 'goto done's, to be + more explicit about where we are jumping to. Convert all of the + 'break's in this function in the same way, to make the code flow more + consistent and easier to follow. Remove the 'if () do' on a single + line, since it makes it a little harder to see from a casual glance + that there are two nested loops here. + + This problem appears to have been introduced in commit 61ae8792 (Unite + CacheFetchProcs and add abstraction calls), included in OpenAFS + 1.5.62. + + Reviewed-on: https://gerrit.openafs.org/13428 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit ce327b568f4ff522aa008f235d97e0d9144eb92c) + + Change-Id: Id4ec8ffef38b4c86beffc6272bd283bce2c74ffe + Reviewed-on: https://gerrit.openafs.org/13443 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 97f830605d5f251c58382c3f9febc4d98e949ee8 +Author: Andrew Deason <adeason@sinenomine.net> +Date: Mon Jan 14 17:12:27 2019 -0600 + + lwp: Avoid freeing 'stackmemory' on AIX32 + + Commit 55013a11 (lwp: Fix possible memory leak from scan-build) added + some free() calls to some otherwise-leaked memory. However, one of + these calls frees the 'stackmemory' pointer, which on AIX32 is not a + pointer from malloc/calloc, but calculated from reserveFromStack(). + + To avoid corrupting the heap, skip this free call on AIX32. This + commit adds another #ifdef to avoid this, which is unfortunate, but + this is also how the free is avoided in the existing code for + Free_PCB(). + + Reviewed-on: https://gerrit.openafs.org/13426 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit f6182922455aa0cbee19d138b0827eb87dc2b7ce) + + Change-Id: Id32eea373799c0cb43fb01a98210a0800899a1d6 + Reviewed-on: https://gerrit.openafs.org/13427 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 4c5daaa26fbe2fd7e24ceba475e60e5e5c765e78 +Author: Pat Riehecky <riehecky@fnal.gov> +Date: Wed May 23 15:42:09 2018 -0500 + + lwp: Fix possible memory leak from scan-build + + It is possible for LWP_CreateProcess to return early. When it does, it + should free up any memory it allocated before leaving scope. + + Reviewed-on: https://gerrit.openafs.org/13080 + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 55013a111394052a0253c87a744d03dfabd1be75) + + Change-Id: I9112d2039c7c58a707231568e2e84e0340407bac + Reviewed-on: https://gerrit.openafs.org/13122 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Tested-by: PatRiehecky <jcpunk@gmail.com> + Reviewed-by: Joe Gorse <jhgorse@gmail.com> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 05ceb67a574a8e263ce8f6738e0bf4495284f6fc +Author: Andrew Deason <adeason@sinenomine.net> +Date: Thu Dec 13 12:25:32 2018 -0600 + + afs: Reword "cache is full" messages + + Currently, there are multiple different areas in the code that log a + message that look like this, when we encounter an ENOSPC error when + writing to the cache: + + *** Cache partition is FULL - Decrease cachesize!!! *** + + The message is a bit unclear, and doesn't even mention AFS at all. + Reword the message to try to explain a little more what's happening. + + Also, since we log the same message in several different places, move + them all to a common function, called afs_WarnENOSPC, so we only need + to change the message in one place. + + Reviewed-on: https://gerrit.openafs.org/13410 + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit d9d9571785dabc5c311111b1263fe0881b0ccda5) + + Change-Id: I8e958f2896f5d4503d3a153b52720e8ba3025261 + Reviewed-on: https://gerrit.openafs.org/13417 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 036c01d2f129b7118a77ecd6d89fbc779d91c224 +Author: Andrew Deason <adeason@sinenomine.net> +Date: Thu Nov 2 16:41:52 2017 -0500 + + rx: Convert rxinit_status to rx_IsRunning() + + Currently, all rx code examines the atomic rxinit_status to determine + if rx is running (that is, if rx_InitHost has been called, and + rx_Finalize/shutdown_rx hasn't been called). This is used in rx.c to + see if we're redundantly calling our setup/teardown functions, and + outside of rx.c in a couple of places to see if rx-related resources + have been initialized. + + The usage of rxinit_status is a little confusing, since setting bit 0 + indicates that rx is not running, and clearing bit 0 indicates rx is + running. Since using rxinit_status requires atomic functions, this + makes code checking or setting rxinit_status a little verbose, and it + can be hard to see what it is checking for. (For example, does + 'if (!rx_atomic_test_and_clear_bit(&rxinit_status, 0))' succeed when + rx running, or when rx is not running?) + + The current usage of rxinit_status in rx_InitHost also does not handle + initialization errors correctly. rx_InitHost clears rxinit_status near + the beginning of the function, but does not set rxinit_status if an + error is encountered. This means that any code that checks + rxinit_status (such as another rx_InitHost call) will think that rx + was initialized successfully, but various resources aren't actually + setup. This can cause segfaults and other errors as the code tries to + actually use rx. + + This can easily be seen in bosserver, if bosserver is started up while + the local host/port is in use by someone else. bosserver will try to + rx_InitHost, which will fail, and then we'll try to rx_InitHost again, + which will immediately succeed without doing any init. We then + segfault quickly afterwards as we try to use unitialized rx resources. + + To fix all of this, refactor code using rxinit_status to use a new + function, called rx_IsRunning(), to make it a little clearer what + we're checking for. We also re-introduce the LOCK_RX_INIT locks to + prevent functions like rx_InitHost and rx_Finalize from running in + parallel. + + Note that non-init/shutdown code (such as rx_upcall or rx_GetIFInfo) + does not need to wait for LOCK_RX_INIT to check if rx is running or + not. These functions only care if rx is currently setup enough to be + used, so we can immediately return a 'yes' or 'no' answer. That is, if + rx_InitHost is in the middle of running, rx_IsRunning returns 0, since + some resouces may not be fully initialized. + + Reviewed-on: https://gerrit.openafs.org/12761 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit 5ced6025b9f11fadbdf2e092bf40cc87499ed277) + + Change-Id: I38ef9e3aea8a1f20e9db488a44da4535f76432d1 + Reviewed-on: https://gerrit.openafs.org/13416 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit a125fc5445fb4066a5845ff29b18974a0f7b5929 +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Fri Nov 30 12:10:50 2018 -0500 + + vos: restore status information to 'vos status' + + Commit d3eaa39da3693bba708fa2fa951568009e929550 'rx: Make the rx_call + structure private' created accessors for several rx_call members. + However, it simply #ifdef'd out the packet counters and timestamps + reported by 'vos status' (AFSVol_Monitor). This is a regression for the + 1.8.x 'vos status' command. + + Instead, supply an accessor so 'vos status' can again be used to monitor + the progress of certain volume operations. + + FIXES 134856 + + Reviewed-on: https://gerrit.openafs.org/13400 + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + (cherry picked from commit 59d3a8b86da648e3c5b9774183c6c8571a36f0c4) + + Change-Id: I16c995623c40a708b06f08fb09224be1baa4de21 + Reviewed-on: https://gerrit.openafs.org/13421 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 53515f40f3dc980cc2c1afd369207617b88e93d1 +Author: Cheyenne Wills <cwills@sinenomine.net> +Date: Wed Nov 28 15:45:20 2018 -0700 + + Redhat: correct path to kernel module in dkms.config + + This fix corrects some annoying error and warning messages during + dkms install or uninstall. + + Install: + DKMS: build completed. + + openafs: + Running module version sanity check. + ERROR: modinfo: could not open /lib/modules/2.6.32-754.6.3.el6.x + 86_64/weak-updates/openafs.ko: No such file or directory + - Original module + - No original module exists within this kernel + - Installation + - Installing to /lib/modules/2.6.32-754.6.3.el6.x86_64/extra/ + Adding any weak-modules + WARNING: Can't read module /lib/modules/2.6.32-754.6.3.el6.x86_6 + 4/weak-updates/openafs.ko: No such file or directory + egrep: /lib/modules/2.6.32-754.6.3.el6.x86_64//weak-updates/open + afs.ko: No such file or directory + + Remove + Status: Before uninstall, this module version was ACTIVE on this + kernel. + Removing any linked weak-modules + rmdir: failed to remove `.': Invalid argument + WARNING: Can't read module /lib/modules/2.6.32-754.6.3.el6.x86_6 + 4/weak-updates/openafs.ko: No such file or directory + egrep: /lib/modules/2.6.32-754.6.3.el6.x86_64//weak-updates/open + afs.ko: No such file or directory + + openafs.ko: + - Uninstallation + - Deleting from:/lib/modules/2.6.32-754.6.3.el6.x86_64/extra/ + - Original module + - No original module was found for this module on this kernel + - Use the dkms install command to reinstall any previous + module version. + + Background: + + Commit 1c96127e37c0ec41c7a30ea3e4aa68f3cc8a24f6 standardized the + location where the openafs.ko module is installed (from + /kernel/3rdparty to /extra/). The RPM Spec file was not updated to + build the dkms.conf file with the corrected location. + + From the documentation for dkms + + DEST_MODULE_LOCATION is ignored on Fedora Core 6 and higher, Red Hat + Enterprise Linux 5 and higher, Novell SuSE Linux Enterprise Server 10 + and higher, Novell SuSE Linux 10.0 and higher, and Ubuntu. Instead, + the proper distribution-specific directory is used. + + However the DEST_MODULE_LOCATION is still used saving and restoring old + copies of the module. + + The NO_WEAK_MODULES parameter prevents dkms from creating a symlink into + weak-updates directory, which can lead to broken symlinks when + dkms-openafs is removed. The weak modules facility was designed to + eliminate the need to rebuild kernel modules when kernel upgrades occur + and relies on the symbols within the kABI. Openafs uses symbols that + are outside the kABI, and therefor is not a candidate for a weak module. + + Reviewed-on: https://gerrit.openafs.org/13404 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit a28f9d28aef18936eb0ea02491ce64c72eeb1fe9) + + Change-Id: Ia32856c85eb61e2f023e3ae970c945aa529682ce + Reviewed-on: https://gerrit.openafs.org/13438 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit bf4d7ed224738b7e04b236e2d515770b6c7f8c40 +Author: Marcio Barbosa <mbarbosa@sinenomine.net> +Date: Mon Oct 1 17:44:22 2018 -0400 + + auth: check if argument of afsconf_Close* is null + + Currently, we do not check if the argument of afsconf_Close / + afsconf_CloseInternal is equal to null. In order to avoid a possible + segmentation fault, add the checks. + + Reviewed-on: https://gerrit.openafs.org/13352 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + (cherry picked from commit bd58bb85004a18bb6681ff2b0c13a04e23c4d9c4) + + Change-Id: I6a99b559ab863c8485af9ec17c940b64cf844acf + Reviewed-on: https://gerrit.openafs.org/13372 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 82f9557c43f239c22fe1cb33d970392fdd049e29 +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Tue Sep 11 15:59:41 2018 -0400 + + budb: SBUDB_FindLatestDump should check result of FillDumpEntry + + FillDumpEntry may return an error, but FindLatestDump doesn't check its + result. Therefore, SBUDB_FindLatestDump may return invalid results. + + Instead, check the return code from FillDumpEntry and abort the call if + it fails. + + Reviewed-on: https://gerrit.openafs.org/13312 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 2d8045d67686fbb80696b47b4a60e48e7e74fec9) + + Change-Id: I47328fc61c492c82ae5e0cce8ca3a292706c7413 + Reviewed-on: https://gerrit.openafs.org/13329 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit af0636ac6f69a6f82f4fe7ab1895f4559a55c34b +Author: Jeffrey Altman <jaltman@auristor.com> +Date: Wed Jun 6 21:23:14 2018 -0400 + + rx: reset packet header userStatus field on reuse + + OpenAFS Rx fails to set the rx packet header userStatus field for most + packets sent other than type RX_PACKET_TYPE_ACK. If the userStatus + field is not set, its value will be random garbage based upon the + prior use of the memory allocated to the rx_packet. + + This change explicitly sets the userStatus field to zero for all + DATA and Special packet types. + + Background + ---------- + + OpenAFS Rx allocates a pool of rx_packet structures that are reused + for both incoming and outgoing Rx packets throughout the lifetime + of the process (or kernel module). + + The rx packet header field userStatus is set by rxi_Send() to + rx_call.localStatus. rxi_Send() is called from both rxi_SendAck() + when sending RX_PACKET_TYPE_ACK packets and from rxi_SendSpecial() + when called with a non-NULL call structure (RX_PACKET_TYPE_BUSY, + RX_PACKET_TYPE_ACKALL, or RX_PACKET_TYPE_ABORT). rx_call.localStatus + defaults to zero and can be modified by the application calling + rx_SetLocalStatus(). + + The userStatus field is neither set nor reset when sending + RX_PACKET_TYPE_DATA packets and all packets sent without a call + structure. When allocated packets are reused in these cases, the + value of the userStatus leaks from the prior packet use. The + userStatus field is expected to be zero unless intentionally set by + the application protocol to another value. + + The AFS3 suite of rx services uses the rx_header.userStatus field + only in the RXAFS service and only as part of the definition + for RXAFS_StoreData and RXAFS_StoreData64 RPCs. The StoreData RPCs + use the rx_header.userStatus field as an out-of-band communication + mechanism that permits the fileserver to signal to the cache manager + when the RXAFS_StoreData[64] has been assigned to an application + worker (thread) and the worker has acquired all of the required locks + and other resources necessary to complete the RPC. This signal can be + sent before all of the application data has been received. The cache + manager reads the userStatus value via rx_GetRemoteStatus(). When + bit-0 of the remote status value equals one and CSafeStore mode is + disabled, the cache manager can wakeup any threads blocked waiting for + the store operation to complete. + + Cache managers that perform a workload heavy in RXAFS_StoreData[64] RPCs + will end up with an increasing percentage of packets in which the + userStatus field is one instead of zero. + + Fileservers processing a workload heavy in RXAFS_StoreData[64] RPCs + will likewise end up with an increasing percentage of packets in which + the userStatus field is one instead of zero. + + Cache managers and Fileservers will therefore send DATA and call free + special packets with a non-zero userStatus field to peer services + (RXAFS, RXAFSCB, VL, PR). + + The failure to reset the userStatus field has not been a problem in + the past because only the OpenAFS cache manager has ever queried the + userStatus via rx_GetRemoteStatus() and only when issuing + RXAFS_StoreData[64] RPCs. + + Failure to correct this flaw interferes with future use of the userStatus + field in yet to be registered AFS3 RPCs and existing non-AFS3 services + that make use of the userStatus when sending data to a service. + + FIXES: 134554 + Reviewed-on: https://gerrit.openafs.org/13165 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + + (cherry picked from commit c553170bcf3b97ba3745f21040c8e07b128ef983) + + Change-Id: I4e3c7fea876225ec401988a16b21ed3bb0760ee0 + Reviewed-on: https://gerrit.openafs.org/13332 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 6b119a79a0dce1448e21cc14be8aa1db823f6513 +Author: Jeffrey Altman <jaltman@auristor.com> +Date: Sat Mar 24 01:22:54 2018 -0400 + + volser: DoVolDelete returning VNOVOL is success + + When moving, copying or releasing volumes, do not treat a failure + to delete a volume because the volume no longer exists as an error. + The volume clone has flags + + VTDeleteOnSalvage | VTOutOfService + + assigned to it which means that the fileserver won't attach the volume + and volume has its deleteMe field assigned the value of DESTROY_ME. + Such a volume will be deleted the next time the salvager scans the + partition. Once the transaction is complete the volume might be + removed. + + Reviewed-on: https://gerrit.openafs.org/12976 + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit 328590dc5669cae3db6c509871b612b0384ea33d) + + Change-Id: Iea98049a3948b75a5e7c13c068add663c9276515 + Reviewed-on: https://gerrit.openafs.org/13235 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + +commit 6f41efd6c85d4d759bc2fc6d6e787fc8dbe1e1c0 +Author: Marcio Barbosa <mbarbosa@sinenomine.net> +Date: Sun Sep 30 17:38:53 2018 -0400 + + macos: packaging support for MacOS X 10.14 + + This commit introduces the new set of changes / files required to + successfully create the dmg installer on OS X 10.14 "Mojave". + + Reviewed-on: https://gerrit.openafs.org/13349 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 2aeabf8c5bca22b400653e2bc88b6f36d47b05ca) + + Change-Id: Ia271ca69d8102a93da50c59e2d92d3c803a13b0e + Reviewed-on: https://gerrit.openafs.org/13413 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 170dd4a6a2ac7a08e4c94e82e664dcfd5816bbbf +Author: Marcio Barbosa <mbarbosa@sinenomine.net> +Date: Wed Sep 26 00:18:38 2018 -0300 + + macos: add support for MacOS 10.14 + + This commit introduces the new set of changes / files required to + successfully build the OpenAFS source code on OS X 10.14 "Mojave". + + Reviewed-on: https://gerrit.openafs.org/13348 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 72b2670a9e2e3937ed4e47485b9e9fa6953b5444) + + Change-Id: Ida25278d68d875a630af1d916d2d6add9b6c1f9e + Reviewed-on: https://gerrit.openafs.org/13412 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 318330ca51a3ba780471f4c05221be1f8e3897d1 +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Fri Aug 17 18:48:08 2018 -0400 + + volser: ensure GCTrans transaction walk remains valid + + Commit bc56f5cc97a982ee29219e6f258b372dbfe1a020 ("volser: Delete + timed-out temporary volumes") introduced new logic to GCTrans(). + Unfortunately, part of this logic temporarily drops VTRANS_LOCK in order + to call VPurgeVolume(). While this lock is dropped, other volser_trans + may be added or deleted from the allTrans list. Therefore, GCTrans + should not trust the next pointer (nt = tt->next) which was obtained + before the lock was dropped. + + One symptom observed in the field was a segfault while examining + tt->volume. Neither tt nor volume were valid any longer, since tt had + been set from a stale nt at the top of the loop. + + To repair, improve, and clarify this logic: + - Refactor so nt is assigned correctly and as late as possible. + - Add comments to explain the placement of the assigns to future + maintainers. + + Reviewed-on: https://gerrit.openafs.org/13286 + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit 930d8ee638112ca8bf27a9528c0a527cfab54c7d) + + Change-Id: I9ed2c0440b03137cb0e0ef536167be9535c90dbb + Reviewed-on: https://gerrit.openafs.org/13337 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit b0920d0a07a2aec55269002960bc71a9a9b99411 +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Thu Sep 6 14:09:26 2018 -0400 + + volser: combine GCTrans conditional clauses + + In preparation for a future commit, combine two conditional clauses in + GCTrans(). + + No functional change should be incurred by this commit. + + Reviewed-on: https://gerrit.openafs.org/13303 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 95b0641ad8cfd0358576c6e1a93266fc59ecf710) + + Change-Id: If808a00cf935235cdeb20bf73f03ad235f8b2c39 + Reviewed-on: https://gerrit.openafs.org/13336 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit a19404d0903e1a015b71c8f23d1bb045e080c81d +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Fri Oct 26 09:12:44 2018 -0400 + + viced: fix typo in help for option -unsafe-nosalvage + + Reviewed-on: https://gerrit.openafs.org/13367 + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 84b3e1c43685862c147603627a020a68650d6e1c) + + Change-Id: Ie264fbd0064a3e22b1c474cea59040ecb0804b73 + Reviewed-on: https://gerrit.openafs.org/13411 + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 0b1f77b4563a2ea5484a403d6c838ff06aeecdb0 +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Thu Nov 15 15:41:24 2018 -0500 + + afs: remove dead code afs_osi_SetTime + + afs_osi_SetTime() has been dead code since -settime support was removed + with commit 1d9888be486198868983048eeffabdfef5afa94b 'Remove + -settime/RXAFS_GetTime client support'. + + Remove the dead code. + + No functional change is incurred by this commit. + + Reviewed-on: https://gerrit.openafs.org/13393 + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 16b981ec6697b511c36c09adfeb8b79eaf2345b0) + + Change-Id: I3fa92cbe1598703b4eddd78e4c7afdc04c525750 + Reviewed-on: https://gerrit.openafs.org/13407 + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 5a77ac9a3a0ce6114b6b4b2ccd9cd8d51154530c +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Thu Nov 15 15:31:37 2018 -0500 + + Linux 4.20: do_settimeofday is gone + + With Linux commit 976516404ff3fab2a8caa8bd6f5efc1437fed0b8 'y2038: + remove unused time interfaces', do_settimeofday() is gone. + + However, OpenAFS only calls do_settimeofday() from afs_osi_SetTime(), + which has been dead code since -settime support was removed from afsd + with commit 1d9888be486198868983048eeffabdfef5afa94b 'Remove + -settime/RXAFS_GetTime client support'. + + Instead of fixing afs_osi_SetTime() to use a current Linux API, remove + it as dead code. + + No functional change is incurred by this commit. However, this change + is required in order to build OpenAFS on Linux 4.20. + + Reviewed-on: https://gerrit.openafs.org/13392 + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit aa80f892ec39e2984818090a6bb2047430836ee2) + + Change-Id: I7f5ee9c21bc87cd261d87126bc3848d941ff5409 + Reviewed-on: https://gerrit.openafs.org/13406 + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 7fb6d488156e673e78b462faf93f2c5b2214fe59 +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Tue Nov 13 11:20:09 2018 -0500 + + Linux 4.20: current_kernel_time is gone + + With Linux commit 976516404ff3fab2a8caa8bd6f5efc1437fed0b8 'y2038: + remove unused time interfaces' (4.20-rc1), current_kernel_time() has + been removed. + + Many y2038-compliant time APIs were introduced with Linux commit + fb7fcc96a86cfaef0f6dcc0665516aa68611e736 'timekeeping: Standardize on + ktime_get_*() naming' (4.18). According to + Documentation/core-api/timekeeping.rst, a suitable replacement for: + + struct timespec current_kernel_time(void) + + would be: + + void ktime_get_coarse_real_ts64(struct timespec64 *ts)) + + Add an autoconf test and equivalent logic to deal. + + Reviewed-on: https://gerrit.openafs.org/13391 + Tested-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 3c454b39d04f4886536267c211171dae30dc0344) + + Change-Id: I3f00cf4bd3a1ffb7c90e3920113964d74c6df403 + Reviewed-on: https://gerrit.openafs.org/13405 + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit fc9211be1b242e7026a679a41e5f53f3b4a7e818 +Author: Andrew Deason <adeason@sinenomine.net> +Date: Tue Aug 7 17:08:26 2018 -0500 + + afs: Return memcache allocation errors + + During cache initialization, we can fail to allocate our dcache + entries for memcache. Currently when this happens, we just log a + message and try to disable dcache access. However, this results in at + least one code path that causes a panic anyway during startup, since + afs_CacheTruncateDaemon will try to trim the cache, and afs_GetDownD + will call afs_MemGetDSlot, and we cannot find the given dslot. + + To avoid this, change our cache initialization to return an error, + instead of trying to continue without a functional dcache. This causes + afs_dcacheInit to return an error in this case, and by extension + afs_CacheInit and the AFSOP_CACHEINIT syscall. Also change afsd to + actually detect errors from AFSOP_CACHEINIT, and to bail out when it + does. + + Thanks to gsgatlin@ncsu.edu for reporting the relevant panic. + + Reviewed-on: https://gerrit.openafs.org/13273 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 0da5ac4d9fb2a9b46c7415403a3cd26e711554e2) + + Change-Id: I00b0d3dac1f4d8edc46389fe3c59501fd23c18f8 + Reviewed-on: https://gerrit.openafs.org/13307 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit eca7ade855e0f9b14d0bb763be2d2d3e925dcd86 +Author: Benjamin Kaduk <kaduk@mit.edu> +Date: Wed May 30 19:38:57 2018 -0500 + + CellServDB update 14 May 2018 + + Update all three copies in the tree, and the rpm specfile. + + Reviewed-on: https://gerrit.openafs.org/13134 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit 4a2b5101afda24b2d937e7350ca35b0b3d3c4af8) + + Change-Id: I47dad888b71c798132f2841375f9ebb2f6b263f7 + Reviewed-on: https://gerrit.openafs.org/13409 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 39272929fc528a4c6af05e74b98518a3bae18462 +Author: Andrew Deason <adeason@sinenomine.net> +Date: Thu May 10 16:22:52 2018 -0500 + + ubik: Buffer log writes with stdio + + Currently, when we write ubik i/o operations to the db log, we tend to + issue several syscalls involving small writes and fstat()s. This is + because each "log" operation involves at least one write, and each log + operation tends to be pretty small. + + Each logged operation hitting disk separately is unnecessary, since + the db log does not need to hit the disk at all until we are ready to + commit the transaction. So to reduce the number of syscalls when + writing to the db, change our log writes to be buffered in memory + (using stdio calls). This also avoids needing to fstat() the + underlying log file, since we open the underlying file in append-only + mode, since we only ever append to (and truncate) the log file. + + To implement this, we introduce a new 'buffered_append' phys + operation, to explicitly separate our buffered and non-buffered + operations, to try to avoid any bugs from mixing buffered and + non-buffered i/o. This new operation is only used for the db log. + + Reviewed-on: https://gerrit.openafs.org/13070 + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Joe Gorse <jhgorse@gmail.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit 800318b43fdf461ad95cd7f3940718f3f0a609a7) + + Change-Id: Ia40d75e7bdeb6a9f6c316aaea6fd20d5c8d80625 + Reviewed-on: https://gerrit.openafs.org/13353 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit b71f75cad51cf58260d0593635d66dd367a2af1a +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Fri May 4 15:42:14 2018 -0400 + + ubik: make ContactQuorum_* routines static + + Most of the ContactQuorum_* routines are only used in ubik.c, so make + them all static - except for ContactQuorum_DISK_SetVersion, which is + called from disk.c. + + Reviewed-on: https://gerrit.openafs.org/13078 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 27d7b8fe4603c39362983758fe6a749fa5ffa4e5) + + Change-Id: I70721aef02f5f2e203c1877428c46c49ea1cb7c9 + Reviewed-on: https://gerrit.openafs.org/13188 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Joe Gorse <jhgorse@gmail.com> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 88db0996e3287a62e519ef4cc09f0b8516f6a9b9 +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Wed May 9 16:50:55 2018 -0400 + + ubik: remove unused ContactQuorum_DISK_Write + + This function is not used; remove it. + + No functional change is incurred by this commit. + + Reviewed-on: https://gerrit.openafs.org/13077 + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 8b1e730c11a6ed7dc067ef185302bd57a69f6d1e) + + Change-Id: I548e2442684a26ab017afebb1c42bdef9bd7c7bf + Reviewed-on: https://gerrit.openafs.org/13187 + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Joe Gorse <jhgorse@gmail.com> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 10157d82c3e8f7cbdec768d92119ed5be126b844 +Author: Michael Meffie <mmeffie@sinenomine.net> +Date: Thu Jun 14 15:01:18 2018 -0400 + + ubik: do not assign variables in logging argument lists + + Several logging statements in ubik contain an assignment statement + within the logging function call argument list, which would set a + variable as side effect of evaluating the function call arguments. + + These embedded assignments are problematic since the logging function + calls have been replaced by ViceLog macros, which avoid the overhead of + a function call depending on logging levels. + + Remove the embedded assignments within the logging argument lists so the + variables are always set regardless of the logging level. + + Reviewed-on: https://gerrit.openafs.org/13211 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Joe Gorse <jhgorse@gmail.com> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 472d6b1ee2f7de415e0fa0f8be0636f86956b6fc) + + Change-Id: I230f71022a58445c99adc67ae1b888caa4ce260e + Reviewed-on: https://gerrit.openafs.org/13218 + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit b9603bfb27c3c1d5ae90ed68545a4dd9fe9da862 +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Mon May 8 17:50:00 2017 -0400 + + ubik: disambiguate "Synchonize database with server" msgs + + Ubik issues the same message in two very different cases: + - sync server issues DISK_GetFile to obtain the latest version + - non-sync server receives DISK_SendFile from the sync server + + Modify the messages so they provide more information and are + distinguishable from each other. + + Reviewed-on: https://gerrit.openafs.org/12615 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit b9fe4d4290ad19faf3b5fb5dc0c3b1ee3ee5ab69) + + Change-Id: I806c2ce5ada097b07022d8c4da81f613a3f9989c + Reviewed-on: https://gerrit.openafs.org/13186 + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Joe Gorse <jhgorse@gmail.com> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 354fef1f0af9272cd5bf1e8a6466a3b727dcc08d +Author: Michael Meffie <mmeffie@sinenomine.net> +Date: Mon Apr 25 11:06:11 2016 -0400 + + ubik: convert ubik_print to ViceLog + + Use the server logging macros instead of the utility functions to avoid + function call overhead, especially at logging level 25. The server + logging macros perform a logging level check in-line to avoid the + unnecessary ubik_dprint* calls. + + Reviewed-on: https://gerrit.openafs.org/12619 + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + (cherry picked from commit 343234d221ae8388f55748f5c494a42d5d69bfa0) + + Change-Id: Icdb60f75a0c6c6efc7793d545f0565c0cd587eae + Reviewed-on: https://gerrit.openafs.org/13153 + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Mark Vitale <mvitale@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> + +commit 3143627f9b7f91743a85cd8fd8f00f913a31f17c +Author: Mark Vitale <mvitale@sinenomine.net> +Date: Tue Sep 11 16:29:59 2018 -0400 + + butc: repair build error + + Commit c43169fd36348783b1a5a55c5bb05317e86eef82 introduced a build error + by invoking TLog with an extraneous set of internal parentheses. + + Remove the offending parentheses. + + Reviewed-on: https://gerrit.openafs.org/13311 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> + (cherry picked from commit 91bab84e7a3b7de2591c475ba4912b0db8899f05) + + Change-Id: I06df561daf37330e6fdd9c9d41b55daa4d6b3886 + Reviewed-on: https://gerrit.openafs.org/13328 + Tested-by: BuildBot <buildbot@rampaginggeek.com> + Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> + Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> + Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> + Reviewed-by: Andrew Deason <adeason@sinenomine.net> + Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> diff --git a/README.SUSE.openafs b/README.SUSE.openafs new file mode 100644 index 0000000..806e061 --- /dev/null +++ b/README.SUSE.openafs @@ -0,0 +1,109 @@ +Here is described installation of openafs server and client on SUSE linux. + +This text is based on AFS Quick Start Guide. The differences are: + - paths are adapted to SUSE installation + - uses Kerberos 5 authentization + +Complete OpenAFS documentation is at http://openafs.org + +SERVER SETUP +============ + +# choose an AFS cell name and a Kerberos realm name, the simplest setup is: +# - AFS cell name equal to DNS domain name +# - Kerberos realm name equal to uppercase AFS cell name + +# create a partition for AFS filesystem and mount it under /vicepa + +# start bosserver +/usr/sbin/bosserver -noauth & + +# setup basic cell information +bos setcellname your.afs.server your.cell.name -noauth + +# setup database servers processes +bos create your.afs.server ptserver simple /usr/lib/openafs/ptserver -cell your.cell.name -noauth +bos create your.afs.server buserver simple /usr/lib/openafs/buserver -cell your.cell.name -noauth +bos create your.afs.server vlserver simple /usr/lib/openafs/vlserver -cell your.cell.name -noauth + +# If you want to use the old afs authentization (not recommended): +# bos addkey your.afs.server -kvno 0 -cell your.cell.name -noauth + +# Authentication against heimdal krb5 server + +# Here you can set up kerberos realm if you dont have any, +# see documentation in package krb5-doc + +# restart kdc +rckrb5kdc restart +rckrb524d restart + +# create afs principal in kerberos database +kadmin.local + add_principal afs@YOUR.KERBEROS.REALM # create afs key, use random password + ktremove -k /etc/krb5.keytab afs all # delete old afs key if any + + # export the afs key to external keytab + # note the key version number (kvno), you will need it later for asetkey + ktadd -e des-cbc-crc:v4 afs@YOUR.KERBEROS.REALM + + add_principal admin@YOUR.KERBEROS.REALM # create admin principal + + quit # end kadmin.local + +rm /etc/openafs/server/KeyFile # delete the old afs key file if any + +# convert the afs key from /etc/krb5.keytab to /etc/openafs/server/KeyFile +# use <kvno> displayed by ktadd +asetkey add <kvno> /etc/krb5.keytab afs + +# give admin the permissions to control bosserver +bos adduser your.afs.server admin -cell your.cell.name -noauth + +# add admin to group system:administrators +pts createuser -name admin -id <user id> -cell your.cell.name -noauth +pts adduser admin system:administrators -cell your.cell.name -noauth + +# restart bos server +bos restart your.afs.server -all -cell your.cell.name -noauth + +# create fileserver processes +bos create your.afs.server fs fs /usr/lib/openafs/fileserver /usr/lib/openafs/volserver /usr/lib/openafs/salvager -cell your.cell.name -noauth + +# create root volume +vos create your.afs.server /vicepa root.afs -cell your.cell.name -noauth + +# restart bosserver with security enabled +rcopenafs-fileserver restart + + +CLIENT SETUP +============ + +IMPORTANT: Unfortunately, openafs client for linux kernel 2.6 has not reached +stable state yet. There may be problems. + +edit /etc/sysconfig/openafs-client, set at least + REGENERATE_CELL_INFO="yes" + THIS_CELL="your.cell.name" + THIS_CELL_SERVER="your.afs.server" + + If you are configuring first afs server and the volume root.cell does not + exist yet, you have to set also DYNROOT=no. After finishing the server + installaton it is better to change DYNROOT back to 'yes' as the client + behaves better on startup with network outage. + +# start afs client +rcopenafs-client start + +# login as admin +kinit admin +aklog -d # convert Kerberos 5 ticket to AFS token + +To enable transparent login via pam, install package pam_krb5 +and add 'call_modules=krb5afs' to /etc/security/pam_unix2.conf +For details look at pam_krb5afs(5), pam_krb5afs(8) and pam_unix2(8) manpages. + +Now you have working afs server and client. You can continue with chapter +"Configuring the Top Levels of the AFS Filespace" of AFS Quick Start Guide. + diff --git a/RELNOTES-1.8.3 b/RELNOTES-1.8.3 new file mode 100644 index 0000000..a5c230f --- /dev/null +++ b/RELNOTES-1.8.3 @@ -0,0 +1,59 @@ + User-Visible OpenAFS Changes + +OpenAFS 1.8.3 + + All platforms + + * Improved diagnostics and error messages (13186 13411 13417) + + * Avoid sending RX packets with random garbage in the userStatus field + (13332) + + * Fixed detection of the RX initialization status (13416) + + * Assorted fixes to avoid segmentation faults and other potential problems + by detecting internal errors rather than letting them go unnoticed + (13329 13372) + + All server platforms + + * Fixed a build problem accidentally introduced in release 1.8.2 (13328) + + * Assorted efficiency improvements in the ubik implementation (13153 13218 + 13188 13353) + + * Fixed locking around transaction list processing in volserver to avoid + segmentation faults and other potential problems (13336 13337) + + * When the volserver attempts to remove a temporary volume after a + transaction, but the volume was already removed, e.g., by the salvager, + this is no longer treated as an error (13235) + + All client platforms + + * Update the CellServDB to the latest version from grand.central.org from + May 14th 2018 (13409) + + * Avoid a panic during cache initialization when allocating the required + memory fails (13307) + + * Add back the packet counters and timestamps to "vos status" output + which had been missing since release 1.8.0 (13421) + + * Correctly handle errors encountered while reading data from the server + and writing it to the cache, e.g., due to a full cache partition (13443) + + * Avoid a panic due to a recoverable error while flushing cache items + (13503) + + Linux clients + + * Support mainline kernels 4.20 and 5.0 and distribution kernels with + backports from those (13405 13406 13440 13441 13442) + + * DKMS-related fixes in Red Hat packaging (13438 13479) + + macOS + + * Support building and packaging on macOS 10.14 "Mojave" (13412 13413) + diff --git a/add_arch_to_linux_kernel_make.patch b/add_arch_to_linux_kernel_make.patch new file mode 100644 index 0000000..e9fd03a --- /dev/null +++ b/add_arch_to_linux_kernel_make.patch @@ -0,0 +1,11 @@ +--- openafs-1.8.0//src/libafs/MakefileProto.LINUX.in.orig 2018-06-27 07:57:10.916249040 +0200 ++++ openafs-1.8.0//src/libafs/MakefileProto.LINUX.in 2018-06-27 07:57:56.492849436 +0200 +@@ -320,7 +320,7 @@ + ${LINUX_LIBAFS_NAME}.ko afspag.ko: .FORCE + env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common + ( env EXTRA_CFLAGS="${EXTRA_CFLAGS}" \ +- $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules 2>&1 \ ++ $(MAKE) -C ${LINUX_KERNEL_BUILD} ${LINUX_MAKE_ARCH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules 2>&1 \ + || echo "FAILURE: make exit code $$?" ) | tee .makelog + @if grep -E -q '^(FAILURE|WARNING)' .makelog; then \ + grep -q '^WARNING' .makelog && echo "Error: Undefined symbols in modules" ; \ diff --git a/dir_layout.patch b/dir_layout.patch new file mode 100644 index 0000000..3896588 --- /dev/null +++ b/dir_layout.patch @@ -0,0 +1,17 @@ +--- openafs-1.8.3/src/cf/dirpaths.m4.orig 2019-04-30 13:38:33.411870333 +0200 ++++ openafs-1.8.3/src/cf/dirpaths.m4 2019-04-30 13:48:06.182604169 +0200 +@@ -20,10 +20,10 @@ + afssrvbindir=${afssrvbindir='${bindir}'} + afssrvsbindir=${afssrvsbindir='${sbindir}'} + afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'} +- afsdbdir=${afsdbdir='${localstatedir}/openafs/db'} +- afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'} +- afslocaldir=${afslocaldir='${localstatedir}/openafs'} +- afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'} ++ afsdbdir=${afsdbdir='/var/lib/openafs/db'} ++ afslogsdir=${afslogsdir='/var/log/openafs'} ++ afslocaldir=${afslocaldir='/var/lib/openafs'} ++ afsbackupdir=${afsbackupdir='/var/lib/openafs/backup'} + afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'} + afsdatadir=${afsdatadir='${datadir}/openafs'} + fi diff --git a/kernel-source.build-modules.sh b/kernel-source.build-modules.sh new file mode 100644 index 0000000..aefea60 --- /dev/null +++ b/kernel-source.build-modules.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +if [ $# != 1 ]; then + echo building a openafs-kernel module for the running kernel + echo Need one of: build build_debug install + exit 1 +fi + +LOGFILE=libafs_tree/build.log +kernel_flavour=`uname -r | awk -F- '{print $NF}'` +kernel_version=`uname -r | sed "s/-$kernel_flavour//"` +arch=`uname -m` + +suse_flavour=`cat /etc/SuSE-release | head -1 | awk '{print $1}' ` +suse_version=`cat /etc/SuSE-release | grep VERSION | awk '{print $NF}' ` + +echo This SuSE is version \"$suse_version\" of flavour \"$suse_flavour\" +echo you are running the kernel \"$kernel_version\" of flavour \"$kernel_flavour\" on \"$arch\" +echo all output is saved into $LOGFILE + +if [ $1 == "build_debug" ]; then + DEBUG_OPT="--enable-debug-kernel" +fi + +if [ $1 == "build" -o $1 == "build_debug" ]; then + cd libafs_tree + echo calling configure... + ./configure --with-linux-kernel-headers=/usr/src/linux/ --with-linux-kernel-build=/usr/src/linux-obj/$arch/$kernel_flavour $DEBUG_OPT > build.log 2>&1 + if [ $? != 0 ]; then + echo configure failed! See $LOGFILE for details + exit $? + fi + echo calling make + make >> build.log 2>&1 + if [ $? != 0 ]; then + echo make failed! See $LOGFILE for details + exit $? + fi + echo + echo build sucessfull! + echo Now run $0 install to install the kernel-modules + exit 0 +fi + + +if [ $1 == "install" ]; then + module_files="afspag.ko libafs.ko" + build_dir=libafs_tree/src/libafs/MODLOAD-$kernel_version-$kernel_flavour-MP/ + install_dir=/lib/modules/$kernel_version-$kernel_flavour + echo installing kernel-modules into + for mod in $module_files; do + cp -v $build_dir/$mod $install_dir/$mod + done + /sbin/depmod -a +fi diff --git a/ld.conf.openafs b/ld.conf.openafs new file mode 100644 index 0000000..c03158b --- /dev/null +++ b/ld.conf.openafs @@ -0,0 +1 @@ +/usr/lib64/openafs diff --git a/logrotate.openafs-server b/logrotate.openafs-server new file mode 100644 index 0000000..55f0523 --- /dev/null +++ b/logrotate.openafs-server @@ -0,0 +1,11 @@ +/var/log/openafs/*Log { + daily + compress + dateext + rotate 7 + olddir /var/log/openafs/old + missingok + notifempty + create 640 root root + copytruncate +} diff --git a/openafs-1.8.3-doc.tar.bz2.md5 b/openafs-1.8.3-doc.tar.bz2.md5 new file mode 100644 index 0000000..4be2b26 --- /dev/null +++ b/openafs-1.8.3-doc.tar.bz2.md5 @@ -0,0 +1 @@ +a10f9d79400352cdec886308c1936b52 openafs-1.8.3-doc.tar.bz2 diff --git a/openafs-1.8.3-doc.tar.bz2.sha256 b/openafs-1.8.3-doc.tar.bz2.sha256 new file mode 100644 index 0000000..79daeb1 --- /dev/null +++ b/openafs-1.8.3-doc.tar.bz2.sha256 @@ -0,0 +1 @@ +58da20546b5ad6ab8aebf3e701f13e61910a1a95f275bef762c319172c6c5593 openafs-1.8.3-doc.tar.bz2 diff --git a/openafs-1.8.3-src.tar.bz2.md5 b/openafs-1.8.3-src.tar.bz2.md5 new file mode 100644 index 0000000..b51f80d --- /dev/null +++ b/openafs-1.8.3-src.tar.bz2.md5 @@ -0,0 +1 @@ +1ede289bbfacf71dab09b20978b7e11a openafs-1.8.3-src.tar.bz2 diff --git a/openafs-1.8.3-src.tar.bz2.sha256 b/openafs-1.8.3-src.tar.bz2.sha256 new file mode 100644 index 0000000..10878c5 --- /dev/null +++ b/openafs-1.8.3-src.tar.bz2.sha256 @@ -0,0 +1 @@ +ead9c16c50404b98b06e1d22fb6359880bfc6e93a6108a12e5e4e1c73b64cea5 openafs-1.8.3-src.tar.bz2 diff --git a/openafs-1.8.x.ncurses6.patch b/openafs-1.8.x.ncurses6.patch new file mode 100644 index 0000000..7c86855 --- /dev/null +++ b/openafs-1.8.x.ncurses6.patch @@ -0,0 +1,13 @@ +--- a/src/cf/curses.m4.orig 2018-01-07 08:17:41.815732371 +0100 ++++ b/src/cf/curses.m4 2018-01-07 08:23:50.585670554 +0100 +@@ -19,7 +19,9 @@ + AC_CHECK_LIB([ncurses], [initscr], + [AC_CHECK_LIB([ncurses], [LINES], [openafs_cv_curses_lib=-lncurses], + [AC_CHECK_LIB([tinfo], [LINES], +- [openafs_cv_curses_lib="-lncurses -ltinfo"])])]) ++ [openafs_cv_curses_lib="-lncurses -ltinfo"], ++ [AC_CHECK_LIB([ncurses], [_nc_LINES], [openafs_cv_curses_lib=-lncurses], ++ [AC_CHECK_LIB([tinfo], [_nc_LINES], [openafs_cv_curses_lib="-lncurses -ltinfo"])])])])]) + AS_IF([test "x$openafs_cv_curses_lib" = x], + [AC_CHECK_LIB([Hcurses], [initscr], [openafs_cv_curses_lib=-lHcurses])]) + AS_IF([test "x$openafs_cv_curses_lib" = x], diff --git a/openafs-client.service b/openafs-client.service new file mode 100644 index 0000000..7ae040b --- /dev/null +++ b/openafs-client.service @@ -0,0 +1,21 @@ +[Unit] +Description=OpenAFS Client +Wants=network-online.target +After=syslog.target network-online.target +Before=remote-fs.target + +[Service] +Type=forking +RemainAfterExit=true +EnvironmentFile=/etc/sysconfig/openafs-client +ExecStartPre=/sbin/modprobe libafs +ExecStart=/usr/sbin/afsd $AFSD_ARGS +ExecStartPost=/usr/bin/fs sysname $SYSNAME +ExecStartPost=/usr/bin/fs setcrypt $CRYPT +ExecStop=/usr/bin/umount /afs +ExecStop=/usr/sbin/afsd -shutdown +ExecStop=/sbin/rmmod libafs +KillMode=none + +[Install] +WantedBy=multi-user.target remote-fs.target diff --git a/openafs-fuse-client.service b/openafs-fuse-client.service new file mode 100644 index 0000000..043a106 --- /dev/null +++ b/openafs-fuse-client.service @@ -0,0 +1,19 @@ +[Unit] +Description=OpenAFS Client Service +Wants=network-online.target +After=syslog.target network-online.target +Before=remote-fs.target + +[Service] +Type=forking +RemainAfterExit=true +EnvironmentFile=/etc/sysconfig/openafs-fuse-client +ExecStart=/usr/sbin/afsd.fuse $AFSD_ARGS +ExecStartPost=/usr/bin/fs sysname $SYSNAME +ExecStartPost=/usr/bin/fs setcrypt $CRYPT +ExecStop=/usr/bin/umount /afs +ExecStop=/usr/sbin/afsd.fuse -shutdown +KillMode=none + +[Install] +WantedBy=multi-user.target remote-fs.target diff --git a/openafs-server.service b/openafs-server.service new file mode 100644 index 0000000..3bca87e --- /dev/null +++ b/openafs-server.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenAFS Server +After=syslog.target network.target + +[Service] +EnvironmentFile=-/etc/sysconfig/openafs-server +ExecStart=/usr/sbin/bosserver -nofork $BOSSERVER_ARGS +ExecStop=/usr/sbin/bos shutdown localhost -wait -localauth + +[Install] +WantedBy=multi-user.target diff --git a/openafs.CellAlias b/openafs.CellAlias new file mode 100644 index 0000000..5e63ab6 --- /dev/null +++ b/openafs.CellAlias @@ -0,0 +1 @@ +openafs.org openafs diff --git a/openafs.SuidCells b/openafs.SuidCells new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/openafs.SuidCells diff --git a/openafs.ThisCell b/openafs.ThisCell new file mode 100644 index 0000000..83ef971 --- /dev/null +++ b/openafs.ThisCell @@ -0,0 +1 @@ +openafs.org diff --git a/openafs.cacheinfo b/openafs.cacheinfo new file mode 100644 index 0000000..b2dc131 --- /dev/null +++ b/openafs.cacheinfo @@ -0,0 +1 @@ +/afs:/var/cache/openafs:102400 diff --git a/openafs.changes b/openafs.changes new file mode 100644 index 0000000..522d40f --- /dev/null +++ b/openafs.changes @@ -0,0 +1,580 @@ +------------------------------------------------------------------- +Sun Jul 28 18:34:40 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de> + +- disable compilation with LTO, does not work yet. + +------------------------------------------------------------------- +Tue Apr 30 10:17:44 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de> + +- update to 1.8.3 +- Require krb5-client for package openafs-client +- fix broken directory layout +- fix broken post-install script +- allow crypt to be set/unset on startup of client +- clean up source-filenames + +------------------------------------------------------------------- +Mon Mar 25 11:32:32 UTC 2019 - Jan Engelhardt <jengelh@inai.de> + +- Use source URLs. + +------------------------------------------------------------------- +Thu Mar 14 08:37:04 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de> + +- update to pre-release 1.8.3pre1 + * fix builds for Linux-kernels 4.20 and 5.0 + * other fixes, see RELNOTES-1.8.3pre1 + * remove obsolete Linux-4.20.patch + +------------------------------------------------------------------- +Wed Jan 16 11:28:27 UTC 2019 - christof.hanke@mpcdf.mpg.de + +- Fix build for Lunux-4.20: Linux-4.20.patch +- use proper log-directory: dir_layout.patch + +------------------------------------------------------------------- +Fri Sep 28 12:47:02 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org> + +- Fix build for aarch64 + +------------------------------------------------------------------- +Wed Sep 12 12:37:15 UTC 2018 - Jan Engelhardt <jengelh@inai.de> + +- Quote "*.c", and avoid unnecessary pass through xargs. + +------------------------------------------------------------------- +Wed Sep 12 10:41:43 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- update to security-release 1.8.2 + * fix CVE-2018-16947 (OPENAFS-SA-2018-001) + * fix CVE-2018-16948 (OPENAFS-SA-2018-002) + * fix CVE-2018-16949 (OPENAFS-SA-2018-003) + +------------------------------------------------------------------- +Wed Sep 12 05:46:01 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- add retpoline support + +------------------------------------------------------------------- +Sun Sep 9 08:14:26 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- update to version 1.8.1.1 +- Remove use_timespec64_for_kernel_4.18.patch. It is now integrated. + +------------------------------------------------------------------- +Thu Aug 16 14:02:44 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- Fix 32Bit build by adding + commit 554176bd236d772d670df9bdd2496facd5a4209a as + use_timespec64_for_kernel_4.18.patch + +------------------------------------------------------------------- +Thu Aug 16 07:53:42 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- Update to 1.8.1 +- Remove backporting patches for AArch64 build: + * add_support_fo_arm64_linux26.patch + * dont_require_AFS_SYSCALL.patch + * add_AFS_STRINGIZE_macro.patch + * avoid_double_param_in_arm64_kernel.patch + +------------------------------------------------------------------- +Wed Jun 27 19:09:41 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- adjust building of KMP to new kernels (see boo 1098050) + add patch add_arch_to_linux_kernel_make.patch for this +- add libtirpc-devel to BuildRequires: +- minor cleanups + +------------------------------------------------------------------- +Fri May 4 07:29:15 UTC 2018 - guillaume.gardet@opensuse.org + +- Update to 1.8.0 +- Fix AArch64 build by updating spec and backporting patches: + * add_support_fo_arm64_linux26.patch + * dont_require_AFS_SYSCALL.patch + * add_AFS_STRINGIZE_macro.patch + * avoid_double_param_in_arm64_kernel.patch + +------------------------------------------------------------------- +Thu Apr 19 16:53:21 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- remove package krb5-mit. It contained binaries for server and client. + Besides, client and server already had an implicit dependency on krb5. + Put the binaries to client and server-package respectively. +- Remove openafs-1.8.x.heimdal.patch and everything heimdal-related. + SUSE does not provide a proper heimdal and it's untested for a long + time. + +------------------------------------------------------------------- +Mon Apr 16 15:35:15 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- fdupes: use symlinks instead of hardlinks. Do not fdupe + /etc and /var + +------------------------------------------------------------------- +Fri Apr 6 10:53:13 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- fix dependencies between packages, so that fuse-client + can be installed. +- cleanup old sys-v sysconfig files and other minor fixes +- fix unit file for fuse-client + +------------------------------------------------------------------- +Mon Apr 2 20:59:53 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- build fuse-client unconditionally. +- do not build KMP on unsupported architectures so that overall + build succeeds. + +Wed Mar 28 05:39:53 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- rename binary backup to afs_backup. + - rename man pages and prefix "backup" in content +- prefix "scout" by "afs_" in man-page +- remove unnecessary macro indirection %ARCH +- replace hard-coded paths by macros +- make whitespace more consistent +- minor syntax and typo fixes + +------------------------------------------------------------------- +Sun Mar 18 23:34:56 UTC 2018 - jengelh@inai.de + +- Replace old $RPM_* vars (most of them) by macros. +- Replace unnecessary macro indirections like %bindir by %_bindir. + +------------------------------------------------------------------- +Thu Mar 15 08:28:10 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- cleanup last cleanup: also remove rc.* files + +------------------------------------------------------------------- +Tue Mar 6 10:03:44 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- cleanup package for Factory: + - rename package to openafs. + - remove sys-v init stuff. + - apply recommendations given in Request 581009 + +------------------------------------------------------------------- +Wed Feb 28 09:25:52 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- add compat macro for new _fillupdir macro introduced in Nov 2017 + +------------------------------------------------------------------- +Wed Feb 28 08:30:33 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- update to 1.8.0pre5 + +------------------------------------------------------------------- +Sun Jan 7 08:31:00 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- update to 1.8.0pre4 +- add patch for ncurses detection + +------------------------------------------------------------------- +Thu Dec 7 11:07:30 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- update to 1.8.0pre3 +- add integrity check of tar-balls + +------------------------------------------------------------------- +Fri Sep 1 20:07:48 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- do not strip binaries on install +- fix %postun server + +------------------------------------------------------------------- +Fri Sep 1 11:51:03 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- update to 1.8.0pre2 +- use a preamble-file for KMP +- sort/cleanup/beautify spec-file + +------------------------------------------------------------------- +Fri Sep 1 07:05:21 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- spec-file: + + use hardlinks for fdupes to provide correct header files in + kernel-source + + minor bugfixes, reorganization +- rename changes file to openafs18.changes + +------------------------------------------------------------------- +Thu Feb 9 14:41:57 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- rename package to openafs18-* so they don't override + stable openafs-1.6 ones +- move ld.so to main package -- was in server-packages + +------------------------------------------------------------------- +Tue Feb 7 11:23:22 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- enable building of KMP +- make openafs-krb5-mit package dependend on openafs-client package +- add ld.so - config to main package + +------------------------------------------------------------------- +Fri Jan 27 21:15:12 UTC 2017 - christof.hanke@rzg.mpg.de + +- remove pam, is not build on x86_64 and i596 + +------------------------------------------------------------------- +Mon Dec 26 18:59:09 UTC 2016 - christof.hanke@rzg.mpg.de + +- first version of 1.8 +- remove docs package, put man pages in induvidual packets +- remove layout-patch, deal with this in spec file directly + +------------------------------------------------------------------- +Sat Dec 3 14:56:56 UTC 2016 - christof.hanke@rzg.mpg.de + +- add new ChangeLog + +------------------------------------------------------------------- +Thu Dec 1 04:35:39 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.20 + +------------------------------------------------------------------- +Wed Nov 16 09:21:52 UTC 2016 - christof.hanke@rzg.mpg.de + +- add missing RemainAfterExit=true to client-systemd unit. + +------------------------------------------------------------------- +Tue Nov 15 09:28:55 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.19 + +------------------------------------------------------------------- +Tue Oct 4 11:19:50 UTC 2016 - aj@suse.com + +- Update README: Change SuSE to SUSE. + +------------------------------------------------------------------- +Thu Jul 21 07:52:14 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.18.2 + +------------------------------------------------------------------- +Fri Jun 24 04:42:48 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.18.1 + +------------------------------------------------------------------- +Tue May 10 15:19:28 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.18 + +Thu Mar 17 06:35:21 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.17 +- cleanup + +------------------------------------------------------------------- +Fri Dec 18 06:53:08 UTC 2015 - christof.hanke@rzg.mpg.de + +- update to version 1.6.16 +- remove fix for configure for new ncurses, now dealt with in + shipped package + +------------------------------------------------------------------- +Sat Nov 21 04:47:46 UTC 2015 - christof.hanke@rzg.mpg.de + +- start using change.log again +- fix configure test for new ncurses + +------------------------------------------------------------------- +Thu Jun 17 17:04:25 UTC 2010 - cseader@novell.com + +- update to version 1.4.12.1 + +------------------------------------------------------------------- +Wed Jan 25 21:39:00 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 23 15:58:43 CET 2006 - nadvornik@suse.cz + +- fixed kernel module to compile + +------------------------------------------------------------------- +Wed Jan 11 05:30:18 CET 2006 - mge@suse.de +- add openafs.SuidCells and openafs.CellServDB +- cleanup SPEC-file(s) +- finally adopt + sysconfig.transarcmode.openafs-client + rc.transarcmode.afs-server + rc.transarcmode.afs-client + to transarc mode; and fix a small typo in + rc.defaultmode.afs-client + +------------------------------------------------------------------- +Fri Jan 6 01:12:31 CET 2006 - mge@suse.de +- set "%defattr(-,root,root)" for transarcmode-file-lists +- fix lib64 build problem in transarcmode + +------------------------------------------------------------------- +Thu Jan 5 13:40:42 CET 2006 - mge@suse.de +- introduce transarc-mode and default-mode +- introduce "options" + +------------------------------------------------------------------- +Thu Dec 29 16:07:00 CET 2005 - mge@suse.de +- build for SLES 9 +- with heimdal krb5 support +- enable-largefile-fileserver + +------------------------------------------------------------------- +Wed Dec 21 16:09:26 CET 2005 - nadvornik@suse.cz + +- updated to 1.4.0 +- fixed dangerous compiler warnings + +------------------------------------------------------------------- +Mon Oct 31 12:37:05 CET 2005 - dmueller@suse.de + +- don't build as root + +------------------------------------------------------------------- +Fri Aug 26 12:51:02 CEST 2005 - nadvornik@suse.cz + +- fixed kernel module to build +- fixed sysconfig file name + +------------------------------------------------------------------- +Thu Jul 14 17:25:25 CEST 2005 - nadvornik@suse.cz + +- updated to 1.3.85 +- used LSB conforming init script names + +------------------------------------------------------------------- +Tue Jul 5 10:44:32 CEST 2005 - hare@suse.de + +- Update for linux 2.6.13. + +------------------------------------------------------------------- +Thu May 12 12:27:01 CEST 2005 - nadvornik@suse.cz + +- gcc4 fixes in kernel module + +------------------------------------------------------------------- +Tue Apr 12 17:02:34 CEST 2005 - nadvornik@suse.cz + +- fixed to compile with gcc4 + +------------------------------------------------------------------- +Wed Feb 23 12:08:07 CET 2005 - nadvornik@suse.cz + +- fixed memory leaks and 64bit fixes backported from 1.3.79 +- updated README.SUSE + +------------------------------------------------------------------- +Thu Feb 3 13:19:05 CET 2005 - nadvornik@suse.cz + +- updated to 1.3.78 + +------------------------------------------------------------------- +Mon Jan 31 15:58:33 CET 2005 - nadvornik@suse.cz + +- fixed afs.h to be usable from userspace [#50283] + +------------------------------------------------------------------- +Tue Jan 25 10:57:09 CET 2005 - nadvornik@suse.cz + +- updated to latest snapshot + +------------------------------------------------------------------- +Wed Sep 15 12:37:04 CEST 2004 - nadvornik@suse.cz + +- added requres: kernel-nongpl [#45167] +- fixed kernel module oops [#44618] + +------------------------------------------------------------------- +Wed Aug 11 15:51:03 CEST 2004 - nadvornik@suse.cz + +- use kernel module from openafs 1.3.70 to support kernel 2.6 + +------------------------------------------------------------------- +Mon Mar 08 17:18:49 CET 2004 - nadvornik@suse.cz + +- updated to 1.2.11 +- added note that client for kernel 2.6 is not available + +------------------------------------------------------------------- +Tue Jan 20 18:48:21 CET 2004 - ro@suse.de + +- added pam-devel to neededforbuild + +------------------------------------------------------------------- +Sat Dec 13 00:23:45 CET 2003 - meissner@suse.de + +- Added hack if no MTU came from userspace. +- Removed superflous ppc64 patch part. + +------------------------------------------------------------------- +Thu Dec 11 09:29:31 CET 2003 - meissner@suse.de + +- ppc64 port added (status: no longer crashes, talks to the network, + but not successfully). +- Change headerfiles to make it possible to do a ppc -> ppc64 crosscompile. + +------------------------------------------------------------------- +Mon Oct 6 17:30:17 CEST 2003 - olh@suse.de + +- build with -fPIC on ppc32 + +------------------------------------------------------------------- +Tue Sep 16 17:37:34 CEST 2003 - nadvornik@suse.cz + +- patch from cvs to use AllocLargeSpace for struct osi_file to prevent + oopses with some kernel configurations + +------------------------------------------------------------------- +Thu Sep 11 12:58:57 CEST 2003 - nadvornik@suse.cz + +- added option DYNROOT to sysconfig and enabled it by default [#27205] + +------------------------------------------------------------------- +Wed Sep 10 17:07:51 CEST 2003 - nadvornik@suse.cz + +- added cleanup before module build [#29649] + +------------------------------------------------------------------- +Tue Sep 09 18:33:38 CEST 2003 - nadvornik@suse.cz + +- fixed possible segfault + +------------------------------------------------------------------- +Thu Sep 04 12:30:00 CEST 2003 - nadvornik@suse.cz + +- set permissions of /var/lib/openafs to 700 +- README.SuSE fixes + +------------------------------------------------------------------- +Thu Aug 28 17:11:47 CEST 2003 - nadvornik@suse.cz + +- use ghost for /afs, the directory is created by init-script +- fixed README.SuSE + +------------------------------------------------------------------- +Thu Aug 21 14:32:58 CEST 2003 - nadvornik@suse.cz + +- moved all static libraries to /usr/lib/afs, fixes conflict with libdes +- used default value for THIS_CELL_SERVER_NAME +- removed old patches + +------------------------------------------------------------------- +Tue Aug 12 11:10:46 CEST 2003 - nadvornik@suse.cz + +- fixed a bug in init script + +------------------------------------------------------------------- +Mon Aug 11 18:26:28 CEST 2003 - nadvornik@suse.cz + +- updated to final 1.2.10 + +------------------------------------------------------------------- +Wed Jul 30 19:34:34 CEST 2003 - nadvornik@suse.cz + +- updated to 1.2.10-rc4 +- do not destroy CellServDB even if REGENERATE_CELL_INFO=yes +- fixed to compile on x86_64 + +------------------------------------------------------------------- +Wed Jul 30 14:25:46 CEST 2003 - sf@suse.de + +- use %_lib where it was missing + +------------------------------------------------------------------- +Wed Jul 09 19:20:55 CEST 2003 - nadvornik@suse.cz + +- fixed conflicts in filelist + +------------------------------------------------------------------- +Fri Jun 20 14:59:23 CEST 2003 - nadvornik@suse.cz + +- improved init scripts + +------------------------------------------------------------------- +Thu Jun 19 14:40:52 CEST 2003 - nadvornik@suse.cz + +- added README.SuSE +- fixed init scripts [#27426] +- installed man pages + +------------------------------------------------------------------- +Thu Jun 12 17:45:39 CEST 2003 - poeml@suse.de + +- add /usr/src/kernel-modules to the file list + +------------------------------------------------------------------- +Wed Jun 4 21:26:09 CEST 2003 - schwab@suse.de + +- Fix SMP configuration detection. + +------------------------------------------------------------------- +Wed May 14 12:28:04 CEST 2003 - poeml@suse.de + +- rework filelists: + - package/remove unpackaged files + - move some files into the server & client subpackages + - use %defattr +- fix deprecated tail -1 syntax (fixes building the kernel module) + +------------------------------------------------------------------- +Mon May 12 14:50:05 CEST 2003 - nadvornik@suse.cz + +- updated to 1.2.9 +- added DATA_ENCRYPTION option to sysconfig + +------------------------------------------------------------------- +Mon Mar 10 18:43:26 CET 2003 - poeml@suse.de + +- x86_64: add -lresolv, -fPIC +- fix lib path on all 64 bit platforms + +------------------------------------------------------------------- +Thu Mar 06 10:39:27 CET 2003 - nadvornik@suse.cz + +- added sysconfig metadata + +------------------------------------------------------------------- +Mon Feb 24 17:28:44 CET 2003 - nadvornik@suse.cz + +- added dirs /afs, /etc/openafs, /var/lib/openafs to filelist + +------------------------------------------------------------------- +Sun Feb 16 18:28:44 CET 2003 - olh@suse.de + +- workaround broken -lresolv detection, lib64 fixes + +------------------------------------------------------------------- +Wed Feb 12 16:42:07 CET 2003 - nadvornik@suse.cz + +- fixed multiline strings in kernel module + +------------------------------------------------------------------- +Fri Jan 24 11:11:23 CET 2003 - nadvornik@suse.cz + +- updated to 1.2.8 +- improved init script + +------------------------------------------------------------------- +Fri Nov 29 10:21:04 CET 2002 - nadvornik@suse.cz + +- included errno.h +- fixed multiline strings + +------------------------------------------------------------------- +Fri Nov 22 16:47:51 CET 2002 - nadvornik@suse.cz + +- first version of init scripts + +------------------------------------------------------------------- +Wed Nov 20 19:20:53 CET 2002 - poeml@suse.de + +- initial draft of a package. Lots of stuff missing, like init + scripts, or the kerberos 5 migration toolkit. + diff --git a/openafs.spec b/openafs.spec new file mode 100644 index 0000000..33f1595 --- /dev/null +++ b/openafs.spec @@ -0,0 +1,932 @@ +# +# spec file for package openafs +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# +# needssslcertforbuild + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} +%define _fillupdir /var/adm/fillup-templates +%endif +%define _lto_cflags %{nil} + +# +# TUNABLES +# + +# package-wide definitions here + +# build authlibs +%define build_authlibs 1 + +# build kernel modules +%define build_kernel_modules 1 + +# run regen to create new configure script +%define run_regen 1 + +# +# package internal directories +# +%define afslogsdir /var/log/openafs +%define afsconfdir /etc/openafs/server +%define viceetcdir /etc/openafs +%define vicecachedir /var/cache/openafs +%define afslocaldir /var/lib/openafs + +%ifarch ppc64le ppc64 +%define build_kernel_modules 0 +%endif + +%if %{_arch} == arm +%define build_kernel_modules 0 +%endif + +# used for %setup only +# leave upstream tar-balls untouched for integrity checks. +%define upstream_version 1.8.3 + +Name: openafs + +Version: 1.8.3 +Release: 0 +Summary: OpenAFS Distributed File System +License: IPL-1.0 +Group: System/Filesystems +Url: http://www.openafs.org/ + +Source0: http://www.openafs.org/dl/openafs/%{upstream_version}/openafs-%{upstream_version}-src.tar.bz2 +Source1: http://www.openafs.org/dl/openafs/%{upstream_version}/openafs-%{upstream_version}-doc.tar.bz2 +Source2: http://www.openafs.org/dl/openafs/%{upstream_version}/openafs-%{upstream_version}-src.tar.bz2.md5 +Source3: http://www.openafs.org/dl/openafs/%{upstream_version}/openafs-%{upstream_version}-doc.tar.bz2.md5 +Source4: http://www.openafs.org/dl/openafs/%{upstream_version}/openafs-%{upstream_version}-src.tar.bz2.sha256 +Source5: http://www.openafs.org/dl/openafs/%{upstream_version}/openafs-%{upstream_version}-doc.tar.bz2.sha256 +Source10: README.SUSE.openafs +Source15: logrotate.openafs-server +Source16: ld.conf.openafs +Source18: RELNOTES-%{upstream_version} +Source19: ChangeLog +Source20: kernel-source.build-modules.sh +Source23: openafs-client.service +Source25: openafs-server.service +Source26: openafs-fuse-client.service +Source27: sysconfig.openafs-client +Source28: sysconfig.openafs-server +Source29: sysconfig.openafs-fuse-client +Source30: preamble +Source55: openafs.SuidCells +Source56: openafs.CellAlias +Source57: openafs.ThisCell +Source58: openafs.cacheinfo +Source99: openafs.changes +# PATCH-SUSE-SPECIFIC use proper directory layout +Patch3: dir_layout.patch +# PATCH-FIX-UPSTREAM make configure detect ncurses 6 correctly +Patch4: openafs-1.8.x.ncurses6.patch +# PATCH-SUSE-SPECIFIC make KMP work again +Patch5: add_arch_to_linux_kernel_make.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +# +# GENERAL BuildRequires and Requires +# + +BuildRequires: automake +BuildRequires: bison +BuildRequires: coreutils +BuildRequires: fdupes +BuildRequires: flex +BuildRequires: fuse-devel +BuildRequires: git +BuildRequires: krb5-devel +BuildRequires: libtirpc-devel +BuildRequires: libtool +BuildRequires: ncurses-devel +BuildRequires: pkg-config + +%if 0%{?suse_version} < 1210 +Requires(post): %insserv_prereq +%endif +Requires(post): %fillup_prereq + +%if %{build_kernel_modules} +BuildRequires: %{kernel_module_package_buildreqs} +%endif + +%description +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +In addition, among its features are authentication, encryption, +caching, disconnected operations, replication for higher availability +and load balancing, and ACLs. + +%package server +Summary: OpenAFS File System Server +Group: System/Filesystems +Requires: %{name} = %{version} + +%description server +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +In addition, among its features are authentication, encryption, +caching, disconnected operations, replication for higher availability +and load balancing, and ACLs. This package contains the static +libraries and header files needed to develop applications for OpenAFS. + +%if %{build_authlibs} +%package authlibs +Summary: OpenAFS authentication shared libraries +Group: Development/Libraries/C and C++ + +%description authlibs +The AFS distributed filesystem. AFS is a distributed filesystem +allowing cross-platform sharing of files among multiple computers. +Facilities are provided for access control, authentication, backup and +administrative management. + +This package provides a shared version of libafsrpc and libafsauthent. +None of the programs included with OpenAFS currently use these shared +libraries; however, third-party software that wishes to perform AFS +authentication may link against them. + +%package authlibs-devel +Summary: OpenAFS shared library development +Group: Development/Libraries/C and C++ +Requires: %{name}-authlibs = %{version} +Requires: %{name}-devel = %{version} + +%description authlibs-devel +The AFS distributed filesystem. AFS is a distributed filesystem +allowing cross-platform sharing of files among multiple computers. +Facilities are provided for access control, authentication, backup and +administrative management. + +This package includes the static versions of libafsrpc and +libafsauthent, and symlinks required for building against the dynamic +libraries. + +%endif + +%package devel +Summary: OpenAFS Static Libraries and Header Files +Group: Development/Libraries/Other +Requires: %{name} = %{version} + +%description devel +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +In addition, among its features are authentication, encryption, +caching, disconnected operations, replication for higher availability +and load balancing, and ACLs. This package contains the OpenAFS server. + +%package kernel-source +Summary: OpenAFS Kernel Module source tree +Group: System/Filesystems +Requires: bison +Requires: flex +Requires: gcc +Requires: kernel-devel +Provides: openafs-kernel = %{version} + +%description kernel-source +The AFS distributed filesystem. AFS is a distributed filesystem +allowing cross-platform sharing of files among multiple computers. +Facilities are provided for access control, authentication, backup and +administrative management. + +This package provides the source code to build your own AFS kernel +module. + +%if %{build_kernel_modules} +%package KMP +Summary: OpenAFS Distributed File System - kernel module +Group: System/Kernel + +%kernel_module_package -x lockdep um pae -p %{S:30} + +%description KMP +This package contains the kernel module for OpenAFS. For details see +the openafs package. + +%endif + +%package fuse_client +Summary: OpenAFS FUSE File System Client +Group: System/Filesystems +Conflicts: %{name}-client +Requires: %{name} = %{version} + +%description fuse_client +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +This client is using the EXPERIMENTAL FUSE interface on LINUX. +It does not offer authentication etc. + +%package client +Summary: OpenAFS File System Client +Group: System/Filesystems +Requires: %{name} = %{version} +Requires: %{name}-kmp +Requires: krb5-client + +%description client +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +In addition, among its features are authentication, encryption, +caching, disconnected operations, replication for higher availability +and load balancing, and ACLs. This package contains the OpenAFS client. + + +%prep + +: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +: @@@ +: @@@ package-name: %{name} +: @@@ file-layout: fsh +: @@@ lib dir: %{_libdir} +: @@@ libexec dir: %{libexecdir} +: @@@ bin dir: %{_bindir} +: @@@ sbin dir: %{_sbindir} +: @@@ include dir: %{includedir} +: @@@ sysconf dir: %{_sysconfdir} +: @@@ man dir: %{_mandir} +: @@@ build modules: %{build_kernel_modules} +: @@@ architecture: %{_arch} +: @@@ target cpu: %{_target_cpu} +: @@@ +: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +for src_file in %{S:0} %{S:1}; do + if [ "`md5sum $src_file | awk '{print $1}'`" != "`cat $src_file.md5 | awk '{print $1}'`" ]; then + echo "ERROR: MD5-Integrity check for $src_file failed."; + exit 1 + fi + if [ "`sha256sum $src_file | awk '{print $1}'`" != "`cat $src_file.sha256 | awk '{print $1}'`" ]; then + echo "ERROR: SHA256-Integrity check for $src_file failed."; + exit 1 + fi +done + +%setup -q -n openafs-%{upstream_version} -T -b 0 -b 1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 + +./regen.sh + +%build +# architecture specific settings +sysbase=%{_arch} + +%ifarch ppc +perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.ppc_linux24.in +%endif +%ifarch ppc64 ppc64le +sysbase=ppc64 +export LDFLAGS="$LDFLAGS -m64" +%endif +%ifarch %{arm} +sysbase=arm +%endif +%ifarch aarch64 +sysbase=arm64 +%define _arch arm64 +%endif +%ifarch s390x +sysbase=s390 +%endif +%ifarch x86_64 +sysbase=amd64 +perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.amd64_linux24.in +perl -pi -e 's,^(XLIBS.*),\1 -lresolv,' src/config/Makefile.amd64_linux24.in +%endif + +afs_sysname=${sysbase}_linux26 + +RPM_OPT_FLAGS=`echo ${RPM_OPT_FLAGS} | sed s/-D_FORTIFY_SOURCE=2//` +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC" + +export KRB5LIBS='-lcom_err -lkrb5' +export PATH_KRB5_CONFIG=%{krb5_config} + +%configure \ + --disable-transarc-paths \ + --disable-pam \ + --disable-strip-binaries \ + --includedir=%{_includedir}/openafs \ + --sysconfdir=%{_sysconfdir} \ + --mandir=%{_mandir} \ + --with-afs-sysname=$afs_sysname \ + --disable-kernel-module + +make CCFLAGS="$CFLAGS" XCFLAGS="$CFLAGS" PAM_CFLAGS="$CFLAGS" KOPTS="$CFLAGS" all_nolibafs +make CCFLAGS="$CFLAGS" XCFLAGS="$CFLAGS" PAM_CFLAGS="$CFLAGS" KOPTS="$CFLAGS" only_libafs_tree + +# the test suite need a configured KDC +#make -C src/tests all + +# Kernel-module + +%if %{build_kernel_modules} +mkdir obj + +for flavor in %flavors_to_build; do + rm -rf obj/$flavor + cp -a libafs_tree obj/$flavor + pushd obj/$flavor + find . -name "*.c" -exec sed -i '/MODULE_LICENSE(/a MODULE_INFO(retpoline, "Y");' "{}" "+" + ./configure --with-linux-kernel-build=/usr/src/linux-obj/%{_target_cpu}/$flavor --with-linux-kernel-headers=/usr/src/linux \ + --disable-transarc-paths + export EXTRA_CFLAGS='-DVERSION=\"%version\"' +%ifnarch aarch64 + export KCFLAGS='-mindirect-branch=thunk-inline -mindirect-branch-register' +%endif + export LINUX_MAKE_ARCH="ARCH=%{_arch}" + make + popd +done +%endif + +%install + +# +# install build binaries using make + +make DESTDIR=%{buildroot} install_nolibafs + +# +# man-pages + +OLD_PWD=`pwd` +cd doc/man-pages +%make_install +cd $OLD_PWD + +# +# create directories +mkdir -p %{buildroot}/%_unitdir +mkdir -p %{buildroot}/%{afslogsdir}/old +mkdir -p %{buildroot}/%{_fillupdir} +mkdir -p %{buildroot}/%{vicecachedir} +mkdir -p %{buildroot}/%{viceetcdir} +mkdir -p %{buildroot}%{_datadir}/openafs/C +mkdir -p %{buildroot}/%{afsconfdir} +mkdir -p %{buildroot}/%{afslocaldir} +mkdir -p %{buildroot}/%{_sbindir} + +# +# client +cp -a src/afsd/CellServDB %{buildroot}/%{viceetcdir}/CellServDB +cp -a %{S:55} %{buildroot}/%{viceetcdir}/SuidCells +cp -a %{S:56} %{buildroot}/%{viceetcdir}/CellAlias +cp -a %{S:57} %{buildroot}/%{viceetcdir}/ThisCell +cp -a %{S:58} %{buildroot}/%{viceetcdir}/cacheinfo +cp -a src/afs/afszcm.cat %{buildroot}%{_datadir}/openafs/C +install -m 644 %{S:27} %{buildroot}/%{_fillupdir}/sysconfig.openafs-client +install -m 644 %{S:23} %{buildroot}/%_unitdir +ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-client + +# +# fuse client package +install -m 644 %{S:29} %{buildroot}/%{_fillupdir}/sysconfig.openafs-fuse-client +install -m 644 %{S:26} %{buildroot}/%_unitdir +ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-fuse-client + +# +# server +install -m 644 %{S:28} %{buildroot}/%{_fillupdir}/sysconfig.openafs-server +install -m 644 %{S:25} %{buildroot}/%_unitdir +ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-server + +# +# kernel-source +mkdir -p %{buildroot}/usr/src/kernel-modules/openafs +chmod -R o-w src/libafs +chmod -R o-w libafs_tree +cp -a libafs_tree %{buildroot}/usr/src/kernel-modules/openafs +install -m 755 %{S:20} %{buildroot}/usr/src/kernel-modules/openafs/build-modules.sh +install -m 644 LICENSE %{buildroot}/usr/src/kernel-modules/openafs/LICENSE + +# KMP +%if %{build_kernel_modules} +export INSTALL_MOD_PATH=%{buildroot} +export INSTALL_MOD_DIR=updates + +for flavor in %flavors_to_build; do + make -C /usr/src/linux-obj/%{_arch}/$flavor %{?linux_make_arch} modules_install \ + M=$PWD/`find obj/$flavor/ -name MODLOAD-\* -type d` +done +%endif + +# +# main package +cp -a %{S:10} README.SUSE +cp -a %{S:18} RELNOTES +cp -a %{S:19} ChangeLog +mkdir -p %{buildroot}/etc/ld.so.conf.d +cp -a %{S:16} %{buildroot}/etc/ld.so.conf.d/openafs.conf + +# move some bin to sbin +mv %{buildroot}/%{_bindir}/asetkey %{buildroot}/%{_sbindir}/asetkey +mv %{buildroot}/%{_bindir}/bos %{buildroot}/%{_sbindir}/bos +mv %{buildroot}/%{_bindir}/akeyconvert %{buildroot}/%{_sbindir}/akeyconvert +mv %{buildroot}/%{_bindir}/udebug %{buildroot}/%{_sbindir}/udebug + +# avoid conflicts with other packages by adding the prefix afs_ to filenames +mv %{buildroot}%{_bindir}/scout %{buildroot}%{_bindir}/afs_scout +cat %{buildroot}/%{_mandir}/man1/scout.1 | sed 's/\<scout\>/afs_scout/g' > %{buildroot}/%{_mandir}/man1/afs_scout.1 +rm %{buildroot}/%{_mandir}/man1/scout.1 +mv %{buildroot}%{_sbindir}/backup %{buildroot}%{_sbindir}/afs_backup +OLD_PWD=`pwd` +cd %{buildroot}/%{_mandir}/man8/ +for f in $(ls backup*); do + cat $f | sed 's/\<backup\>/afs_backup/g' > afs_"$f" + rm $f +done +cd $OLD_PWD + +# create manpage for afsd.fuse as a real file +rm %{buildroot}/%{_mandir}/man8/afsd.fuse.8 +cp -p %{buildroot}/%{_mandir}/man8/afsd.8 %{buildroot}/%{_mandir}/man8/afsd.fuse.8 + +# move %%{_libdir}/afs-stuff to %%{_libdir}/openafs +mv %{buildroot}/%{_libdir}/afs/* %{buildroot}/%{_libdir}/openafs +mv %{buildroot}/%{_libdir}/*.* %{buildroot}/%{_libdir}/openafs +rm -rf %{buildroot}/%{_libdir}/afs + +# +# general cleanup +# + +# we supposedly don't need this on linux +rm %{buildroot}/%{_sbindir}/rmtsysd + +%if %{build_authlibs} == 0 +rm %{buildroot}/%{_libdir}/libafsauthent.so.* +rm %{buildroot}/%{_libdir}/libafsrpc.so.* +rm %{buildroot}/%{_libdir}/libkopenafs.so.* +rm %{buildroot}/%{_libdir}/libafsauthent.so +rm %{buildroot}/%{_libdir}/libafsrpc.so +rm %{buildroot}/%{_libdir}/libkopenafs.so +%endif + +# remove all static libraries +find %{buildroot} -type f -name "*.a" -delete + +# remove unused man pages +for x in dlog symlink symlink_list symlink_make symlink_remove; do + rm %{buildroot}/%{_mandir}/man1/${x}.1 +done +for x in rmtsysd xfs_size_check aklog_dynamic_auth; do + rm %{buildroot}/%{_mandir}/man8/${x}.8 +done + +# compress man pages +OLD_PWD=`pwd` +for d in %{buildroot}%{_mandir}/man*; do + cd $d + for f in *; do + if [ -h $f ]; then + mv $f $f.gz + elif [ -f $f ];then + gzip -9 $f + else + echo "Unknown thing to compress : $f" + fi + done +done +cd $OLD_PWD + +# replace duplicates by symlinks +%fdupes -s %{buildroot}/usr + +# +# main + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post kernel-source +echo To install the kernel-module, do: +echo cd /usr/src/kernel-modules/openafs +echo sh ./build-modules.sh build +echo sh ./build-modules.sh install + +# +# fuse client + +%pre fuse_client +%service_add_pre openafs-fuse-client.service + +%preun fuse_client +%service_del_preun openafs-fuse-client.service +%{stop_on_removal} + +%post fuse_client +if [ ! -d /afs ]; then + mkdir /afs +fi +%{fillup_only -n openafs-fuse-client} +%service_add_post openafs-fuse-client.service +/sbin/ldconfig + +if [ "x$1" = "x" ]; then + my_operation=0 +else + my_operation=$1 +fi + +if [ $my_operation -gt 1 ]; then + echo Not stopping the possibly running client. + echo You must restart the client to put the upgrade into effect. +else + echo This is the experimental FUSE implementation of the openafs-client + echo Please configure your cell like with the in-kernel openafs-client + echo authentication etc. is not implemented yet in this version. +fi + +%postun fuse_client +%service_del_postun openafs-fuse-client.service +if [ -d /afs ]; then + echo make sure to remove directory /afs if unwanted. +fi +/sbin/ldconfig + +# +# client + +%pre client +%service_add_pre openafs-client.service + +%post client +if [ ! -d /afs ]; then + mkdir /afs +fi +/sbin/ldconfig +%{fillup_only -n openafs-client} +%service_add_post openafs-client.service + +if [ "x$1" = "x" ]; then + my_operation=0 +else + my_operation=$1 +fi +if [ $my_operation -gt 1 ]; then + echo Not stopping the possibly running client. + echo You must restart the client to put the upgrade into effect. +else + echo For configuring the client, please check /etc/sysconfig/openafs-client + echo and/or follow the instructions found on http://www.openafs.org how to install an openafs-client. +fi + +%preun client +%{stop_on_removal} +%service_del_preun openafs-client.service + +%postun client +if [ -d /afs ]; then + echo make sure to remove directory /afs if unwanted. +fi +/sbin/ldconfig +%service_del_postun openafs-client.service + +# +# server + +%pre server +%service_add_pre openafs-server.service + +%post server +/sbin/ldconfig +%{fillup_only -n openafs-server} +%service_add_post openafs-server.service + +if [ "$FIRST_ARG" -gt 1 ]; then + # update no new install + echo Not stopping the possibly running services. + echo You must restart the service to put the upgrade into effect. + if [ -d /var/openafs ]; then + echo To upgrade, stop the server, copy the contents of /var/openafs to /var/lib/openafs, + echo remove the empty directory /var/openafs and then start the server again. + fi +else + echo For configuring the server, please check /etc/sysconfig/openafs-server + echo and/or follow the instructions found on http://www.openafs.org to install an openafs-client. +fi + +%preun server +%service_del_preun openafs-server.service +%{stop_on_removal} + +%postun server +/sbin/ldconfig +%service_del_postun openafs-server.service + +# +# devel + +%post devel + +%postun devel + +# +# authlibs + +%if %{build_authlibs} +%post authlibs + +%postun authlibs +%endif + +# +# FILES +# + +%files +%defattr(-,root,root) +%config /etc/ld.so.conf.d/openafs.conf +%config(noreplace) %{viceetcdir}/CellAlias +%config(noreplace) %{viceetcdir}/CellServDB +%config(noreplace) %{viceetcdir}/ThisCell +%dir %{viceetcdir} +%doc %{_mandir}/man5/afsmonitor.5.gz +%doc %{_mandir}/man1/afs.1.gz +%doc %{_mandir}/man1/afs_compile_et.1.gz +%doc %{_mandir}/man1/afs_scout.1.gz +%doc %{_mandir}/man1/afsmonitor.1.gz +%doc %{_mandir}/man1/cmdebug.1.gz +%doc %{_mandir}/man1/pts.1.gz +%doc %{_mandir}/man1/pts_*.gz +%doc %{_mandir}/man1/restorevol.1.gz +%doc %{_mandir}/man1/rxdebug.1.gz +%doc %{_mandir}/man1/sys.1.gz +%doc %{_mandir}/man1/translate_et.1.gz +%doc %{_mandir}/man1/udebug.1.gz +%doc %{_mandir}/man1/vos.1.gz +%doc %{_mandir}/man1/vos_*gz +%doc %{_mandir}/man1/xstat_cm_test.1.gz +%doc %{_mandir}/man1/xstat_fs_test.1.gz +%doc %{_mandir}/man5/CellAlias.5.gz +%doc %{_mandir}/man5/CellServDB.5.gz +%doc %{_mandir}/man5/NetInfo.5.gz +%doc %{_mandir}/man5/NetRestrict.5.gz +%doc %{_mandir}/man5/ThisCell.5.gz +%doc %{_mandir}/man5/afs.5.gz +%doc %{_mandir}/man5/butc.5.gz +%doc %{_mandir}/man5/butc_logs.5.gz +%doc %{_mandir}/man5/fms.log.5.gz +%doc %{_mandir}/man5/sysid.5.gz +%doc %{_mandir}/man5/uss.5.gz +%doc %{_mandir}/man5/uss_*.5.gz +%doc %{_mandir}/man8/afs_backup.8.gz +%doc %{_mandir}/man8/afs_backup_*.8.gz +%doc %{_mandir}/man8/bos.8.gz +%doc %{_mandir}/man8/bos_[a-t]*.8.gz +%doc %{_mandir}/man8/bos_uninstall.8.gz +%doc %{_mandir}/man8/butc.8.gz +%doc %{_mandir}/man8/fms.8.gz +%doc %{_mandir}/man8/read_tape.8.gz +%doc %{_mandir}/man8/uss.8.gz +%doc %{_mandir}/man8/uss_*.8.gz +%doc %{_mandir}/man8/vsys.8.gz +%doc NEWS README* RELNOTES ChangeLog +%{_bindir}/afs_compile_et +%{_bindir}/afs_scout +%{_bindir}/afsio +%{_bindir}/afsmonitor +%{_bindir}/cmdebug +%{_bindir}/pts +%{_bindir}/restorevol +%{_bindir}/sys +%{_bindir}/translate_et +%{_bindir}/xstat_cm_test +%{_bindir}/xstat_fs_test +%{_libdir}/openafs/libafshcrypto.so.* +%{_libdir}/openafs/librokenafs.so.* +%{_sbindir}/afs_backup +%{_sbindir}/bos +%{_sbindir}/butc +%{_sbindir}/fms +%{_sbindir}/read_tape +%{_sbindir}/rxdebug +%{_sbindir}/udebug +%{_sbindir}/uss +%{_sbindir}/vos +%{_sbindir}/vsys + +%files fuse_client +%defattr(-,root,root) +%{_sbindir}/afsd.fuse +%{_sbindir}/rcopenafs-fuse-client +%config(noreplace) %{viceetcdir}/SuidCells +%config(noreplace) %{viceetcdir}/cacheinfo +%doc %{_mandir}/man8/afsd.fuse.8.gz +%_unitdir/openafs-fuse-client.service +%{_fillupdir}/sysconfig.openafs-fuse-client +%{vicecachedir} + +%files client +%defattr(-,root,root) + %{_bindir}/fs + %{_bindir}/aklog + %{_bindir}/klog.krb5 + %{_bindir}/pagsh + %{_bindir}/pagsh.krb + %{_bindir}/tokens + %{_bindir}/tokens.krb + %{_bindir}/unlog + %{_bindir}/up + %{_sbindir}/afsd + %{_sbindir}/fstrace +%doc %{_mandir}/man1/fs.1.gz +%doc %{_mandir}/man1/fs_*.1.gz +%doc %{_mandir}/man1/aklog.1.gz +%doc %{_mandir}/man1/klog.krb5.1.gz +%doc %{_mandir}/man1/pagsh.1.gz +%doc %{_mandir}/man1/pagsh.krb.1.gz +%doc %{_mandir}/man1/tokens.1.gz +%doc %{_mandir}/man1/tokens.krb.1.gz +%doc %{_mandir}/man1/unlog.1.gz +%doc %{_mandir}/man1/up.1.gz +%doc %{_mandir}/man8/afsd.8.gz +%doc %{_mandir}/man8/fstrace.8.gz +%doc %{_mandir}/man8/fstrace_*.8.gz +%_unitdir/openafs-client.service +%doc %{_mandir}/man1/copyauth.1.gz +%doc %{_mandir}/man5/cacheinfo.5.gz +%doc %{_mandir}/man5/afs_cache.5.gz +%dir %{_datadir}/openafs +%dir %{_datadir}/openafs/C +%{_datadir}/openafs/C/afszcm.cat +%doc %{_mandir}/man5/afszcm.cat.5.gz +%config(noreplace) %{viceetcdir}/SuidCells +%config(noreplace) %{viceetcdir}/cacheinfo +%{_sbindir}/rcopenafs-client +%{_fillupdir}/sysconfig.openafs-client +%{vicecachedir} + +%files server +%defattr(-,root,root) +%attr(770,root,root) %dir %{afslocaldir} +%attr(775,root,root) %dir %{afslogsdir} +%config %{viceetcdir}/server +%doc %{_mandir}/man5/AuthLog.5.gz +%doc %{_mandir}/man5/AuthLog.dir.5.gz +%doc %{_mandir}/man5/BackupLog.5.gz +%doc %{_mandir}/man5/BosConfig.5.gz +%doc %{_mandir}/man5/BosLog.5.gz +%doc %{_mandir}/man5/FORCESALVAGE.5.gz +%doc %{_mandir}/man5/FileLog.5.gz +%doc %{_mandir}/man5/KeyFile.5.gz +%doc %{_mandir}/man5/KeyFileExt.5.gz +%doc %{_mandir}/man5/NoAuth.5.gz +%doc %{_mandir}/man5/PtLog.5.gz +%doc %{_mandir}/man5/SALVAGE.fs.5.gz +%doc %{_mandir}/man5/SalvageLog.5.gz +%doc %{_mandir}/man5/UserList.5.gz +%doc %{_mandir}/man5/VLLog.5.gz +%doc %{_mandir}/man5/VolserLog.5.gz +%doc %{_mandir}/man5/afs_volume_header.5.gz +%doc %{_mandir}/man5/bdb.DB0.5.gz +%doc %{_mandir}/man5/krb.conf.5.gz +%doc %{_mandir}/man5/krb.excl.5.gz +%doc %{_mandir}/man5/prdb.DB0.5.gz +%doc %{_mandir}/man5/salvage.lock.5.gz +%doc %{_mandir}/man5/tapeconfig.5.gz +%doc %{_mandir}/man5/vldb.DB0.5.gz +%doc %{_mandir}/man8/akeyconvert.8.gz +%doc %{_mandir}/man8/asetkey.8.gz +%doc %{_mandir}/man8/bos_util.8.gz +%doc %{_mandir}/man8/bosserver.8.gz +%doc %{_mandir}/man8/buserver.8.gz +%doc %{_mandir}/man8/dafileserver.8.gz +%doc %{_mandir}/man8/dafssync-debug.8.gz +%doc %{_mandir}/man8/dafssync-debug_*.8.gz +%doc %{_mandir}/man8/dasalvager.8.gz +%doc %{_mandir}/man8/davolserver.8.gz +%doc %{_mandir}/man8/fileserver.8.gz +%doc %{_mandir}/man8/fssync-debug.8.gz +%doc %{_mandir}/man8/fssync-debug_*.8.gz +%doc %{_mandir}/man8/prdb_check.8.gz +%doc %{_mandir}/man8/pt_util.8.gz +%doc %{_mandir}/man8/ptserver.8.gz +%doc %{_mandir}/man8/salvager.8.gz +%doc %{_mandir}/man8/salvageserver.8.gz +%doc %{_mandir}/man8/state_analyzer.8.gz +%doc %{_mandir}/man8/upclient.8.gz +%doc %{_mandir}/man8/upserver.8.gz +%doc %{_mandir}/man8/vldb_check.8.gz +%doc %{_mandir}/man8/vldb_convert.8.gz +%doc %{_mandir}/man8/vlserver.8.gz +%doc %{_mandir}/man8/voldump.8.gz +%doc %{_mandir}/man8/volinfo.8.gz +%doc %{_mandir}/man8/volscan.8.gz +%doc %{_mandir}/man8/volserver.8.gz +%dir %{_libexecdir}/openafs +%{_libexecdir}/openafs/buserver +%{_libexecdir}/openafs/dafileserver +%{_libexecdir}/openafs/dasalvager +%{_libexecdir}/openafs/davolserver +%{_libexecdir}/openafs/fileserver +%{_libexecdir}/openafs/ptserver +%{_libexecdir}/openafs/salvager +%{_libexecdir}/openafs/salvageserver +%{_libexecdir}/openafs/upclient +%{_libexecdir}/openafs/upserver +%{_libexecdir}/openafs/vlserver +%{_libexecdir}/openafs/volserver +%{_sbindir}/asetkey +%{_sbindir}/akeyconvert +%{_sbindir}/bos_util +%{_sbindir}/bosserver +%{_sbindir}/dafssync-debug +%{_sbindir}/fssync-debug +%{_sbindir}/prdb_check +%{_sbindir}/pt_util +%{_sbindir}/salvsync-debug +%{_sbindir}/state_analyzer +%{_sbindir}/vldb_check +%{_sbindir}/vldb_convert +%{_sbindir}/voldump +%{_sbindir}/volinfo +%{_sbindir}/volscan +%_unitdir/openafs-server.service +%{_sbindir}/rcopenafs-server +/%{_fillupdir}/sysconfig.openafs-server + +%files devel +%defattr(-,root,root) +%dir %{_libdir}/openafs +%doc %{_mandir}/man1/livesys.1.gz +%doc %{_mandir}/man1/rxgen.1.gz +%doc %{_mandir}/man3/AFS::ukernel.3.gz +%{_bindir}/livesys +%{_bindir}/rxgen +%{_includedir}/openafs/ +%{_libdir}/openafs/libafshcrypto.so +%{_libdir}/openafs/librokenafs.so + +%files kernel-source +%defattr(-,root,root) +%dir /usr/src/kernel-modules +%dir /usr/src/kernel-modules/openafs +/usr/src/kernel-modules/openafs/* + +%if %{build_authlibs} +%files authlibs +%defattr(-,root,root) +%{_libdir}/openafs/libafsauthent.so.* +%{_libdir}/openafs/libafsrpc.so.* +%{_libdir}/openafs/libkopenafs.so.* + +%files authlibs-devel +%defattr(-,root,root) +%{_libdir}/openafs/libafsauthent.so +%{_libdir}/openafs/libafsrpc.so +%{_libdir}/openafs/libkopenafs.so +%endif + +# +# CHANGELOG +# + +%changelog diff --git a/preamble b/preamble new file mode 100644 index 0000000..04408d3 --- /dev/null +++ b/preamble @@ -0,0 +1,3 @@ +Requires: kernel-%1 +Requires: %{name}-client = %{version} +Conflicts: %{name}-fuse-client = %{version} diff --git a/sysconfig.openafs-client b/sysconfig.openafs-client new file mode 100644 index 0000000..5ebc59a --- /dev/null +++ b/sysconfig.openafs-client @@ -0,0 +1,17 @@ +# +# startup options for the openAFS client. +# see man afsd for details + +AFSD_ARGS="-fakestat -memcache -blocks 102400 -dynroot -afsdb" + +# +# sysname to set after startup +# leave empty for default setting. + +SYSNAME="" + +# +# switch for encryption to be set after startup +# must be one of "on" or "off" + +CRYPT="on" diff --git a/sysconfig.openafs-fuse-client b/sysconfig.openafs-fuse-client new file mode 100644 index 0000000..5ebc59a --- /dev/null +++ b/sysconfig.openafs-fuse-client @@ -0,0 +1,17 @@ +# +# startup options for the openAFS client. +# see man afsd for details + +AFSD_ARGS="-fakestat -memcache -blocks 102400 -dynroot -afsdb" + +# +# sysname to set after startup +# leave empty for default setting. + +SYSNAME="" + +# +# switch for encryption to be set after startup +# must be one of "on" or "off" + +CRYPT="on" diff --git a/sysconfig.openafs-server b/sysconfig.openafs-server new file mode 100644 index 0000000..3c5d3b2 --- /dev/null +++ b/sysconfig.openafs-server @@ -0,0 +1,4 @@ +## Path: Network/File systems/AFS server +## Description: AFS server configuration, default mode + +# all is set in /etc/openafs/BosConfig