sysfsutils: move to the correct directory
SVN-Revision: 33856
This commit is contained in:
		
							
								
								
									
										70
									
								
								package/libs/sysfsutils/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								package/libs/sysfsutils/Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Copyright (C) 2006-2012 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:=sysfsutils
 | 
				
			||||||
 | 
					PKG_VERSION:=2.1.0
 | 
				
			||||||
 | 
					PKG_RELEASE:=2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 | 
				
			||||||
 | 
					PKG_SOURCE_URL:=@SF/linux-diag
 | 
				
			||||||
 | 
					PKG_MD5SUM:=14e7dcd0436d2f49aa403f67e1ef7ddc
 | 
				
			||||||
 | 
					PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_FIXUP:=autoreconf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_INSTALL:=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(INCLUDE_DIR)/package.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/libsysfs
 | 
				
			||||||
 | 
					  SECTION:=libs
 | 
				
			||||||
 | 
					  CATEGORY:=Libraries
 | 
				
			||||||
 | 
					  SUBMENU:=Filesystem
 | 
				
			||||||
 | 
					  TITLE:=Sysfs library
 | 
				
			||||||
 | 
					  URL:=http://linux-diag.sourceforge.net/Sysfsutils.html
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/sysfsutils
 | 
				
			||||||
 | 
					  SECTION:=utils
 | 
				
			||||||
 | 
					  CATEGORY:=Utilities
 | 
				
			||||||
 | 
					  SUBMENU:=Filesystem
 | 
				
			||||||
 | 
					  DEPENDS:=+libsysfs
 | 
				
			||||||
 | 
					  TITLE:=System Utilities Based on Sysfs
 | 
				
			||||||
 | 
					  URL:=http://linux-diag.sourceforge.net/Sysfsutils.html
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/libsysfs/description
 | 
				
			||||||
 | 
					The library's purpose is to provide a consistant and stable interface for
 | 
				
			||||||
 | 
					querying system device information exposed through sysfs.
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/sysfsutils/description
 | 
				
			||||||
 | 
					A utility built upon libsysfs that lists devices by bus, class, and topology.
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Build/InstallDev
 | 
				
			||||||
 | 
						$(INSTALL_DIR) $(1)/usr/include
 | 
				
			||||||
 | 
						$(CP) $(PKG_INSTALL_DIR)/usr/include/sysfs $(1)/usr/include/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						$(INSTALL_DIR) $(1)/usr/lib
 | 
				
			||||||
 | 
						$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsysfs.{a,so*,la} $(1)/usr/lib/
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/libsysfs/install
 | 
				
			||||||
 | 
						$(INSTALL_DIR) $(1)/usr/lib
 | 
				
			||||||
 | 
						$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsysfs.so* $(1)/usr/lib/
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/sysfsutils/install
 | 
				
			||||||
 | 
						$(INSTALL_DIR) $(1)/usr/bin
 | 
				
			||||||
 | 
						$(CP) $(PKG_INSTALL_DIR)/usr/bin/systool $(1)/usr/bin/
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,libsysfs))
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,sysfsutils))
 | 
				
			||||||
							
								
								
									
										55
									
								
								package/libs/sysfsutils/patches/200-mnt_path_check.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								package/libs/sysfsutils/patches/200-mnt_path_check.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
				
			|||||||
 | 
					--- a/lib/sysfs_utils.c
 | 
				
			||||||
 | 
					+++ b/lib/sysfs_utils.c
 | 
				
			||||||
 | 
					@@ -22,6 +22,7 @@
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					 #include "libsysfs.h"
 | 
				
			||||||
 | 
					 #include "sysfs.h"
 | 
				
			||||||
 | 
					+#include <mntent.h>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 /**
 | 
				
			||||||
 | 
					  * sysfs_remove_trailing_slash: Removes any trailing '/' in the given path
 | 
				
			||||||
 | 
					@@ -53,6 +54,9 @@ int sysfs_get_mnt_path(char *mnt_path, s
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					 	static char sysfs_path[SYSFS_PATH_MAX] = "";
 | 
				
			||||||
 | 
					 	const char *sysfs_path_env;
 | 
				
			||||||
 | 
					+	FILE *mnt;
 | 
				
			||||||
 | 
					+	struct mntent *mntent;
 | 
				
			||||||
 | 
					+	int ret;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	if (len == 0 || mnt_path == NULL)
 | 
				
			||||||
 | 
					 		return -1;
 | 
				
			||||||
 | 
					@@ -64,12 +68,31 @@ int sysfs_get_mnt_path(char *mnt_path, s
 | 
				
			||||||
 | 
					 		if (sysfs_path_env != NULL) {
 | 
				
			||||||
 | 
					 			safestrcpymax(mnt_path, sysfs_path_env, len);
 | 
				
			||||||
 | 
					 			sysfs_remove_trailing_slash(mnt_path);
 | 
				
			||||||
 | 
					-			return 0;
 | 
				
			||||||
 | 
					+		} else {
 | 
				
			||||||
 | 
					+			safestrcpymax(mnt_path, SYSFS_MNT_PATH, len);
 | 
				
			||||||
 | 
					 		}
 | 
				
			||||||
 | 
					-		safestrcpymax(mnt_path, SYSFS_MNT_PATH, len);
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-	return 0;
 | 
				
			||||||
 | 
					+	/* check that mount point is indeed mounted */
 | 
				
			||||||
 | 
					+	ret = -1;
 | 
				
			||||||
 | 
					+	if ((mnt = setmntent(SYSFS_PROC_MNTS, "r")) == NULL) {
 | 
				
			||||||
 | 
					+		dprintf("Error getting mount information\n");
 | 
				
			||||||
 | 
					+		return -1;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+	while ((mntent = getmntent(mnt)) != NULL) {
 | 
				
			||||||
 | 
					+		if (strcmp(mntent->mnt_type, SYSFS_FSTYPE_NAME) == 0 &&
 | 
				
			||||||
 | 
					+			strcmp(mntent->mnt_dir, mnt_path) == 0) {
 | 
				
			||||||
 | 
					+			ret = 0;
 | 
				
			||||||
 | 
					+			break;
 | 
				
			||||||
 | 
					+		}
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+	
 | 
				
			||||||
 | 
					+	endmntent(mnt);
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+	if (ret < 0)
 | 
				
			||||||
 | 
					+		errno = ENOENT;
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+	return ret;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 /**
 | 
				
			||||||
		Reference in New Issue
	
	Block a user