runqemu-gen-tapdevs: Allow run --help without sudo
v2 cover runqemu-gen-tapdevs: Allow run --help without sudo
* V2:
- Check SUDO_UID/GID as RP suggested.
* V1:
- Initial version
The following changes since commit caa776bdcf8ea34c857f45970370bf771075f4bc:
testimage.bbclass: remove boot parameter systemd.log_target (2018-12-27 22:50:01 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/tap
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/tap
Robert Yang (1):
runqemu-gen-tapdevs: Allow run --help without sudo
scripts/runqemu-gen-tapdevs | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-)
Signature · 1 line
2.10.2
PATCH v2 1/1 runqemu-gen-tapdevs: Allow run --help without sudo
Then we can get user's UID and GID rather than hardcode to 1000, e.g.:
- Without sudo
$ runqemu-gen-tapdevs --help [snip] $ sudo ../poky/scripts/runqemu-gen-tapdevs 15220 100 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin [snip]
- With sudo
$ sudo ../poky/scripts/runqemu-gen-tapdevs --help [snip] $ sudo ../poky/scripts/runqemu-gen-tapdevs 15220 100 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin [snip]
Signed-off-by Robert Yang <[email protected]>
--- scripts/runqemu-gen-tapdevs | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-)
scripts/runqemu-gen-tapdevs +19 -8
@@ -22,22 +22,28 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +uid=`id -u` +gid=`id -g` +if [ -n "$SUDO_UID" ]; then + uid=$SUDO_UID +fi +if [ -n "$SUDO_GID" ]; then + gid=$SUDO_GID +fi + usage() { echo "Usage: sudo $0 <uid> <gid> <num> <staging_bindir_native>" - echo "Where <uid> is the numeric user id the tap devices will be owned by" + echo "Where <uid> is the numeric user id the tap devices will be owned by" echo "Where <gid> is the numeric group id the tap devices will be owned by" echo "<num> is the number of tap devices to create (0 to remove all)" echo "<native-sysroot-basedir> is the path to the build system's native sysroot" - echo "e.g. $ bitbake qemu-helper-native" - echo "$ sudo $0 1000 1000 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin" + echo "For example:" + echo "$ bitbake qemu-helper-native" + echo "$ sudo $0 $uid $gid 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin" + echo "" exit 1 } -if [ $EUID -ne 0 ]; then - echo "Error: This script must be run with root privileges" - exit -fi - if [ $# -ne 4 ]; then echo "Error: Incorrect number of arguments" usage
@@ -54,6 +60,11 @@ if [[ ! -x "$TUNCTL" || -d "$TUNCTL" ]]; then usage fi +if [ $EUID -ne 0 ]; then + echo "Error: This script must be run with root privileges" + exit +fi + SCRIPT_DIR=`dirname $0` RUNQEMU_IFUP="$SCRIPT_DIR/runqemu-ifup" if [ ! -x "$RUNQEMU_IFUP" ]; then
Signature · 1 line
2.10.2