commit 774df869fc1753e94f79c6a0b617b7adb9e4060c Author: Jeffrey Altman Date: Sat Feb 10 10:47:24 2018 -0500 rx: Do not count RXGEN_OPCODE towards abort threshold An RXGEN_OPCODE is returned for opcodes that are not implemented by the rx service. These opcodes might be deprecated opcodes that are no longer supported or more recently registered opcodes that have yet to be implemented. Clients should not be punished for issuing unsupported calls. The clients might be old and are issuing no longer supported calls or they might be newer and are issuing yet to be implemented calls as part of a feature test and fallback strategy. This change ignores RXGEN_OPCODE errors when deciding how to adjust the rx_call.abortCount. When an RXGEN_OPCODE abort is sent the rx_call.abortCount and rx_call.abortError are left unchanged which preserves the state for the next failing call. Note that this change intentionlly prevents the incrementing of the abortCount for client connections as they never send delay aborts. Reviewed-on: https://gerrit.openafs.org/12906 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit f82d1c7d5aeae148305e867c1f79c6ea2f9e0a2a) Change-Id: I7a4216bea3a355c31a390c5b4753b4ab0c25661c Reviewed-on: https://gerrit.openafs.org/12914 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit cabecc719195047ea321bd62e95d52503d15686e Author: Benjamin Kaduk Date: Tue Dec 26 17:42:39 2017 -0600 Make OpenAFS 1.8.0pre5 Update version strings for the fifth 1.8.0 prerelease. Change-Id: I118da0fc55013ccfb2b5cd586cefb1b0c27f10d9 Reviewed-on: https://gerrit.openafs.org/12910 Reviewed-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5f0714312b211c4a6d6157df6f1f3d9e26dcc03f Author: Michael Meffie Date: Fri Feb 9 17:59:19 2018 -0500 Update NEWS for 1.8.0pre5 Change-Id: I09e509694c5f7ad59e279b89bd9e144aca2ec4e7 Reviewed-on: https://gerrit.openafs.org/12904 Reviewed-by: Michael Meffie Reviewed-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 50fcd6763d4387950390b732d2a131c230d44c99 Author: Marcio Barbosa Date: Wed Jun 21 16:24:05 2017 -0400 ubik: check if epoch is sane before db relabel The sync-site relabels its database at the end of the first write transaction. The new label will be equal to the time at which the sync-site in question first received its coordinator mandate. This time is stored by a global called ubik_epochTime. In order to make sure that the new database label is sane, only relabel the database if ubik_epochTime is within a specific range. Reviewed-on: https://gerrit.openafs.org/12640 Reviewed-by: Mark Vitale Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit f5c289d00aaf7c5525b477da5b89f6675456c211) Change-Id: I78ebd2b8aeae01ef5e3b826ad6f1de5a5c1db79e Reviewed-on: https://gerrit.openafs.org/12886 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 2b3df9b2f48dcbf3690e093000879b0f06c7e176 Author: Benjamin Kaduk Date: Sat Dec 9 11:37:59 2017 -0600 Replace with Our in-tree xdr.h appears to have started life as a concatenation of rpc/types.h and rpc/xdr.h, and should include all the needed functionality. Indeed, commit 7293ddf325b149cae60d3abe7199d08f196bd2b9 even indicates that we expect to be using our in-tree XDR everywhere anyway, so the system XDR is superfluous. Note that afs/sysincludes.h (not afsincludes.h!) already includes rx/xdr.h ifndef AFS_LINUX22_ENV. This change should help systems running glibc 2.26 or newer, which has stopped providing the Sun RPC headers by default. While here remove some duplicate includes of rpc/types.h in the AIX-specific sources. The Solaris NFS translator bits cannot really be changed, since the system headers are used and have tight interdependencies. Update rxgen to not emit rpc/types.h inclusion. [mmeffie: squash 12801 to not emit rpc/types.h from rxgen] Reviewed-on: https://gerrit.openafs.org/12800 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk (cherry picked from commit e443a9fb67dbc29e6cc36661a4ac6e91af113f23) Change-Id: I351e5c1e1223c49ca76e3d68c264ac1625abae60 Reviewed-on: https://gerrit.openafs.org/12894 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 833e2783a39367f3cebfb79f403a75752f81ab09 Author: Ian Wienand Date: Fri Feb 2 10:52:26 2018 +1100 Add .gitreview git-review [1] makes it much easier to submit changes. Add a default configuration file. [1] https://docs.openstack.org/infra/git-review/usage.html Reviewed-on: https://gerrit.openafs.org/12884 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk (cherry picked from commit c7c71d2429cf685f3ffad6b2e6d102d900edc197) Change-Id: I271cfeb6aea888ae40539e248a18131b0affeda8 Reviewed-on: https://gerrit.openafs.org/12901 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 780ed24d360df6772b2408017a5d555ae36217c0 Author: Mark Vitale Date: Tue Jun 30 01:54:21 2015 -0400 SOLARIS: Avoid vcache locks when flushing pages for RO vnodes We have multiple code paths that hold the following locks at the same time: - avc->lock for a vcache - The page lock for a page in 'avc' In order to avoid deadlocks, we need a consistent ordering for obtaining these two locks. The code in afs_putpage() currently obtains avc->lock before the page lock (Obtain*Lock is called before pvn_vplist_dirty). The code in afs_getpages() also obtains avc->lock before the page lock, but it does so in a loop for all requested pages (via pvn_getpages()). On the second iteration of that loop, it obtains avc->lock, and the page from the first iteration of the loop is still locked. Thus, it obtains a page lock before locking avc->lock in some cases. Since we have two code paths that obtain those two locks in a different order, a deadlock can occur. Fixing this properly requires changing at least one of those code paths, so the locks are taken in a consistent order. However, doing so is complex and will be done in a separate future commit. For this commit, we can avoid the deadlock for RO volumes by simply avoiding taking avc->lock in afs_putpages() at all while the pages are locked. Normally, we lock avc->lock because pvn_vplist_dirty() will call afs_putapage() for each dirty page (and afs_putapage() requires avc->lock held). But for RO volumes, we will have no dirty pages (because RO volumes cannot be written to from a client), and so afs_putapage() will never be called. So to avoid this deadlock issue for RO volumes, avoid taking avc->lock across the pvn_vplist_dirty() call in afs_putpage(). We now pass a dummy pageout callback function to pvn_vplist_dirty() instead, which should never be called, and which panics if it ever is. We still need to hold avc->lock a few other times during afs_putpage() for other minor reasons, but none of these hold page locks at the same time, so the deadlock issue is still avoided. [mmeffie: comments, and fix missing write lock, fix lock releases] [adeason: revised commit message] Reviewed-on: https://gerrit.openafs.org/12247 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk (cherry picked from commit 5e09a694ec2c0cd20f5dee500eff6bc3dd04c097) Change-Id: I5d4e4ddba12c09dc549edeee3cad7de40582ac65 Reviewed-on: https://gerrit.openafs.org/12900 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 5bb7684f07b5f346b68230c2f38edad4c46dc648 Author: Benjamin Kaduk Date: Thu Jan 4 22:00:15 2018 -0600 rx: remove trailing semicolons from FBSD mutex operations Since the first introduction of FreeBSD support, the macros (MUTEX_ENTER, etc.) for kernel mutex operations have included trailing semicolons, unique among all the platforms. This did not cause problems until the recent work on rx event handlers, which put a MUTEX_ENTER() in the body of an 'if' clause with no brackets, and attempted to follow it with an 'else' clause. This results in the following (rather obtuse) compiler error: /root/openafs/src/rx/rx.c:3666:5: error: expected expression else ^ Which is more visible in the preprocessed source, as if (condition) expression;; else other_expression; is clearly invalid C. To fix the FreeBSD kernel module build, remove the unneeded semicolons. Reviewed-on: https://gerrit.openafs.org/12853 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 0760feb7992e1e39f716c5f583fe7f6e85584262) Change-Id: I503a5967a167e9be92721af8dc82d191f3bf18ba Reviewed-on: https://gerrit.openafs.org/12899 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 2f07951a47a8a820c89e4e6ab1e347858acd8ab5 Author: Benjamin Kaduk Date: Sat Dec 9 11:44:51 2017 -0600 libuafs: remove stale afs_nfsdisp.lo rule afs_nfsdisp.lo is not used, so we do not need a build rule for it. Reviewed-on: https://gerrit.openafs.org/12802 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk (cherry picked from commit decb4308d4e18ad9f6f181e3df5f737698dba7ad) Change-Id: I53680df1c8648ceb43cc032cada573964622d5b4 Reviewed-on: https://gerrit.openafs.org/12898 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4988628a2e41955951a49ea0032cabe13f9337d3 Author: Christof Hanke Date: Mon Dec 18 16:58:39 2017 +0100 Avoid gcc warning When using the configure option --enable-checking with gcc 7.2.1, the compilation fails with vutil.c:860:20: error: ā€˜%sā€™ directive writing up to 255 bytes into \ a region of size 63 [-Werror=format-overflow=] This can be seen in the logs of the openSUSE Tumbleweed builder for e.g. build 2368. Avoid this warning by using snprintf which is provided by libroken for all platforms. Reviewed-on: https://gerrit.openafs.org/12813 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit fd4eaebb60dbefc27be98015fee23a3cf5d9752d) Change-Id: I3be14f6f1228fd09f036da7ff4f1505c65e49406 Reviewed-on: https://gerrit.openafs.org/12897 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 35636bd9e32015bc10e09ccbb34a71a1459cdc4b Author: Marcio Barbosa Date: Mon Aug 21 14:21:54 2017 -0400 ubik: avoid DISK_Begin on sites that didn't vote for sync As already described on 7c708506, SDISK_Begin fails on remotes if lastYesState is not set. To fix this problem, 7c708506 does not allow write transactions until we know that lastYesState is set on at least quorum (ubik_syncSiteAdvertised == 1). In other words, if enough sites received a beacon packet informing that a sync-site was elected, write transactions will be allowed. This means that ubik_syncSiteAdvertised can be true while lastYesState is not set in a few sites. Consider the following scenario in a cell with frequent write transactions: Site A => Sync-site (up) Site B => Remote 1 (up) Site C => Remote 2 (down - unreachable) Since A and B are up, we have quorum. After the second wave of beacons, ubik_syncSiteAdvertised will be true and write transactions will be allowed. At some point, C is not unreachable anymore. Site A sends a copy of its database to C, but C did not vote for A yet (lastYesState == 0). A new write transaction is initialized and, since lastYesState is not set on C, DISK_Begin fails on this remote site and C is marked as down. Since C is reachable, A will mark this remote site as up. The sync-site will send its database to C, but C did not vote for A yet. A new write transaction is initialized and, since lastYesState is not set on C, DISK_Begin fails on this remote site and C is marked as down. In a cell with frequent write transactions, this cycle will repeat forever. As a result, the sync-site will be constantly sending its database to C and quorum will be operating with less sites, increasing the chances of re-elections. To fix this problem, do not call DISK_Begin on remotes that did not vote for the sync-site yet. Reviewed-on: https://gerrit.openafs.org/12715 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk (cherry picked from commit 68ec78950a6e39dc1bf15012d4b889728086d0b7) Change-Id: I3764c23125f0bc675762449cd29b282ba403f871 Reviewed-on: https://gerrit.openafs.org/12896 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 51816cfd047c05921218ecb1161c9dd7986a422f Author: Michael Meffie Date: Wed Jan 31 16:52:40 2018 -0500 add rfc3961.h to kernel sources Export this header to the kernel sources in the libafs_tree, since it is needed for the kernel module build. FIXES 134476 Reviewed-on: https://gerrit.openafs.org/12882 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 073522b3d49467af107d1143cfa015c53347e1e3) Change-Id: I4e5c7883a1dd4b66b9252f4e630ca489f05e9ad3 Reviewed-on: https://gerrit.openafs.org/12890 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 07811e3b15de8926d63b423804c620bc3501745b Author: Benjamin Kaduk Date: Mon Jan 8 22:28:24 2018 -0600 Add param.h files for recent FreeBSD Add files for FreeBSD 10.4, 11.1, and 12.0 (12-CURRENT), for i386 and amd64. Reviewed-on: https://gerrit.openafs.org/12863 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk (cherry picked from commit 88dc4d93f5ef080da8f56fac453f095e6c79d4a0) Change-Id: I6ddb0f03e209b0ce9c7ed1168c86a675d7802c23 Reviewed-on: https://gerrit.openafs.org/12888 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0ba9b5559e112005a6f621ebe55f382bcc2aae0d Author: Benjamin Kaduk Date: Mon Jan 8 21:27:04 2018 -0600 FBSD: catch up to missing sysnames Add sysnames for i386 and amd64 10.4, 11.1, and 12.0 (12-CURRENT, at present). Reviewed-on: https://gerrit.openafs.org/12862 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk (cherry picked from commit c390f368a5012f866c1b4ce46d6ac6af6cef2fd5) Change-Id: I5183c19d446fd0c00bd26c32ca3f7f00a4d12907 Reviewed-on: https://gerrit.openafs.org/12887 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1f10f087264cb39a8354c0baf71eb1fa13071466 Author: Marcio Barbosa Date: Mon Aug 21 15:50:14 2017 -0400 ubik: update ubik_dbVersion during SDISK_SendFile The ubik_dbVersion global represents the sync site's database version and it is mostly used by the remote sites for sanity checks. Currently, this global is updated when database changes are made on the sync site (SDISK_Commit or SDISK_SetVersion), as well as every time we vote "yes" for the sync-site in a beacon reply. Unfortunately, ubik_dbVersion is not updated when a copy of the sync site's database is received via DISK_SendFile, and it won't get updated until our next "yes" vote. During this window, the current database version will not match ubik_dbVersion. As a result, any write transaction during this time frame will fail on the remote site in question. To fix this problem, do not wait for the next beacon packet to update ubik_dbVersion when the sync site's database is received; just update it when we get the new database. Since no write transactions are allowed while the db is transferring, ubik_dbVersion can be safely updated. Reviewed-on: https://gerrit.openafs.org/12716 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk (cherry picked from commit 50c1d1088d2adcbb37b6a9d23fdd63617b1267be) Change-Id: Icbbe9efb9c8dab9ac69237380e824d4a523a53d3 Reviewed-on: https://gerrit.openafs.org/12885 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e9419dc895801bda6962f2ac0f5981631a0d95c7 Author: Andrew Deason Date: Thu Jan 11 21:27:28 2018 -0600 LINUX: Avoid locking inode in check_dentry_race Currently, check_dentry_race locks the parent inode in order to ensure it is not running in parallel with d_splice_alias for the same inode. (For old Linux kernel versions; see commit b0461f2d: "LINUX: Workaround d_splice_alias/d_lookup race".) However, it is possible to hit this area of code when the parent inode is already locked. When someone tries to create a file, directory, or symlink, Linux tries to lookup the dentry for the target path, to see if it already exists. While looking up the last component of the path, Linux locks the directory, and if it finds a dentry for the target name, it calls d_invalidate on it while the parent directory is locked. For a dentry with a NULL inode, we'll then try to lock the parent inode in check_dentry_race. But since the inode is already locked, we will deadlock. From a user's point of view, the hang can be reproduced by doing something similar to: $ mkdir dir # succeeds $ rmdir dir $ ls -l dir ls: cannot access dir: No such file or directory $ mkdir dir # hangs To avoid this, we can just change which lock we're using to avoid check_dentry_race/d_splice_alias from running in parallel. Instead of locking the parent inode, introduce a new global lock (called dentry_race_sem), and lock that in check_dentry_race and around our d_splice_alias call. We know that those are the only two users of this new lock, so this should avoid any such deadlocks. This does potentially reduce performance, since all tasks that hit check_dentry_race or d_splice_alias will take the same global lock. However, this at least still allows us to make use of negative dentries, and this entire code path only applies to older Linux kernels. It could be possible to add a new lock into struct vcache instead, but using a global lock like this commit does is much simpler. Reviewed-on: https://gerrit.openafs.org/12868 Tested-by: Benjamin Kaduk Reviewed-by: Benjamin Kaduk (cherry picked from commit ef1d4c8d328e9b9affc9864fd084257e9fa08445) Change-Id: Ia8e28519fff36baca7dc4061ceef6719a2a738d4 Reviewed-on: https://gerrit.openafs.org/12881 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f523c92a74bace287d1139fab77a030b9598ef61 Author: Caitlyn Marko Date: Thu Feb 9 09:16:17 2017 -0500 SOLARIS: save kernel module function arguments for debugging Add the -Wu,-save_args compiler option when building kernel modules under Solaris 10 and 11 for the amd64 architecture. Binaries generated with this option save function arguments on the stack during function entry for debugging purposes. Up to six integer arguments are saved on function entry, and are not modified during the execution of the function. [mmeffie: commit message update] Reviewed-on: https://gerrit.openafs.org/12798 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 32d0493a7e4f74f5e5efdfde5eca29ed7d1bf3ec) Change-Id: I478ce65da78b86aa3c13e1c615bafd51d0f5d567 Reviewed-on: https://gerrit.openafs.org/12903 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 96ce04c78b5f745424165494c9b76d7ce227eeaa Author: Marcio Barbosa Date: Mon Feb 5 21:16:17 2018 +0000 autoconf: detect ctf-tools and add ctf to libafs CTF is a reduced form of debug information similar to DWARF and stab. It describes types and function prototypes. The principal objective of the format is to shrink the data size as much as possible so that it could be included in a production environment. MDB, DTrace, and other tools use CTF debug information to read and display structures correctly. This commit introduces a new configure option called --with-ctf-tools. This option can be used to specify an alternative path where the tools can be found. If the path is not provided, the tools will be searched in a set of default directories (including $PATH). The CTF debugging information will only be included if the corresponding --enable-debug / --enable-debug-kernel is specified. Note: at the moment, the Solaris kernel module is the only module benefited by this commit. Reviewed-on: https://gerrit.openafs.org/12680 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 88cb536f99dc58fdbeb9fa6c47c26774241a0cb6) Change-Id: I174347370a83b31f68d2631c965e17d72b438cd1 Reviewed-on: https://gerrit.openafs.org/12902 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0247eb0a8c154811f495142276029a617ae0825a Author: Michael Meffie Date: Sat Dec 30 17:59:38 2017 -0500 autoconf: refactor linux-checks.m4 Further refactoring of the autoconf macros. Divy up the linux kernel checks into smaller files. This is a non-functional change. Care has been taken preserve the ordering of the autoconf tests. Except for whitespace, the generated configure file has not been changed by this refactoring. This has been verified with a 'diff -u -w -B' comparison of the generated configure file before and after applying this commit. Reviewed-on: https://gerrit.openafs.org/12844 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 6a2b85cd4c00a08e165cb96d2cb56bf87c6324bc) Change-Id: Iae325bc14fb160f27791b2f3d82198fe671badd8 Reviewed-on: https://gerrit.openafs.org/12878 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e05b0b10b942ba3585f6d5d505a282c2de95c243 Author: Michael Meffie Date: Sat Dec 30 12:12:59 2017 -0500 autoconf: refactor ostype.m4 Further refactoring of the autoconf macros. Move more linux and solaris specific checks into their own files. This is a non-functional change. Care has been taken preserve the ordering of the autoconf tests. Except for whitespace, the generated configure file has not been changed by this refactoring. This has been verified with a 'diff -u -w -B' comparison of the generated configure file before and after applying this commit. Reviewed-on: https://gerrit.openafs.org/12843 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 3c2e39bab7d927aa5f20d02a5e327927a4b2b553) Change-Id: I4d91753afd90e4735ab61413e757f6852750a3de Reviewed-on: https://gerrit.openafs.org/12877 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e54963757320adb95b0c73bbd84fb8bf34319210 Author: Michael Meffie Date: Fri Dec 29 14:24:28 2017 -0500 autoconf: refactor acinclude.m4 The acinclude.m4 is very large and often requires to be changed for unrelated commits. Divy up the large acinclude.m4 into a number of smaller files to avoid so many contentions and to make the autoconf system easier to maintain. This is a non-functional change. Care has been taken preserve the ordering of the autoconf tests. Except for whitespace, the generated configure file has not been changed by this refactoring. This has been verified with a 'diff -u -w -B' comparison of the generated configure file before and after applying this commit. Reviewed-on: https://gerrit.openafs.org/12842 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit c72622a244e561173e86ffe88ee3c9a8c823a76a) Change-Id: I9504eaa2430fd35f79b55c3df96c82cc7e58fafd Reviewed-on: https://gerrit.openafs.org/12876 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0798b54b258f48cae8a5b1b3e107a22693d37937 Author: Michael Meffie Date: Mon Feb 8 12:12:22 2016 -0500 CellServDB update 14 Mar 2017 Update all remaining copies of CellServDB in the tree, and make the Red Hat packaging use it by default too. Reviewed-on: https://gerrit.openafs.org/12880 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk (cherry picked from commit 3ca1352170f87994d42578c5bc75e52c4103bc69) Change-Id: I773d35745e14903dd3069a0627932153900e0ba6 Reviewed-on: https://gerrit.openafs.org/12889 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5eb64632fd76bb7e26a90ab08c83132e7ac99e23 Author: Michael Meffie Date: Wed Jan 17 17:33:50 2018 -0500 redhat: fix conditional for kernel-debuginfo files directive Commit 443dd5367e0cd9050ad39a6594c5be521271b4e9 added support for a separate debuginfo package for the kernel module. Unfortunately, the %files directive for the kernel module debuginfo package was incorrectly placed in the %if stanza of the build_userspace condition, so the rpmbuild fails when attempting to build just the kernel module. That is, when running rpmbuild with the options: rpmbuild --define "build_userspace 0" --define "build_modules 1" ... rpmbuild fails with: RPM build errors: Installed (but unpackaged) file(s) found: /usr/lib/debug/lib/modules/.../extra/openafs/openafs.ko.debug Fix this by moving the new %files directive out of the build_userspace conditional. Reviewed-on: https://gerrit.openafs.org/12874 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk (cherry picked from commit f599e1ce6354c42a9c0c8f7205ba8a03c35ea72b) Change-Id: I07e25d3dd43b2cd7056cefb8f0f5c10f78347b85 Reviewed-on: https://gerrit.openafs.org/12875 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 781624f7f4290a1f44a0f48a04d780e10dd5b3e1 Author: Michael Meffie Date: Fri Jul 21 22:30:43 2017 -0400 redhat: avoid rpmbuild exclude directives Older versions of rpmbuild do not support the files exclude directive, so fall back to the old way in which we remove the files to be excluded and list the files to be included. Reviewed-on: https://gerrit.openafs.org/12733 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit a71288a387095ccb4be83c1abae34ada80f53185) Change-Id: I01c20bc21ec6143be76458c311d826023c370d51 Reviewed-on: https://gerrit.openafs.org/12873 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 9d62e1d5c6e9e888a029a0b6080c27c0b4353ba2 Author: Michael Meffie Date: Fri Jul 21 22:16:44 2017 -0400 redhat: move .krb variants to the kauth-client subpackage Move the deprecated klog.krb, pagsh.krb, and tokens.krb programs and man pages to the optional openafs-kauth-client subpackage. Reviewed-on: https://gerrit.openafs.org/12732 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 4d247e1ae446c512031511273d556ef1fd32dca1) Change-Id: I3c6164022b07f0c3283cb54ffd26e1f9c3dd67bb Reviewed-on: https://gerrit.openafs.org/12872 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit ea1bf1bd751d391d49bdb33e2e3f2cc79fe8ccde Author: Michael Meffie Date: Thu Jul 20 04:13:04 2017 -0400 redhat: specify man pages without wildcards Currently, some of the man pages are specified with the full name and some are specified with a wildcard for the filename extension. Instead, specify all the man pages without a wildcards to be more consistent and to avoid putting incorrect man pages in packages. This change removes a stray copy the klog.krb5.1 man page from openafs-kauth-client subpackage and moves the AuthLog/AuthLog.dir man pages to the optional openafs-kauth-server subpackage. Reviewed-on: https://gerrit.openafs.org/12731 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 671db4ca5a76625d9b7133510cc1cbdda8a5d9b9) Change-Id: I9d10cc7aad94a2dc004526acb426a9b9badc8e3c Reviewed-on: https://gerrit.openafs.org/12871 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f56ea0e095f4837a65762f5a8fbc6b5c9d58a394 Author: Michael Meffie Date: Fri Jul 21 18:05:48 2017 -0400 redhat: remove afsd.fuse man page The afsd.fuse binary is not currently packaged; do not package the man page. Reviewed-on: https://gerrit.openafs.org/12730 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit a9810b829bdccfed4d1718b11cf4dd51f9565e00) Change-Id: I7c829a492e999cc989e9341e94f56d6669722a4c Reviewed-on: https://gerrit.openafs.org/12870 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk