summaryrefslogtreecommitdiff
path: root/filesystems/cramfs
diff options
context:
space:
mode:
Diffstat (limited to 'filesystems/cramfs')
-rw-r--r--filesystems/cramfs/Makefile30
-rw-r--r--filesystems/cramfs/distinfo3
-rw-r--r--filesystems/cramfs/files/patch-GNUmakefile10
-rw-r--r--filesystems/cramfs/files/patch-cramfsck.c39
-rw-r--r--filesystems/cramfs/files/patch-mkcramfs.c12
-rw-r--r--filesystems/cramfs/pkg-descr3
6 files changed, 97 insertions, 0 deletions
diff --git a/filesystems/cramfs/Makefile b/filesystems/cramfs/Makefile
new file mode 100644
index 000000000000..7faf71c22319
--- /dev/null
+++ b/filesystems/cramfs/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= cramfs
+PORTVERSION= 1.1
+PORTREVISION= 1
+CATEGORIES= filesystems sysutils
+MASTER_SITES= SF
+
+MAINTAINER= portmaster@BSDforge.com
+COMMENT= Linux Compressed ROM FileSystem
+WWW= https://sourceforge.net/projects/cramfs/
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USES= gmake
+
+MAKEFILE= GNUmakefile
+
+PLIST_FILES= sbin/cramfsck sbin/mkcramfs
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD
+CFLAGS+= -Wno-error=incompatible-function-pointer-types
+.endif
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/cramfsck ${STAGEDIR}${PREFIX}/sbin
+ ${INSTALL_PROGRAM} ${WRKSRC}/mkcramfs ${STAGEDIR}${PREFIX}/sbin
+
+.include <bsd.port.mk>
diff --git a/filesystems/cramfs/distinfo b/filesystems/cramfs/distinfo
new file mode 100644
index 000000000000..766181316d36
--- /dev/null
+++ b/filesystems/cramfs/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1730905204
+SHA256 (cramfs-1.1.tar.gz) = 133caca2c4e7c64106555154ee0ff693f5cf5beb9421ce2eb86baee997d22368
+SIZE (cramfs-1.1.tar.gz) = 24179
diff --git a/filesystems/cramfs/files/patch-GNUmakefile b/filesystems/cramfs/files/patch-GNUmakefile
new file mode 100644
index 000000000000..39ee95d61ca9
--- /dev/null
+++ b/filesystems/cramfs/files/patch-GNUmakefile
@@ -0,0 +1,10 @@
+--- GNUmakefile.orig Wed Nov 29 12:51:59 2006
++++ GNUmakefile Wed Nov 29 12:52:06 2006
+@@ -1,5 +1,5 @@
+-CC = gcc
+-CFLAGS = -W -Wall -O2 -g
++CC ?= gcc
++CFLAGS ?= -W -Wall -O2 -g
+ CPPFLAGS = -I.
+ LDLIBS = -lz
+ PROGS = mkcramfs cramfsck
diff --git a/filesystems/cramfs/files/patch-cramfsck.c b/filesystems/cramfs/files/patch-cramfsck.c
new file mode 100644
index 000000000000..9a685b5565dc
--- /dev/null
+++ b/filesystems/cramfs/files/patch-cramfsck.c
@@ -0,0 +1,39 @@
+--- cramfsck.c.orig Wed Nov 29 12:49:40 2006
++++ cramfsck.c Wed Nov 29 12:51:12 2006
+@@ -47,13 +47,14 @@
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
+-#include <sys/sysmacros.h>
+ #include <utime.h>
+ #include <sys/ioctl.h>
+ #define _LINUX_STRING_H_
+-#include <linux/fs.h>
+ #include <linux/cramfs_fs.h>
+ #include <zlib.h>
++
++#define BLKGETSIZE _IO(0x12,96)
++#define MAP_ANONYMOUS 0x20
+
+ /* Exit codes used by fsck-type programs */
+ #define FSCK_OK 0 /* No errors */
+@@ -603,8 +603,17 @@
+ }
+
+ if (opt_extract) {
+- if (mknod(path, i->mode, devtype) < 0) {
+- die(FSCK_ERROR, 1, "mknod failed: %s", path);
++ switch(type) {
++ default:
++ if (mknod(path, i->mode, devtype) < 0) {
++ die(FSCK_ERROR, 1, "mknod failed: %s", path);
++ }
++ break;
++ case 'p':
++ if (mkfifo(path, i->mode) < 0) {
++ die(FSCK_ERROR, 1, "mkfifo failed: %s", path);
++ }
++ break;
+ }
+ change_file_status(path, i);
+ }
diff --git a/filesystems/cramfs/files/patch-mkcramfs.c b/filesystems/cramfs/files/patch-mkcramfs.c
new file mode 100644
index 000000000000..5e4f1328f7a5
--- /dev/null
+++ b/filesystems/cramfs/files/patch-mkcramfs.c
@@ -0,0 +1,12 @@
+--- mkcramfs.c.orig Wed Nov 29 12:47:30 2006
++++ mkcramfs.c Wed Nov 29 12:49:25 2006
+@@ -36,6 +36,9 @@
+ #include <linux/cramfs_fs.h>
+ #include <zlib.h>
+
++#define MAP_ANONYMOUS MAP_ANON
++typedef long long loff_t;
++
+ /* Exit codes used by mkfs-type programs */
+ #define MKFS_OK 0 /* No errors */
+ #define MKFS_ERROR 8 /* Operational error */
diff --git a/filesystems/cramfs/pkg-descr b/filesystems/cramfs/pkg-descr
new file mode 100644
index 000000000000..827f6c3addcd
--- /dev/null
+++ b/filesystems/cramfs/pkg-descr
@@ -0,0 +1,3 @@
+Cramfs is a Linux filesystem designed to be simple, small,
+and to compress things well. It is used on a number of
+embedded systems and small devices.