annotate sources/native/bin/getent @ 680:924527b0b454

Fix ppc bios, this is the one from qemu svn 6657.
author Rob Landley <rob@landley.net>
date Mon, 30 Mar 2009 04:50:02 -0500
parents df62eeaccb27
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
601
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
1 #!/bin/sh
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
2
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
3 # Copyright 2009 Rob Landley <rob@landley.net>, licensed under GPLv2.
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
4
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
5 isnum()
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
6 {
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
7 [ ! -z "$(echo $1 | grep '^[0-9]*$')" ]
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
8 }
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
9
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
10 nocomments()
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
11 {
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
12 sed 's/\([^#]*\)#.*/\1/' /etc/$1
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
13 }
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
14
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
15 # The world's cheesiest getent implementation
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
16
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
17 case "$1" in
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
18 passwd|group)
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
19 isnum "$2" &&
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
20 grep -m 1 "[^:]*:[^:]*:$2:" /etc/$1 ||
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
21 grep -m 1 "^$2:" /etc/$1
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
22 ;;
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
23
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
24 hosts|networks|protocols)
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
25 nocomments $1 | grep -m 1 -w "$2"
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
26 ;;
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
27
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
28 services)
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
29 nocomments $1 | (isnum "$2" && grep -m 1 "[ ]$2/" || grep -m 1 -w "$2")
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
30 ;;
df62eeaccb27 Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff changeset
31 esac