packages: clean up the package folder
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 37007
This commit is contained in:
47
package/system/mountd/Makefile
Normal file
47
package/system/mountd/Makefile
Normal file
@@ -0,0 +1,47 @@
|
||||
# Copyright (C) 2009-2012 OpenWrt.org
|
||||
# All rights reserved.
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mountd
|
||||
PKG_VERSION:=0.1
|
||||
PKG_RELEASE:=6
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
|
||||
PKG_MD5SUM:=b77253ee4321d24d200fffc4f7ca3d15
|
||||
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/mountd
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=OpenWrt automount daemon
|
||||
DEPENDS:=@USB_SUPPORT +uci +kmod-usb-storage +kmod-fs-autofs4
|
||||
URL:=http://www.openwrt.org
|
||||
endef
|
||||
|
||||
define Package/mountd/description
|
||||
openwrt automount daemon
|
||||
endef
|
||||
|
||||
define Package/mountd/conffiles
|
||||
/etc/config/mountd
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(PKG_BUILD_DIR)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)
|
||||
endef
|
||||
|
||||
define Package/mountd/install
|
||||
$(INSTALL_DIR) $(1)/sbin/ $(1)/etc/config/ $(1)/etc/init.d/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mountd $(1)/sbin/
|
||||
$(INSTALL_DATA) ./files/mountd.config $(1)/etc/config/mountd
|
||||
$(INSTALL_BIN) ./files/mountd.init $(1)/etc/init.d/mountd
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,mountd))
|
||||
3
package/system/mountd/files/mountd.config
Normal file
3
package/system/mountd/files/mountd.config
Normal file
@@ -0,0 +1,3 @@
|
||||
config mountd mountd
|
||||
option timeout 60
|
||||
option path /tmp/mounts/
|
||||
19
package/system/mountd/files/mountd.init
Executable file
19
package/system/mountd/files/mountd.init
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=80
|
||||
|
||||
SERVICE_DAEMONIZE=1
|
||||
SERVICE_WRITE_PID=1
|
||||
SERVICE_PID_FILE=/var/run/mountd.pid
|
||||
|
||||
MOUNTD_BIN=/sbin/mountd
|
||||
|
||||
start()
|
||||
{
|
||||
service_start $MOUNTD_BIN -f
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
service_stop $MOUNTD_BIN
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
lib/uci.c | 2 +-
|
||||
lib/ucix.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/lib/uci.c
|
||||
+++ b/lib/uci.c
|
||||
@@ -28,7 +28,7 @@ struct uci_package *p = NULL;
|
||||
struct uci_context* uci_init(char *config_file)
|
||||
{
|
||||
struct uci_context *ctx = uci_alloc_context();
|
||||
- uci_add_history_path(ctx, "/var/state");
|
||||
+ uci_add_delta_path(ctx, "/var/state");
|
||||
if(uci_load(ctx, config_file, &p) != UCI_OK)
|
||||
{
|
||||
log_printf("/etc/config/%s is missing or corrupt\n", config_file);
|
||||
--- a/lib/ucix.c
|
||||
+++ b/lib/ucix.c
|
||||
@@ -18,7 +18,7 @@ static inline int ucix_get_ptr(struct uc
|
||||
struct uci_context* ucix_init(const char *config_file)
|
||||
{
|
||||
struct uci_context *ctx = uci_alloc_context();
|
||||
- uci_add_history_path(ctx, "/var/state");
|
||||
+ uci_add_delta_path(ctx, "/var/state");
|
||||
if(uci_load(ctx, config_file, NULL) != UCI_OK)
|
||||
{
|
||||
printf("%s/%s is missing or corrupt\n", ctx->savedir, config_file);
|
||||
32
package/system/mountd/patches/020-handle_timeout.patch
Normal file
32
package/system/mountd/patches/020-handle_timeout.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
--- a/lib/autofs.c
|
||||
+++ b/lib/autofs.c
|
||||
@@ -140,6 +140,7 @@ static int fullread(void *ptr, size_t le
|
||||
|
||||
static int autofs_in(union autofs_v5_packet_union *pkt)
|
||||
{
|
||||
+ int res;
|
||||
struct pollfd fds[1];
|
||||
|
||||
fds[0].fd = fdout;
|
||||
@@ -147,15 +148,19 @@ static int autofs_in(union autofs_v5_pac
|
||||
|
||||
while(1)
|
||||
{
|
||||
- if(poll(fds, 2, 1000) == -1)
|
||||
+ res = poll(fds, 1, -1);
|
||||
+
|
||||
+ if (res == -1)
|
||||
{
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
log_printf("failed while trying to read packet from kernel\n");
|
||||
return -1;
|
||||
}
|
||||
- if(fds[0].revents & POLLIN)
|
||||
+ else if ((res > 0) && (fds[0].revents & POLLIN))
|
||||
+ {
|
||||
return fullread(pkt, sizeof(*pkt));
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
85
package/system/mountd/patches/030-ext4_support.patch
Normal file
85
package/system/mountd/patches/030-ext4_support.patch
Normal file
@@ -0,0 +1,85 @@
|
||||
diff -ruN mountd-0.1.orig/include/fs.h mountd-0.1/include/fs.h
|
||||
--- mountd-0.1.orig/include/fs.h 2009-10-02 22:57:04.000000000 +0200
|
||||
+++ mountd-0.1/include/fs.h 2012-07-08 18:42:32.000000000 +0200
|
||||
@@ -7,5 +7,6 @@
|
||||
#define EFI 7
|
||||
#define NTFS 8
|
||||
#define EXTENDED 9
|
||||
+#define EXT4 10
|
||||
|
||||
int detect_fs(char *device);
|
||||
diff -ruN mountd-0.1.orig/lib/fs.c mountd-0.1/lib/fs.c
|
||||
--- mountd-0.1.orig/lib/fs.c 2009-10-02 23:26:22.000000000 +0200
|
||||
+++ mountd-0.1/lib/fs.c 2012-07-08 19:28:08.000000000 +0200
|
||||
@@ -91,9 +91,14 @@
|
||||
goto out;
|
||||
if(get_le_short(buffer + 56) == 0xEF53)
|
||||
{
|
||||
- if((get_le_long(buffer + 96) & 0x0008)
|
||||
- || (get_le_long(buffer + 92) & 0x0004))
|
||||
- ret = EXT3;
|
||||
+ if(get_le_long(buffer + 92) & 0x0004)
|
||||
+ {
|
||||
+ if ((get_le_long(buffer + 96) < 0x0000040)
|
||||
+ && (get_le_long(buffer + 100) < 0x0000008))
|
||||
+ ret = EXT3;
|
||||
+ else
|
||||
+ ret = EXT4;
|
||||
+ }
|
||||
else
|
||||
ret = EXT2;
|
||||
}
|
||||
diff -ruN mountd-0.1.orig/lib/mount.c mountd-0.1/lib/mount.c
|
||||
--- mountd-0.1.orig/lib/mount.c 2009-10-03 12:54:57.000000000 +0200
|
||||
+++ mountd-0.1/lib/mount.c 2012-07-08 19:04:29.000000000 +0200
|
||||
@@ -53,7 +53,10 @@
|
||||
"EXT3",
|
||||
"FAT",
|
||||
"HFSPLUS",
|
||||
- "NTFS"
|
||||
+ "",
|
||||
+ "NTFS",
|
||||
+ "",
|
||||
+ "EXT4"
|
||||
};
|
||||
|
||||
#define MAX_MOUNTED 32
|
||||
@@ -93,7 +96,7 @@
|
||||
ucix_add_option(ctx, mountd, q->serial, "rev", q->rev);
|
||||
snprintf(t, 64, "size%d", atoi(&q->dev[3]));
|
||||
ucix_add_option(ctx, mountd, q->serial, t, q->size);
|
||||
- if(q->fs > MBR && q->fs <= NTFS)
|
||||
+ if(q->fs > MBR && q->fs <= EXT4)
|
||||
{
|
||||
snprintf(t, 64, "fs%d", atoi(&q->dev[3]));
|
||||
ucix_add_option(ctx, mountd, q->serial, t, fs_names[q->fs]);
|
||||
@@ -131,7 +134,7 @@
|
||||
{
|
||||
struct mount *mount;
|
||||
char tmp[64], tmp2[64];
|
||||
- if(fs <= MBR || fs > NTFS)
|
||||
+ if(fs <= MBR || fs > EXT4)
|
||||
return;
|
||||
mount = malloc(sizeof(struct mount));
|
||||
INIT_LIST_HEAD(&mount->list);
|
||||
@@ -147,7 +150,7 @@
|
||||
mount->mounted = 0;
|
||||
mount->fs = fs;
|
||||
list_add(&mount->list, &mounts);
|
||||
- if((!mount->ignore) && (mount->fs > MBR) && (mount->fs <= NTFS))
|
||||
+ if((!mount->ignore) && (mount->fs > MBR) && (mount->fs <= EXT4))
|
||||
{
|
||||
log_printf("new mount : %s -> %s (%s)\n", name, dev, fs_names[mount->fs]);
|
||||
snprintf(tmp, 64, "%s%s", uci_path, name);
|
||||
@@ -226,6 +229,11 @@
|
||||
log_printf("mount -t vfat -o rw,uid=1000,gid=1000 /dev/%s %s", mount->dev, tmp);
|
||||
ret = system_printf("mount -t vfat -o rw,uid=1000,gid=1000 /dev/%s %s", mount->dev, tmp);
|
||||
}
|
||||
+ if(mount->fs == EXT4)
|
||||
+ {
|
||||
+ log_printf("mount -t ext4 -o rw,defaults /dev/%s %s", mount->dev, tmp);
|
||||
+ ret = system_printf("mount -t ext4 -o rw,defaults /dev/%s %s", mount->dev, tmp);
|
||||
+ }
|
||||
if(mount->fs == EXT3)
|
||||
{
|
||||
log_printf("mount -t ext3 -o rw,defaults /dev/%s %s", mount->dev, tmp);
|
||||
13
package/system/mountd/patches/040-optional-daemonize.patch
Normal file
13
package/system/mountd/patches/040-optional-daemonize.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- a/main.c
|
||||
+++ b/main.c
|
||||
@@ -13,7 +13,9 @@
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
- daemon(0,0);
|
||||
+ if ((argc < 2) || strcmp(argv[1], "-f"))
|
||||
+ daemon(0,0);
|
||||
+
|
||||
daemonize = 1;
|
||||
log_start();
|
||||
log_printf("Starting OpenWrt (auto)mountd V1\n");
|
||||
Reference in New Issue
Block a user