diff options
Diffstat (limited to 'filesystems/httpfs')
-rw-r--r-- | filesystems/httpfs/Makefile | 53 | ||||
-rw-r--r-- | filesystems/httpfs/distinfo | 3 | ||||
-rw-r--r-- | filesystems/httpfs/files/patch-Makefile | 60 | ||||
-rw-r--r-- | filesystems/httpfs/files/patch-httpfs2.c | 53 | ||||
-rw-r--r-- | filesystems/httpfs/pkg-descr | 4 |
5 files changed, 173 insertions, 0 deletions
diff --git a/filesystems/httpfs/Makefile b/filesystems/httpfs/Makefile new file mode 100644 index 000000000000..40eaf89aa25b --- /dev/null +++ b/filesystems/httpfs/Makefile @@ -0,0 +1,53 @@ +PORTNAME= httpfs +PORTVERSION= 2.${VERSION} +PORTREVISION= 2 +PORTEPOCH= 1 +CATEGORIES= filesystems www +MASTER_SITES= SF/${PORTNAME}/${PORTNAME}2/ +PKGNAMEPREFIX= fusefs- +DISTNAME= ${PORTNAME}2-${VERSION} + +MAINTAINER= ports@FreeBSD.org +COMMENT= Fuse-based http filesystem +WWW= https://httpfs.sourceforge.net/ + +LICENSE= GPLv2+ +LICENSE_FILE= ${WRKSRC}/debian/copyright + +DEPRECATED= Abandonware, last release in 2012 and there are multiple issues unresolved +EXPIRATION_DATE=2024-12-31 + +USES= fuse pkgconfig gmake + +WRKSRC= ${WRKDIR}/${PORTNAME}2-${VERSION} +VERSION= 0.1.5 +CFLAGS+= -D__BSD_VISIBLE +PLIST_FILES= bin/httpfs2 + +CERT_STORE= ${LOCALBASE}/share/certs/ca-root-nss.crt +MAKE_ENV+= CERT_STORE=${CERT_STORE} + +OPTIONS_DEFINE= GNUTLS +OPTIONS_DEFAULT= GNUTLS + +GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls +GNUTLS_RUN_DEPENDS= ${CERT_STORE}:security/ca_root_nss + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/httpfs2 ${STAGEDIR}${PREFIX}/bin + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MGNUTLS} +ALL_TARGET= full +PLIST_FILES+= bin/httpfs2-mt bin/httpfs2-ssl bin/httpfs2-ssl-mt +.else +ALL_TARGET= httpfs2 +.endif + +do-install-GNUTLS-on: + cd ${WRKSRC} && \ + ${INSTALL_PROGRAM} httpfs2-mt httpfs2-ssl httpfs2-ssl-mt \ + ${STAGEDIR}${PREFIX}/bin + +.include <bsd.port.mk> diff --git a/filesystems/httpfs/distinfo b/filesystems/httpfs/distinfo new file mode 100644 index 000000000000..350e69639b94 --- /dev/null +++ b/filesystems/httpfs/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1730905182 +SHA256 (httpfs2-0.1.5.tar.gz) = 01cb4bb38deb344f540da6f1464dc7edbdeb51213ad810b8c9c282c1e17e0fc1 +SIZE (httpfs2-0.1.5.tar.gz) = 16870 diff --git a/filesystems/httpfs/files/patch-Makefile b/filesystems/httpfs/files/patch-Makefile new file mode 100644 index 000000000000..4e2252a2840b --- /dev/null +++ b/filesystems/httpfs/files/patch-Makefile @@ -0,0 +1,60 @@ +--- Makefile.orig 2012-09-03 14:58:02 UTC ++++ Makefile +@@ -1,5 +1,5 @@ + MAIN_CFLAGS := -g -Os -Wall $(shell pkg-config fuse --cflags) +-MAIN_CPPFLAGS := -Wall -Wno-unused-function -Wconversion -Wtype-limits -DUSE_AUTH -D_XOPEN_SOURCE=700 -D_ISOC99_SOURCE ++MAIN_CPPFLAGS := -Wall -Wno-unused-function -Wconversion -DUSE_AUTH -D_XOPEN_SOURCE=700 -D_ISOC99_SOURCE + THR_CPPFLAGS := -DUSE_THREAD + THR_LDFLAGS := -lpthread + MAIN_LDFLAGS := $(shell pkg-config fuse --libs | sed -e s/-lrt// -e s/-ldl// -e s/-pthread// -e "s/ / /g") +@@ -10,7 +10,7 @@ ifeq ($(shell pkg-config --atleast-version 2.10 gnutls + + variants += -ssl -ssl-mt + +- CERT_STORE := /etc/ssl/certs/ca-certificates.crt ++# CERT_STORE := /etc/ssl/certs/ca-certificates.crt + SSL_CPPFLAGS := -DUSE_SSL $(shell pkg-config gnutls --cflags) -DCERT_STORE=\"$(CERT_STORE)\" + SSL_LDFLAGS := $(shell pkg-config gnutls --libs) + endif +@@ -23,7 +23,8 @@ manpages = $(addsuffix .1,$(binaries)) + + intermediates += $(addsuffix .xml,$(manpages)) + +-targets = $(binaries) $(manpages) ++#targets = $(binaries) $(manpages) ++targets = $(binaries) + + full: + $(MAKE) all $(addprefix all,$(variants)) +@@ -44,8 +45,8 @@ clean-recursive: + %-full: + $(MAKE) $* $(addprefix $*,$(variants)) + +-%.1: %.1.txt +- a2x -f manpage $< ++#%.1: %.1.txt ++# a2x -f manpage $< + + %-ssl: $* + $(MAKE) CPPFLAGS='$(CPPFLAGS) $(SSL_CPPFLAGS)' LDFLAGS='$(LDFLAGS) $(SSL_LDFLAGS)' binsuffix=-ssl$(binsuffix) $* +@@ -60,20 +61,6 @@ clean-recursive: + $(MAKE) CPPFLAGS='$(CPPFLAGS) -DRETRY_ON_RESET' binsuffix=-rst$(binsuffix) $* + + # Rules to automatically make a Debian package +- +-package = $(shell dpkg-parsechangelog | grep ^Source: | sed -e s,'^Source: ',,) +-version = $(shell dpkg-parsechangelog | grep ^Version: | sed -e s,'^Version: ',, -e 's,-.*,,') +-revision = $(shell dpkg-parsechangelog | grep ^Version: | sed -e -e 's,.*-,,') +-architecture = $(shell dpkg --print-architecture) +-tar_dir = $(package)-$(version) +-tar_gz = $(tar_dir).tar.gz +-pkg_deb_dir = pkgdeb +-unpack_dir = $(pkg_deb_dir)/$(tar_dir) +-orig_tar_gz = $(pkg_deb_dir)/$(package)_$(version).orig.tar.gz +-pkg_deb_src = $(pkg_deb_dir)/$(package)_$(version)-$(revision)_source.changes +-pkg_deb_bin = $(pkg_deb_dir)/$(package)_$(version)-$(revision)_$(architecture).changes +- +-deb_pkg_key = CB8C5858 + + debclean: + rm -rf $(pkg_deb_dir) diff --git a/filesystems/httpfs/files/patch-httpfs2.c b/filesystems/httpfs/files/patch-httpfs2.c new file mode 100644 index 000000000000..c18b96efd4a4 --- /dev/null +++ b/filesystems/httpfs/files/patch-httpfs2.c @@ -0,0 +1,53 @@ +--- httpfs2.c.orig 2012-09-03 14:58:02 UTC ++++ httpfs2.c +@@ -35,7 +35,7 @@ + #include <assert.h> + #include <ctype.h> + #include <sys/stat.h> +-#include <sys/dir.h> ++#include <dirent.h> + #include <sys/types.h> + #include <sys/time.h> + #include <sys/socket.h> +@@ -188,7 +188,7 @@ static char * b64_encode(unsigned const char* ptr, lon + + static int httpfs_stat(fuse_ino_t ino, struct stat *stbuf) + { +- stbuf->st_ino = ino; ++ stbuf->st_ino = (uint32_t)ino; + switch (ino) { + case 1: + stbuf->st_mode = S_IFDIR | 0755; +@@ -257,7 +257,7 @@ static void dirbuf_add(fuse_req_t req, struct dirbuf * + b->size += fuse_add_direntry(req, NULL, 0, name, NULL, 0); + b->p = (char *) realloc(b->p, b->size); + memset(&stbuf, 0, sizeof(stbuf)); +- stbuf.st_ino = ino; ++ stbuf.st_ino = (uint32_t)ino; + fuse_add_direntry(req, b->p + oldsize, b->size - oldsize, name, &stbuf, + (off_t) b->size); + } +@@ -667,11 +667,12 @@ static char * url_encode(char * path) { + + static int init_url(struct_url* url) + { +- memset(url, 0, sizeof(url)); ++ memset(url, 0, sizeof(*url)); + url->sock_type = SOCK_CLOSED; + url->timeout = TIMEOUT; + #ifdef USE_SSL +- url->cafile = CERT_STORE; ++ if ((url->cafile = getenv("CERT_STORE")) == NULL) ++ url->cafile = CERT_STORE; + #endif + return 0; + } +@@ -911,7 +912,7 @@ int main(int argc, char *argv[]) + return 3; + } + #ifdef USE_SSL +- else { ++ else if(main_url.ss != NULL) { + print_ssl_info(main_url.ss); + } + #endif diff --git a/filesystems/httpfs/pkg-descr b/filesystems/httpfs/pkg-descr new file mode 100644 index 000000000000..f66315b8419d --- /dev/null +++ b/filesystems/httpfs/pkg-descr @@ -0,0 +1,4 @@ +httpfs depends on FUSE. It uses HTTP/1.1 extensions to read arbitrary +bytes from a file on a web-server. This is particular interesting for +an iso, since it can be investigated (loop device) without actually +downloading the whole iso. |