summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ci: Switch to GitHub ActionsTavian Barnes2021-03-285-46/+51
|
* tests: Actually remove capabilities after dropping themTavian Barnes2021-03-231-5/+8
|
* tests: Avoid looping forever when failing to drop capabilitiesTavian Barnes2021-03-221-1/+9
| | | | Link: https://github.com/void-linux/void-packages/pull/29437/checks?check_run_id=2169825021
* util: Fix build on GNU HurdTavian Barnes2021-03-211-1/+1
| | | | | | | Hurd apparently #defines BSD, but doesn't profide strtofflags. So make all that code conditional on !__GNU__. Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=hurd-i386&ver=2.2-1&stamp=1615370700&raw=0
* tests: Drop capabilities when run as root on LinuxTavian Barnes2021-03-211-6/+29
| | | | | | | | | | | | | bfs's tests rely on file permissions being enforced, which leads them to work incorrectly when run as root. This is probably the most common packaging issue for bfs, most recently seen with Void Linux's update to bfs 2.2. Make it easier on packagers by using capsh, if it's available, to drop the DAC privileges for the tests. Link: https://github.com/void-linux/void-packages/pull/29437#issuecomment-798670288 Link: https://salsa.debian.org/lamby/pkg-bfs/-/commit/b173efb35da126adb39b0984219d6a2fd9ff428f
* bftw: Fix bftw_type() for broken links and BFS_STAT_FOLLOWTavian Barnes2021-03-102-12/+17
| | | | This fixes link target coloring for broken links with -L.
* RELEASES.md: We made it to 2021, actuallyTavian Barnes2021-03-061-1/+1
|
* Release 2.22.2Tavian Barnes2021-03-063-3/+23
|
* .gitattributes: Remove .cirrus.ymlTavian Barnes2021-03-061-1/+0
|
* Support -flags on all the BSDsTavian Barnes2021-03-064-26/+62
|
* Implement -flags, from FreeBSD findTavian Barnes2021-03-068-4/+133
| | | | This is the last BSD-specific primary I'm aware of. Fixes #14.
* eval: Set the exit status automatically in eval_error()Tavian Barnes2021-03-061-5/+3
|
* travis: Try a different way to work around the apt bugTavian Barnes2021-02-261-10/+4
|
* Revert "travis: Do apt-get upgrade"Tavian Barnes2021-02-161-1/+0
| | | | | | update and upgrade are different things. This reverts commit 7419fdf1a24394529ea4aeca0053f7d0262ca39d.
* travis: Do apt-get upgradeTavian Barnes2021-02-111-0/+1
| | | | | Hopefully this works around https://salsa.debian.org/apt-team/apt/-/commit/998a17d7e6f834c341f198ca5b6df2f27e18df38
* Fix up some #includesTavian Barnes2021-02-054-4/+0
|
* Update copyright datesTavian Barnes2021-02-0514-14/+14
|
* completions/bash: Use bash-completions helpersTavian Barnes2021-02-051-116/+68
| | | | | _filedir is especially great for fixing tab completion of filenames with spaces. Other helpers like _fstypes are useful too.
* dir: Use fdclosedir() for bfs_freedir() on FreeBSDTavian Barnes2021-01-291-0/+4
|
* Makefile: Give LTO linking access to the jobserverTavian Barnes2021-01-291-1/+1
|
* bftw: Share the fd between the cache and open bfs_dirTavian Barnes2021-01-291-38/+27
| | | | | | This avoids many dup()s. On Linux, we can completely avoid needing to dup() directory fds. On non-Linux, we only dup() when there are unexplored subdirectories.
* dir: Add a Linux implementation using the getdents() syscall directlyTavian Barnes2021-01-292-15/+113
|
* dir: Add missing #include <sys/stat.h>Tavian Barnes2021-01-281-0/+1
|
* main: Add some new source files to the top-level commentTavian Barnes2021-01-281-0/+2
|
* dir: New DIR* facadeTavian Barnes2021-01-2812-302/+473
|
* bftw: Get rid of bftw_readerTavian Barnes2021-01-281-98/+64
|
* bftw: Avoid allocating when handling ENAMETOOLONGTavian Barnes2021-01-281-52/+30
|
* bftw: Allow for NULL base when recovering from EMFILETavian Barnes2021-01-281-1/+1
|
* Enable -Wshadow by defaultTavian Barnes2021-01-282-11/+11
| | | | And fix the one case it warns on.
* parse: Fix the token type of -nowarnTavian Barnes2021-01-241-1/+1
|
* Makefile: Install completionsTavian Barnes2021-01-241-1/+4
|
* completions/bash: Some improvementsTavian Barnes2021-01-241-191/+342
|
* Merge pull request #64 from bmundt6/mainTavian Barnes2021-01-231-0/+194
|\ | | | | Bash completion
| * Clean up completion script, add symbolic permission modes completionBenjamin Mundt2020-12-221-16/+40
| |
| * Bash completionBenjamin Mundt2020-12-171-0/+170
| |
* | -used: Make the implementation match the GNU fixes for findutils 4.8.0Tavian Barnes2021-01-131-2/+7
| |
* | tests: -sparse is BSD, not GNUTavian Barnes2021-01-131-1/+3
| |
* | -perm: Use +t instead of ug+tTavian Barnes2021-01-132-3/+5
| | | | | | | | | | | | | | | | | | The chmod spec says that ug+t is unspecified, and only +t or a+t is guaranteed to actually set the sticky bit. In practice GNU tools respect o+t as well, but ignore u+t/g+t. Fix the implementation to match GNU, and only test the POSIX required parse.
* | Revert "travis: Add an arm64 build"Tavian Barnes2021-01-131-4/+0
| | | | | | | | | | | | 25 minute builds are not great for the new pay-as-you-go billing. This reverts commit df1b80a86038cb6b42d6126a7f4ed60b33747c0b.
* | travis: Add an arm64 buildTavian Barnes2021-01-071-0/+4
| |
* | travis: Use edge instancesTavian Barnes2021-01-071-0/+1
| |
* | Makefile: Fix behaviour if .flags doesn't exist yetTavian Barnes2020-12-191-1/+7
|/
* Makefile: Clean up check dependencies a bitTavian Barnes2020-12-161-8/+12
|
* Makefile: Avoid rebuilding everything for make release main.oTavian Barnes2020-12-161-20/+25
| | | | | | To do this we need to only add the release: default dependency if no non-flag goals are specified on the command line. While I'm at it, simplify and coalesce a few recipes.
* Makefile: Rebuild whenever the build flags changeTavian Barnes2020-12-104-2/+17
| | | | | This removes the need to do make clean before rebuilding with a new build type.
* Give messages to unconditional assertion failuresTavian Barnes2020-12-025-6/+6
|
* parse: Clean up debug flag parsing/printingTavian Barnes2020-12-024-64/+54
|
* travis: Do parallel buildsTavian Barnes2020-11-301-2/+2
|
* travis: Try the experimental FreeBSD environmentTavian Barnes2020-11-303-15/+6
|
* util: Use fgetc(stdin) instead of getchar()Tavian Barnes2020-11-301-1/+1
| | | | | On FreeBSD the getchar() macro leads to (spurious?) msan uninitialized value errors. Call the fgetc() library function to work around it.