makefile now install sonicfs properly

This commit is contained in:
Fufu Fang 2021-06-05 05:00:53 +01:00
parent 9cd212c1ce
commit 4ea6bcb709
No known key found for this signature in database
GPG Key ID: 0F6BB5EF6F8BB729
4 changed files with 43 additions and 287 deletions

2
.gitignore vendored
View File

@ -2,6 +2,6 @@
*.kate-swp
httpdirfs
.depend
doc/html
doc
.vscode
sonicfs

View File

@ -34,27 +34,40 @@ httpdirfs: httpdirfs.o $(COBJS)
sonicfs: sonicfs.o $(COBJS)
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
install:
install: all
ifeq ($(OS),Linux)
install -m 755 -D httpdirfs sonicfs \
install -m 755 -D httpdirfs \
$(DESTDIR)$(prefix)/bin/httpdirfs
install -m 644 -D doc/man/httpdirfs.1 \
$(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1
install -m 755 -D sonicfs \
$(DESTDIR)$(prefix)/bin/sonicfs
install -m 644 -D doc/man/sonicfs.1 \
$(DESTDIR)$(prefix)/share/man/man1/sonicfs.1
endif
ifeq ($(OS),FreeBSD)
install -m 755 httpdirfs sonicfs\
install -m 755 httpdirfs\
$(DESTDIR)$(prefix)/bin/httpdirfs
gzip -f -k doc/man/httpdirfs.1
install -m 644 doc/man/httpdirfs.1.gz \
$(DESTDIR)$(prefix)/man/man1/httpdirfs.1.gz
install -m 755 sonicfs\
$(DESTDIR)$(prefix)/bin/sonicfs
gzip -f -k doc/man/sonicfs.1
install -m 644 doc/man/sonicfs.1.gz \
$(DESTDIR)$(prefix)/man/man1/sonicfs.1.gz
endif
ifeq ($(OS),Darwin)
install -d $(DESTDIR)$(prefix)/bin
install -m 755 httpdirfs sonicfs\
install -m 755 httpdirfs\
$(DESTDIR)$(prefix)/bin/httpdirfs
install -m 755 sonicfs\
$(DESTDIR)$(prefix)/bin/sonicfs
install -d $(DESTDIR)$(prefix)/share/man/man1
install -m 644 doc/man/httpdirfs.1 \
$(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1
install -m 644 doc/man/sonicfs.1 \
$(DESTDIR)$(prefix)/share/man/man1/sonicfs.1
endif
doc:
@ -62,7 +75,7 @@ doc:
man: all
help2man --no-discard-stderr ./httpdirfs > doc/man/httpdirfs.1
help2man --no-discard-stderr ./httpdirfs > doc/man/sonicfs.1
help2man --no-discard-stderr ./sonicfs > doc/man/sonicfs.1
clean:
-rm -f *.o
@ -76,12 +89,15 @@ uninstall:
-rm -f $(DESTDIR)$(prefix)/bin/sonicfs
ifeq ($(OS),Linux)
-rm -f $(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1
-rm -f $(DESTDIR)$(prefix)/share/man/man1/sonicfs.1
endif
ifeq ($(OS),FreeBSD)
-rm -f $(DESTDIR)$(prefix)/man/man1/httpdirfs.1.gz
-rm -f $(DESTDIR)$(prefix)/man/man1/sonicfs.1.gz
endif
ifeq ($(OS),Darwin)
-rm -f $(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1
-rm -f $(DESTDIR)$(prefix)/share/man/man1/sonicfs.1
endif
depend: .depend
@ -90,4 +106,4 @@ depend: .depend
$(CC) $(CFLAGS) -MM $^ -MF ./.depend;
include .depend
.PHONY: all doc install clean distclean uninstall depend
.PHONY: all doc man install clean distclean uninstall depend

View File

@ -1,22 +1,24 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8.
.TH HTTPDIRFS "1" "June 2021" "HTTPDirFS version 1.2.1" "User Commands"
.TH HTTPDIRFS "1" "August 2019" "HTTPDirFS version 1.1.10" "User Commands"
.SH NAME
HTTPDirFS \- manual page for HTTPDirFS version 1.2.1
HTTPDirFS \- filesystem client for HTTP directory listing
.SH SYNOPSIS
.B httpdirfs
[\fI\,options\/\fR] \fI\,URL mountpoint\/\fR
.SH DESCRIPTION
usage: ./httpdirfs [options] URL mountpoint
HTTPDirFS is program that can be used to mount HTTP directory listings
(generated using an Apache DirectoryIndex, for example) as a virtual filesystem
through the FUSE interface. It supports HTTP basic authentication and proxy.
.SH OPTIONS
.SS "General options:"
.TP
\fB\-\-config\fR
Specify a configuration file
.TP
\fB\-o\fR opt,[opt...]
Mount options
mount options
.TP
\fB\-h\fR \fB\-\-help\fR
Print help
\fB\-h\fR \fB\-\-help\fR
print help
.TP
\fB\-V\fR \fB\-\-version\fR
Print version
\fB\-V\fR \fB\-\-version\fR
print version
.SS "HTTPDirFS options:"
.TP
\fB\-u\fR \fB\-\-username\fR
@ -64,14 +66,6 @@ after encountering an error. (default: 5)
.TP
\fB\-\-user\-agent\fR
Set user agent string (default: "HTTPDirFS")
.TP
\fB\-\-no\-range\-check\fR
Disable the build\-in check for the server's support
for HTTP range requests
.TP
\fB\-\-insecure_tls\fR
Disable licurl TLS certificate verification by
setting CURLOPT_SSL_VERIFYHOST to 0
.SS "FUSE options:"
.TP
\fB\-d\fR \fB\-o\fR debug
@ -224,20 +218,9 @@ prepend this directory to all paths (mandatory)
.TP
\fB\-o\fR [no]rellinks
transform absolute symlinks to relative
.PP
libcurl SSL engine: OpenSSL/1.1.1d
FUSE library version: 2.9.9
fusermount version: 2.9.9
using FUSE kernel interface version 7.19
.SH "SEE ALSO"
The full documentation for
.B HTTPDirFS
is maintained as a Texinfo manual. If the
.B info
and
.B HTTPDirFS
programs are properly installed at your site, the command
.IP
.B info HTTPDirFS
.PP
should give you access to the complete manual.
.SH AUTHORS
.LP
HTTPDirFS has been written by Fufu Fang <fangfufu2003@gmail.com>.
.LP
This manpage was written by Jerome Charaoui <jerome@riseup.net> for the
Debian GNU/Linux distribution (but it may be used by others).

View File

@ -1,243 +0,0 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8.
.TH HTTPDIRFS "1" "June 2021" "HTTPDirFS version 1.2.1" "User Commands"
.SH NAME
HTTPDirFS \- manual page for HTTPDirFS version 1.2.1
.SH DESCRIPTION
usage: ./httpdirfs [options] URL mountpoint
.SS "General options:"
.TP
\fB\-\-config\fR
Specify a configuration file
.TP
\fB\-o\fR opt,[opt...]
Mount options
.TP
\fB\-h\fR \fB\-\-help\fR
Print help
.TP
\fB\-V\fR \fB\-\-version\fR
Print version
.SS "HTTPDirFS options:"
.TP
\fB\-u\fR \fB\-\-username\fR
HTTP authentication username
.TP
\fB\-p\fR \fB\-\-password\fR
HTTP authentication password
.TP
\fB\-P\fR \fB\-\-proxy\fR
Proxy for libcurl, for more details refer to
https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html
.TP
\fB\-\-proxy\-username\fR
Username for the proxy
.TP
\fB\-\-proxy\-password\fR
Password for the proxy
.TP
\fB\-\-cache\fR
Enable cache (default: off)
.TP
\fB\-\-cache\-location\fR
Set a custom cache location
(default: "${XDG_CACHE_HOME}/httpdirfs")
.TP
\fB\-\-dl\-seg\-size\fR
Set cache download segment size, in MB (default: 8)
Note: this setting is ignored if previously
cached data is found for the requested file.
.TP
\fB\-\-max\-seg\-count\fR
Set maximum number of download segments a file
can have. (default: 128*1024)
With the default setting, the maximum memory usage
per file is 128KB. This allows caching files up
to 1TB in size using the default segment size.
.TP
\fB\-\-max\-conns\fR
Set maximum number of network connections that
libcurl is allowed to make. (default: 10)
.TP
\fB\-\-retry\-wait\fR
Set delay in seconds before retrying an HTTP request
after encountering an error. (default: 5)
.TP
\fB\-\-user\-agent\fR
Set user agent string (default: "HTTPDirFS")
.TP
\fB\-\-no\-range\-check\fR
Disable the build\-in check for the server's support
for HTTP range requests
.TP
\fB\-\-insecure_tls\fR
Disable licurl TLS certificate verification by
setting CURLOPT_SSL_VERIFYHOST to 0
.SS "FUSE options:"
.TP
\fB\-d\fR \fB\-o\fR debug
enable debug output (implies \fB\-f\fR)
.TP
\fB\-f\fR
foreground operation
.TP
\fB\-s\fR
disable multi\-threaded operation
.TP
\fB\-o\fR allow_other
allow access to other users
.TP
\fB\-o\fR allow_root
allow access to root
.TP
\fB\-o\fR auto_unmount
auto unmount on process termination
.TP
\fB\-o\fR nonempty
allow mounts over non\-empty file/dir
.HP
\fB\-o\fR default_permissions enable permission checking by kernel
.TP
\fB\-o\fR fsname=NAME
set filesystem name
.TP
\fB\-o\fR subtype=NAME
set filesystem type
.TP
\fB\-o\fR large_read
issue large read requests (2.4 only)
.TP
\fB\-o\fR max_read=N
set maximum size of read requests
.TP
\fB\-o\fR hard_remove
immediate removal (don't hide files)
.TP
\fB\-o\fR use_ino
let filesystem set inode numbers
.TP
\fB\-o\fR readdir_ino
try to fill in d_ino in readdir
.TP
\fB\-o\fR direct_io
use direct I/O
.TP
\fB\-o\fR kernel_cache
cache files in kernel
.TP
\fB\-o\fR [no]auto_cache
enable caching based on modification times (off)
.TP
\fB\-o\fR umask=M
set file permissions (octal)
.TP
\fB\-o\fR uid=N
set file owner
.TP
\fB\-o\fR gid=N
set file group
.TP
\fB\-o\fR entry_timeout=T
cache timeout for names (1.0s)
.TP
\fB\-o\fR negative_timeout=T
cache timeout for deleted names (0.0s)
.TP
\fB\-o\fR attr_timeout=T
cache timeout for attributes (1.0s)
.TP
\fB\-o\fR ac_attr_timeout=T
auto cache timeout for attributes (attr_timeout)
.TP
\fB\-o\fR noforget
never forget cached inodes
.TP
\fB\-o\fR remember=T
remember cached inodes for T seconds (0s)
.TP
\fB\-o\fR nopath
don't supply path if not necessary
.TP
\fB\-o\fR intr
allow requests to be interrupted
.TP
\fB\-o\fR intr_signal=NUM
signal to send on interrupt (10)
.TP
\fB\-o\fR modules=M1[:M2...]
names of modules to push onto filesystem stack
.TP
\fB\-o\fR max_write=N
set maximum size of write requests
.TP
\fB\-o\fR max_readahead=N
set maximum readahead
.TP
\fB\-o\fR max_background=N
set number of maximum background requests
.TP
\fB\-o\fR congestion_threshold=N
set kernel's congestion threshold
.TP
\fB\-o\fR async_read
perform reads asynchronously (default)
.TP
\fB\-o\fR sync_read
perform reads synchronously
.TP
\fB\-o\fR atomic_o_trunc
enable atomic open+truncate support
.TP
\fB\-o\fR big_writes
enable larger than 4kB writes
.TP
\fB\-o\fR no_remote_lock
disable remote file locking
.TP
\fB\-o\fR no_remote_flock
disable remote file locking (BSD)
.HP
\fB\-o\fR no_remote_posix_lock disable remove file locking (POSIX)
.TP
\fB\-o\fR [no_]splice_write
use splice to write to the fuse device
.TP
\fB\-o\fR [no_]splice_move
move data while splicing to the fuse device
.TP
\fB\-o\fR [no_]splice_read
use splice to read from the fuse device
.PP
Module options:
.PP
[iconv]
.TP
\fB\-o\fR from_code=CHARSET
original encoding of file names (default: UTF\-8)
.TP
\fB\-o\fR to_code=CHARSET
new encoding of the file names (default: ANSI_X3.4\-1968)
.PP
[subdir]
.TP
\fB\-o\fR subdir=DIR
prepend this directory to all paths (mandatory)
.TP
\fB\-o\fR [no]rellinks
transform absolute symlinks to relative
.PP
libcurl SSL engine: OpenSSL/1.1.1d
FUSE library version: 2.9.9
fusermount version: 2.9.9
using FUSE kernel interface version 7.19
.SH "SEE ALSO"
The full documentation for
.B HTTPDirFS
is maintained as a Texinfo manual. If the
.B info
and
.B HTTPDirFS
programs are properly installed at your site, the command
.IP
.B info HTTPDirFS
.PP
should give you access to the complete manual.