fstools: add the new fstools package
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 39895
This commit is contained in:
		| @@ -12,7 +12,7 @@ __target_inc=1 | |||||||
| DEVICE_TYPE?=router | DEVICE_TYPE?=router | ||||||
|  |  | ||||||
| # Default packages - the really basic set | # Default packages - the really basic set | ||||||
| DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd | DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools | ||||||
| # For router targets | # For router targets | ||||||
| DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall odhcpd odhcp6c | DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall odhcpd odhcp6c | ||||||
| DEFAULT_PACKAGES.bootloader:= | DEFAULT_PACKAGES.bootloader:= | ||||||
|   | |||||||
| @@ -3,11 +3,7 @@ | |||||||
|  |  | ||||||
| START=95 | START=95 | ||||||
| boot() { | boot() { | ||||||
| 	[ -d /tmp/root ] && { | 	[ -d /tmp/root ] && fs-state done | ||||||
| 		lock /tmp/.switch2jffs |  | ||||||
| 		switch2jffs |  | ||||||
| 		lock -u /tmp/.switch2jffs |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	# process user commands | 	# process user commands | ||||||
| 	[ -f /etc/rc.local ] && { | 	[ -f /etc/rc.local ] && { | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| # Copyright (C) 2010 Vertical Communications | # Copyright (C) 2010 Vertical Communications | ||||||
|  |  | ||||||
| do_mount_root() { | do_mount_root() { | ||||||
| 	mount_root | 	fs-state start | ||||||
| 	boot_run_hook preinit_mount_root | 	boot_run_hook preinit_mount_root | ||||||
| 	[ -f /sysupgrade.tgz ] && { | 	[ -f /sysupgrade.tgz ] && { | ||||||
| 		echo "- config restore -" | 		echo "- config restore -" | ||||||
|   | |||||||
| @@ -57,6 +57,8 @@ run_ramfs() { # <command> [...] | |||||||
| 		/bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc | 		/bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc | ||||||
|  |  | ||||||
| 	install_bin /sbin/mtd | 	install_bin /sbin/mtd | ||||||
|  | 	install_bin /sbin/fs-state | ||||||
|  | 	install_bin /sbin/snapshot | ||||||
| 	for file in $RAMFS_COPY_BIN; do | 	for file in $RAMFS_COPY_BIN; do | ||||||
| 		install_bin $file | 		install_bin $file | ||||||
| 	done | 	done | ||||||
|   | |||||||
							
								
								
									
										41
									
								
								package/network/services/mdnsd/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								package/network/services/mdnsd/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | # | ||||||
|  | # Copyright (C) 2014 OpenWrt.org | ||||||
|  | # | ||||||
|  | # This is free software, licensed under the GNU General Public License v2. | ||||||
|  | # See /LICENSE for more information. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | include $(TOPDIR)/rules.mk | ||||||
|  |  | ||||||
|  | PKG_NAME:=mdnsd | ||||||
|  | PKG_VERSION:=2014-01-19 | ||||||
|  | PKG_RELEASE=$(PKG_SOURCE_VERSION) | ||||||
|  |  | ||||||
|  | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||||
|  | PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) | ||||||
|  | PKG_SOURCE_URL:=git://nbd.name/mdnsd.git | ||||||
|  | PKG_SOURCE_PROTO:=git | ||||||
|  | PKG_SOURCE_VERSION:=8f771a5bcfd7f99e2ab8c68f1932c9d7c6804e96 | ||||||
|  |  | ||||||
|  | PKG_MAINTAINER:=John Crispin <blogic@openwrt.org> | ||||||
|  |  | ||||||
|  | include $(INCLUDE_DIR)/package.mk | ||||||
|  | include $(INCLUDE_DIR)/cmake.mk | ||||||
|  |  | ||||||
|  | define Package/mdnsd | ||||||
|  |   SECTION:=net | ||||||
|  |   CATEGORY:=Network | ||||||
|  |   TITLE:=Multicast DNS Daemon | ||||||
|  |   DEPENDS:=+libubox +libubus +libblobmsg-json | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include | ||||||
|  |  | ||||||
|  | define Package/mdnsd/install | ||||||
|  | 	$(INSTALL_DIR) $(1)/usr/sbin | ||||||
|  | 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/mdnsd $(1)/usr/sbin/ | ||||||
|  | #	$(INSTALL_DIR) $(1)/etc/init.d | ||||||
|  | #	$(INSTALL_BIN) ./files/relay.init $(1)/etc/init.d/relayd | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | $(eval $(call BuildPackage,mdnsd)) | ||||||
							
								
								
									
										2
									
								
								package/network/services/mdnsd/files/relay.hotplug
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								package/network/services/mdnsd/files/relay.hotplug
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | /etc/init.d/relayd enabled && /etc/init.d/relayd start | ||||||
							
								
								
									
										101
									
								
								package/network/services/mdnsd/files/relay.init
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								package/network/services/mdnsd/files/relay.init
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,101 @@ | |||||||
|  | #!/bin/sh /etc/rc.common | ||||||
|  | # Copyright (c) 2011-2012 OpenWrt.org | ||||||
|  |  | ||||||
|  | START=80 | ||||||
|  |  | ||||||
|  | USE_PROCD=1 | ||||||
|  | PROG=/usr/sbin/relayd | ||||||
|  |  | ||||||
|  | resolve_ifname() { | ||||||
|  | 	grep -qs "^ *$1:" /proc/net/dev && { | ||||||
|  | 		procd_append_param command -I "$1" | ||||||
|  | 		append ifaces "$1" | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | resolve_network() { | ||||||
|  | 	local ifn | ||||||
|  | 	fixup_interface "$1" | ||||||
|  | 	config_get ifn "$1" ifname | ||||||
|  | 	[ -z "$ifn" ] && return 1 | ||||||
|  | 	resolve_ifname "$ifn" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | start_relay() { | ||||||
|  | 	local cfg="$1" | ||||||
|  |  | ||||||
|  | 	local args="" | ||||||
|  | 	local ifaces="" | ||||||
|  |  | ||||||
|  | 	config_get proto "$cfg" proto | ||||||
|  | 	[[ "$proto" == relay ]] || return 0 | ||||||
|  |  | ||||||
|  | 	SERVICE_DAEMONIZE=1 | ||||||
|  | 	SERVICE_WRITE_PID=1 | ||||||
|  | 	SERVICE_PID_FILE="/var/run/relay-$cfg.pid" | ||||||
|  | 	[ -f "$SERVICE_PID_FILE" ] && { | ||||||
|  | 		if grep -q relayd "/proc/$(cat $SERVICE_PID_FILE)/cmdline"; then | ||||||
|  | 			return 0 | ||||||
|  | 		else | ||||||
|  | 			rm -f "$SERVICE_PID_FILE" | ||||||
|  | 		fi | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	procd_open_instance | ||||||
|  | 	procd_set_param command "$PROG" | ||||||
|  |  | ||||||
|  | 	local net networks | ||||||
|  | 	config_get networks "$cfg" network | ||||||
|  | 	for net in $networks; do | ||||||
|  | 		resolve_network "$net" || { | ||||||
|  | 			return 1 | ||||||
|  | 		} | ||||||
|  | 	done | ||||||
|  |  | ||||||
|  | 	local ifn ifnames | ||||||
|  | 	config_get ifnames "$cfg" ifname | ||||||
|  | 	for ifn in $ifnames; do | ||||||
|  | 		resolve_ifname "$ifn" | ||||||
|  | 	done | ||||||
|  |  | ||||||
|  | 	local ipaddr | ||||||
|  | 	config_get ipaddr "$cfg" ipaddr | ||||||
|  | 	[ -n "$ipaddr" ] && procd_append_param command -L "$ipaddr" | ||||||
|  |  | ||||||
|  | 	local gateway | ||||||
|  | 	config_get gateway "$cfg" gateway | ||||||
|  | 	[ -n "$gateway" ] && procd_append_param command -G "$gateway" | ||||||
|  |  | ||||||
|  | 	local expiry # = 30 | ||||||
|  | 	config_get expiry "$cfg" expiry | ||||||
|  | 	[ -n "$expiry" ] && procd_append_param command "$expiry" | ||||||
|  |  | ||||||
|  | 	local retry # = 5 | ||||||
|  | 	config_get retry "$cfg" retry | ||||||
|  | 	[ -n "$retry" ] && procd_append_param command -p "$retry" | ||||||
|  |  | ||||||
|  | 	local table # = 16800 | ||||||
|  | 	config_get table "$cfg" table | ||||||
|  | 	[ -n "$table" ] && procd_append_param command -T "$table" | ||||||
|  |  | ||||||
|  | 	local fwd_bcast # = 1 | ||||||
|  | 	config_get_bool fwd_bcast "$cfg" forward_bcast 1 | ||||||
|  | 	[ $fwd_bcast -eq 1 ] && procd_append_param command "-B" | ||||||
|  |  | ||||||
|  | 	local fwd_dhcp # = 1 | ||||||
|  | 	config_get_bool fwd_dhcp "$cfg" forward_dhcp 1 | ||||||
|  | 	[ $fwd_dhcp -eq 1 ] && procd_append_param command "-D" | ||||||
|  |  | ||||||
|  | 	procd_close_instance | ||||||
|  | } | ||||||
|  |  | ||||||
|  | service_triggers() | ||||||
|  | { | ||||||
|  | 	procd_add_reload_trigger "network" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | start_service() { | ||||||
|  | 	include /lib/network | ||||||
|  | 	config_load network | ||||||
|  | 	config_foreach start_relay interface | ||||||
|  | } | ||||||
							
								
								
									
										60
									
								
								package/system/fstools/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								package/system/fstools/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | |||||||
|  | include $(TOPDIR)/rules.mk | ||||||
|  |  | ||||||
|  | PKG_NAME:=fstools | ||||||
|  | PKG_VERSION:=2014-02-27 | ||||||
|  |  | ||||||
|  | PKG_RELEASE=$(PKG_SOURCE_VERSION) | ||||||
|  |  | ||||||
|  | PKG_SOURCE_PROTO:=git | ||||||
|  | PKG_SOURCE_URL:=git://nbd.name/fstools.git | ||||||
|  | PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) | ||||||
|  | PKG_SOURCE_VERSION:=d292ffc85f48dd9c8774a0860f50397dd2966e7a | ||||||
|  | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz | ||||||
|  | CMAKE_INSTALL:=1 | ||||||
|  |  | ||||||
|  | PKG_LICENSE:=GPLv2 | ||||||
|  | PKG_LICENSE_FILES:= | ||||||
|  |  | ||||||
|  | PKG_MAINTAINER:=John Crispin <blogic@openwrt.org> | ||||||
|  |  | ||||||
|  | include $(INCLUDE_DIR)/package.mk | ||||||
|  | include $(INCLUDE_DIR)/cmake.mk | ||||||
|  |  | ||||||
|  | TARGET_LDFLAGS += $(if $(CONFIG_USE_EGLIBC),-lrt) | ||||||
|  |  | ||||||
|  | define Package/fstools | ||||||
|  |   SECTION:=base | ||||||
|  |   CATEGORY:=Base system | ||||||
|  |   DEPENDS:=+ubox +USE_EGLIBC:librt | ||||||
|  |   TITLE:=OpenWrt filesystem tools | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Package/block-mount | ||||||
|  |   SECTION:=base | ||||||
|  |   CATEGORY:=Base system | ||||||
|  |   TITLE:=Block device mounting and checking | ||||||
|  |   DEPENDS:=+ubox +libubox +libuci | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Package/fstools/install | ||||||
|  | 	$(INSTALL_DIR) $(1)/sbin | ||||||
|  |  | ||||||
|  | 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fs-state $(1)/sbin/ | ||||||
|  | 	$(INSTALL_BIN) ./files/snapshot $(1)/sbin/ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Package/block-mount/install | ||||||
|  | 	$(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/etc/hotplug.d/block $(1)/etc/init.d/ $(1)/etc/uci-defaults/ | ||||||
|  |  | ||||||
|  | 	$(INSTALL_BIN) ./files/fstab.init $(1)/etc/init.d/fstab | ||||||
|  | 	$(INSTALL_DATA) ./files/fstab.default $(1)/etc/uci-defaults/10-fstab | ||||||
|  | 	$(INSTALL_DATA) ./files/mount.hotplug $(1)/etc/hotplug.d/block/10-mount | ||||||
|  |  | ||||||
|  | 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/block $(1)/sbin/ | ||||||
|  | 	ln -s /sbin/block $(1)/usr/sbin/swapon | ||||||
|  | 	ln -s /sbin/block $(1)/usr/sbin/swapoff | ||||||
|  |  | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | $(eval $(call BuildPackage,fstools)) | ||||||
|  | $(eval $(call BuildPackage,block-mount)) | ||||||
							
								
								
									
										111
									
								
								package/system/fstools/files/snapshot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								package/system/fstools/files/snapshot
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,111 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | # Copyright (C) 2014 OpenWrt.org | ||||||
|  |  | ||||||
|  |  | ||||||
|  | do_snapshot_unpack() { | ||||||
|  | 	echo "- snapshot -" | ||||||
|  | 	mkdir /tmp/snapshot | ||||||
|  | 	cd /tmp/snapshot | ||||||
|  | 	fs-state snapshot read | ||||||
|  | 	block=`ls block*.tar.gz 2> /dev/null` | ||||||
|  | 	[ -z "$block" ] || for a in $block; do | ||||||
|  | 		tar xzf $a -C / | ||||||
|  | 		rm -f $a | ||||||
|  | 	done | ||||||
|  | } | ||||||
|  |  | ||||||
|  | do_config_unpack() { | ||||||
|  | 	echo "- config -" | ||||||
|  | 	fs-state snapshot config_read | ||||||
|  | 	[ -f /tmp/config.tar.gz ] && { | ||||||
|  | 		tar xzf /tmp/config.tar.gz -C / | ||||||
|  | 		rm -f /tmp/config.tar.gz | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | do_snapshot_push() { | ||||||
|  | 	cd /volatile | ||||||
|  | 	tar czf /tmp/snapshot.tar.gz * | ||||||
|  | 	fs-state snapshot write | ||||||
|  | 	reboot | ||||||
|  | } | ||||||
|  |  | ||||||
|  | do_config_push() { | ||||||
|  | 	cd /volatile | ||||||
|  | 	tar czf /tmp/config.tar.gz * | ||||||
|  | 	fs-state snapshot config_write | ||||||
|  | } | ||||||
|  |  | ||||||
|  | do_snapshot_upgrade() { | ||||||
|  | 	opkg update | ||||||
|  | 	[ $? == 0 ] || exit 1 | ||||||
|  |  | ||||||
|  | 	opkg list-upgradable | ||||||
|  | 	[ $? == 0 ] || exit 2 | ||||||
|  | 	 | ||||||
|  | 	UPDATES=`opkg list-upgradable | cut -d" " -f1` | ||||||
|  | 	[ -z "${UPDATES}" ] && exit 0 | ||||||
|  |  | ||||||
|  | 	opkg upgrade ${UPDATES} | ||||||
|  | 	[ $? == 0 ] || exit 3 | ||||||
|  |  | ||||||
|  | 	do_snapshot_push | ||||||
|  | 	sleep 5 | ||||||
|  | 	reboot | ||||||
|  | 	sleep 10 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | do_convert_jffs2() { | ||||||
|  | 	fs-state snapshot write | ||||||
|  | 	sleep 2 | ||||||
|  | 	reboot -f | ||||||
|  | } | ||||||
|  |  | ||||||
|  | do_convert() { | ||||||
|  | 	. /lib/functions.sh | ||||||
|  | 	. /lib/upgrade/common.sh | ||||||
|  | 	ubus call system upgrade | ||||||
|  | 	touch /tmp/sysupgrade | ||||||
|  | 	cd /overlay | ||||||
|  | 	tar czf /tmp/snapshot.tar.gz * | ||||||
|  | 	kill_remaining TERM | ||||||
|  | 	sleep 3 | ||||||
|  | 	kill_remaining KILL | ||||||
|  | 	run_ramfs '. /sbin/snapshot; do_convert_jffs2' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | [ -n "$(cat /proc/mounts|grep /overlay|grep jffs2)" ] && { | ||||||
|  | case $1 in | ||||||
|  | convert) | ||||||
|  | 	do_convert | ||||||
|  | 	;; | ||||||
|  | esac | ||||||
|  | } | ||||||
|  |  | ||||||
|  | [ -d /volatile ] && { | ||||||
|  | case $1 in | ||||||
|  | push) | ||||||
|  | 	do_snapshot_push | ||||||
|  | 	;; | ||||||
|  | config) | ||||||
|  | 	do_config_push | ||||||
|  | 	;; | ||||||
|  | upgrade) | ||||||
|  | 	do_snapshot_upgrade | ||||||
|  | 	;; | ||||||
|  | info) | ||||||
|  | 	fs-state info | ||||||
|  | 	;; | ||||||
|  | esac | ||||||
|  | } | ||||||
|  |  | ||||||
|  | [ "$SNAPSHOT" = "magic" ] && { | ||||||
|  | case $1 in | ||||||
|  | unpack) | ||||||
|  | 	do_snapshot_unpack | ||||||
|  | 	;; | ||||||
|  | config_unpack) | ||||||
|  | 	do_config_unpack | ||||||
|  | 	;; | ||||||
|  | esac | ||||||
|  | } | ||||||
| @@ -28,22 +28,13 @@ define Package/ubox | |||||||
|   TITLE:=OpenWrt system helper toolbox |   TITLE:=OpenWrt system helper toolbox | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Package/block-mount |  | ||||||
|   SECTION:=base |  | ||||||
|   CATEGORY:=Base system |  | ||||||
|   TITLE:=Block device mounting and checking |  | ||||||
|   DEPENDS:=+ubox +libubox +libuci |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Package/ubox/install | define Package/ubox/install | ||||||
| 	$(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/lib/ $(1)/etc/init.d/ | 	$(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/lib/ $(1)/etc/init.d/ | ||||||
|  |  | ||||||
| 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{mount_root,kmodloader,logd,logread,validate_data} $(1)/sbin/ | 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{kmodloader,logd,logread,validate_data} $(1)/sbin/ | ||||||
| 	$(INSTALL_BIN) ./files/log.init $(1)/etc/init.d/log | 	$(INSTALL_BIN) ./files/log.init $(1)/etc/init.d/log | ||||||
| 	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libvalidate.so $(1)/lib | 	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libvalidate.so $(1)/lib | ||||||
| 	ln -s /sbin/mount_root $(1)/sbin/switch2jffs |  | ||||||
| 	ln -s /sbin/mount_root $(1)/sbin/jffs2reset |  | ||||||
| 	ln -s /sbin/mount_root $(1)/sbin/jffs2mark |  | ||||||
| 	ln -s /sbin/kmodloader $(1)/usr/sbin/rmmod | 	ln -s /sbin/kmodloader $(1)/usr/sbin/rmmod | ||||||
| 	ln -s /sbin/kmodloader $(1)/usr/sbin/insmod | 	ln -s /sbin/kmodloader $(1)/usr/sbin/insmod | ||||||
| 	ln -s /sbin/kmodloader $(1)/usr/sbin/lsmod | 	ln -s /sbin/kmodloader $(1)/usr/sbin/lsmod | ||||||
| @@ -51,18 +42,4 @@ define Package/ubox/install | |||||||
| 	ln -s /sbin/kmodloader $(1)/usr/sbin/modprobe | 	ln -s /sbin/kmodloader $(1)/usr/sbin/modprobe | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Package/block-mount/install |  | ||||||
| 	$(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/etc/hotplug.d/block $(1)/etc/init.d/ $(1)/etc/uci-defaults/ |  | ||||||
|  |  | ||||||
| 	$(INSTALL_BIN) ./files/fstab.init $(1)/etc/init.d/fstab |  | ||||||
| 	$(INSTALL_DATA) ./files/fstab.default $(1)/etc/uci-defaults/10-fstab |  | ||||||
| 	$(INSTALL_DATA) ./files/mount.hotplug $(1)/etc/hotplug.d/block/10-mount |  | ||||||
|  |  | ||||||
| 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/block $(1)/sbin/ |  | ||||||
| 	ln -s /sbin/block $(1)/usr/sbin/swapon |  | ||||||
| 	ln -s /sbin/block $(1)/usr/sbin/swapoff |  | ||||||
|  |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| $(eval $(call BuildPackage,ubox)) | $(eval $(call BuildPackage,ubox)) | ||||||
| $(eval $(call BuildPackage,block-mount)) |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 John Crispin
					John Crispin