From owner-svn-src-projects@FreeBSD.ORG Wed Oct 23 16:58:05 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 8D2CDD3; Wed, 23 Oct 2013 16:58:05 +0000 (UTC) (envelope-from will@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7A4BD2D90; Wed, 23 Oct 2013 16:58:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r9NGw5M1057809; Wed, 23 Oct 2013 16:58:05 GMT (envelope-from will@svn.freebsd.org) Received: (from will@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r9NGw5iv057807; Wed, 23 Oct 2013 16:58:05 GMT (envelope-from will@svn.freebsd.org) Message-Id: <201310231658.r9NGw5iv057807@svn.freebsd.org> From: Will Andrews Date: Wed, 23 Oct 2013 16:58:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r256985 - projects/vps/usr.sbin/vpsctl X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2013 16:58:05 -0000 Author: will Date: Wed Oct 23 16:58:04 2013 New Revision: 256985 URL: http://svnweb.freebsd.org/changeset/base/256985 Log: Sync with svn.7he.at/vps/trunk r187. r187 | klaus | 2013-07-09 06:44:15 -0600 (Tue, 09 Jul 2013) | 3 lines Wrote a shellscript instead of mkprivlist.c for cross-compiling. Submitted by: Klaus P. Ohrhallinger Added: projects/vps/usr.sbin/vpsctl/mkprivlist.sh Modified: projects/vps/usr.sbin/vpsctl/Makefile Modified: projects/vps/usr.sbin/vpsctl/Makefile ============================================================================== --- projects/vps/usr.sbin/vpsctl/Makefile Wed Oct 23 16:56:44 2013 (r256984) +++ projects/vps/usr.sbin/vpsctl/Makefile Wed Oct 23 16:58:04 2013 (r256985) @@ -16,11 +16,17 @@ clean: vpsctl.8.ps vps.conf.5.ps vps.4.ps vps.9.ps mount_vpsfs.8.ps \ vpsctl.8.pdf vps.conf.5.pdf vps.4.pdf vps.9.pdf mount_vpsfs.8.pdf +#mkprivlist: +# cc -Wall -g -o ./mkprivlist ${.CURDIR}/mkprivlist.c +# +#priv_ston.c priv_ntos.c: mkprivlist +# ./mkprivlist ${.CURDIR}/../../sys/sys/priv.h + mkprivlist: - cc -Wall -g -o ./mkprivlist ${.CURDIR}/mkprivlist.c + true priv_ston.c priv_ntos.c: mkprivlist - ./mkprivlist ${.CURDIR}/../../sys/sys/priv.h + ./mkprivlist.sh ${.CURDIR}/../../sys/sys/priv.h vpsctl: priv_ston.c priv_ntos.c cc -Wall -g -I../../sys -I/usr/include -o vpsctl \ Added: projects/vps/usr.sbin/vpsctl/mkprivlist.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/vps/usr.sbin/vpsctl/mkprivlist.sh Wed Oct 23 16:58:04 2013 (r256985) @@ -0,0 +1,78 @@ +#!/bin/sh + +set -e + +if [ "_$1" = "_" ] +then + echo "requires argument: path/to/sys/priv.h" + exit 1 +fi + +SYS_PRIV_H=$1 + +ECHO="printf" + +FILE_NTOS=priv_ntos.c +FILE_STON=priv_ston.c + +rm -f $FILE_NTOS +rm -f $FILE_STON + +${ECHO} "/* AUTOMATICALLY GENERATED FILE */\n" >> $FILE_NTOS +${ECHO} "\n" >> $FILE_NTOS +${ECHO} "#include \n" >> $FILE_NTOS +${ECHO} "\n" >> $FILE_NTOS +${ECHO} "const char * priv_ntos(int priv);\n" >> $FILE_NTOS +${ECHO} "\n" >> $FILE_NTOS +${ECHO} "const char *\n" >> $FILE_NTOS +${ECHO} "priv_ntos(int priv)\n" >> $FILE_NTOS +${ECHO} "{\n" >> $FILE_NTOS +${ECHO} "\n" >> $FILE_NTOS +${ECHO} " switch (priv) {\n" >> $FILE_NTOS + +${ECHO} "/* AUTOMATICALLY GENERATED FILE */\n" >> $FILE_STON +${ECHO} "\n" >> $FILE_STON +${ECHO} "#include \n" >> $FILE_STON +${ECHO} "#include \n" >> $FILE_STON +${ECHO} "\n" >> $FILE_STON +${ECHO} "int priv_ston(const char *str);\n" >> $FILE_STON +${ECHO} "\n" >> $FILE_STON +${ECHO} "int\n" >> $FILE_STON +${ECHO} "priv_ston(const char *str)\n" >> $FILE_STON +${ECHO} "{\n" >> $FILE_STON +${ECHO} "\n" >> $FILE_STON + + +### + +PRIVLIST=$( \ + grep -E '^#define\W+PRIV_.*\W+[0-9]+' ${SYS_PRIV_H} | \ + sed 's/\/\*.*//' | \ + sed -r 's/[ ]+/;/g') + +for PRIV in $PRIVLIST +do + NAME=$(echo ${PRIV} | sed -r 's/[^;]*;([^;]*);([^;]*).*/\1/') + NUMBER=$(echo ${PRIV} | sed -r 's/[^;]*;([^;]*);([^;]*).*/\2/') + + #echo "NAME=[${NAME}] NUMBER=[${NUMBER}]" + + printf " case %s: return (\"%s\");\n" ${NUMBER} ${NAME} \ + >> $FILE_NTOS + + printf " if (strcmp(str, \"%s\") == 0) return (%s);\n" \ + ${NAME} ${NUMBER} >> $FILE_STON +done + +### + +${ECHO} " default: return (\"unknown\");\n" >> $FILE_NTOS +${ECHO} " }\n" >> $FILE_NTOS +${ECHO} "}\n" >> $FILE_NTOS + +${ECHO} " return (0);\n" >> $FILE_STON +${ECHO} "}\n" >> $FILE_STON + +exit 0 + +# EOF