From 80d9ec5d3dbc1e393f377ede51e16d5c267475bd Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Tue, 13 Jun 2017 17:03:38 +0800 Subject: scripts/package-metadata.pl: parse and validate field Require-User The script will now detect uid/gid collision and can generate a table of current allocation ./scripts/package-metadata.pl usergroup tmp/.packageinfo \ | sort -k 1,1r -k 3,3n \ | column -t This should ensure that no collision will happen for each single build Signed-off-by: Yousong Zhou --- scripts/package-metadata.pl | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'scripts/package-metadata.pl') diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index 2da32c770e..d4100c1726 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -632,6 +632,16 @@ sub gen_version_filtered_list() { } } +sub gen_usergroup_list() { + parse_package_metadata($ARGV[0]) or exit 1; + for my $name (keys %usernames) { + print "user $name $usernames{$name}{id} $usernames{$name}{makefile}\n"; + } + for my $name (keys %groupnames) { + print "group $name $groupnames{$name}{id} $groupnames{$name}{makefile}\n"; + } +} + sub parse_command() { GetOptions("ignore=s", \@ignore); my $cmd = shift @ARGV; @@ -643,6 +653,7 @@ sub parse_command() { /^subdirs$/ and return gen_package_subdirs(); /^license$/ and return gen_package_license(0); /^licensefull$/ and return gen_package_license(1); + /^usergroup$/ and return gen_usergroup_list(); /^version_filter$/ and return gen_version_filtered_list(); } die <