diff options
author | Garrett D'Amore <garrett@damore.org> | 2014-12-08 06:19:08 -0800 |
---|---|---|
committer | Garrett D'Amore <garrett@damore.org> | 2015-04-05 10:36:29 -0700 |
commit | 105958d7eca6f896fb8caab1f9777157eb0a352c (patch) | |
tree | f85b065d2c09e3cd33ffe88d822f4df39ecab3df /usr/src/tools/ctf/scripts | |
parent | 78d7e9613776b02098bc0b12fc9b9652b788b605 (diff) | |
download | illumos-joyent-105958d7eca6f896fb8caab1f9777157eb0a352c.tar.gz |
5773 Extra pointless steps in kernel module builds
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Josef Sipek <jeffpc@josefsipek.net>
Reviewed by: Rich Lowe <richlowe@richlowe.net>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Rich Lowe <richlowe@richlowe.net>
Diffstat (limited to 'usr/src/tools/ctf/scripts')
-rw-r--r-- | usr/src/tools/ctf/scripts/Makefile | 47 | ||||
-rw-r--r-- | usr/src/tools/ctf/scripts/ctfcvtptbl.pl | 222 | ||||
-rw-r--r-- | usr/src/tools/ctf/scripts/ctffindmod.sh | 171 |
3 files changed, 0 insertions, 440 deletions
diff --git a/usr/src/tools/ctf/scripts/Makefile b/usr/src/tools/ctf/scripts/Makefile deleted file mode 100644 index a4b30cf153..0000000000 --- a/usr/src/tools/ctf/scripts/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2002 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -#ident "%Z%%M% %I% %E% SMI" - -include ../../Makefile.tools - -.KEEP_STATE: - -SHFILES= \ - ctffindmod - -PERLFILES= \ - ctfcvtptbl - -all: $(SHFILES) $(PERLFILES) - -install: all .WAIT $(ROOTONBLDSHFILES) $(ROOTONBLDPERLFILES) - -lint: - -clean: - $(RM) $(SHFILES) $(PERLFILES) - -include ../../Makefile.targ diff --git a/usr/src/tools/ctf/scripts/ctfcvtptbl.pl b/usr/src/tools/ctf/scripts/ctfcvtptbl.pl deleted file mode 100644 index cc2de05c3a..0000000000 --- a/usr/src/tools/ctf/scripts/ctfcvtptbl.pl +++ /dev/null @@ -1,222 +0,0 @@ -#!/bin/perl -w -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# ident "%Z%%M% %I% %E% SMI" -# -# Copyright 2002 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -# ctfcvtptbl [-o outfile] patch-makeup-table -# -# Given a path to a patch makeup table, this script converts that table to -# machine-optimal format and deposits it in the file specified by the -o option -# or on stdout depending on whether or not -o is specified. -# -# The user-supplied patch makeup table is in the following format: -# -# # -# # comment -# # -# -# genunix_archive=/path/to/genunix/archive -# -# patch 100001-01 kureq 100002-01 -# usr/src/uts/sparc/sd/debug32/sd -# module2 -# -# patch 100003-08 -# module3 -# -# The machine-optimal format for the above looks like this: -# -# GENUNIX_ARCHIVE=/path/to/genunix/archive -# module1 100001-01 100002-01 -# module2 100001-01 100002-01 -# module3 100003-08 -# -# -# Macros and other time-savers: -# -# * $RELEASE and $MACH in the genunix archive path will be replaced by the -# values of the RELEASE and MACH environment variables, respectively, as -# set by the program calling this one. -# -# * BUILD, BUILD32, and BUILD64 will, when used in the path for the module, -# will be match as follows: -# -# BUILD debug32, debug64, obj32, obj64 -# BUILD32 debug32, obj32 -# BUILD64 debug64, obj64 -# -# * The presence of `usr/src' at the beginning of each module path will be -# assumed, and is not required to be specified. -# - -use strict; -use Getopt::Std; -use File::Basename; - -my $PROGNAME = basename($0); - -my $genunix_archive; -my %moddata; -my %typehash = ( - BUILD => [ "debug32", "debug64", "obj32", "obj64" ], - BUILD32 => [ "debug32", "obj32" ], - BUILD64 => [ "debug64", "obj64" ] -); - -my %opts; -my $err = 0; -$err = 1 unless getopts("ho:", \%opts); -if ($opts{"o"}) { - close(STDOUT); - open(STDOUT, ">" . $opts{"o"}) || do { - print STDERR "Couldn't open " . $opts{"o"} . ": $!\n"; - exit(1); - } -} -if ($opts{"h"}) { - &usage; - exit(2); -} - -if (@ARGV != 1) { - $err = 1; -} - -if ($err) { - &usage; - exit(2); -} - -$::table = $ARGV[0]; - -if (!open(TABLE, "<$::table")) { - print STDERR "Couldn't open $::table: $!\n"; - exit(1); -} - -if (!&read_table) { - exit(1); -} - -&sub_vars; - -&dump_table; - -exit(0); - -sub usage { - print STDERR "Usage: $PROGNAME [-o outfile] table\n"; -} - -sub read_table { - my $patchid = ""; - my $kureq = ""; - my $kuprev = ""; - - $genunix_archive = ""; - undef %moddata; - - while (<TABLE>) { - chop; - s/\#.*$//; # Strip comments - s/^\s+//; - - if (!$patchid && /^genunix_archive=(\S+)\s*$/) { - $genunix_archive = $1; - next; - } - - while ($_) { - if (s/^patch\s+(\d{6}-\d{2}) - (\s+ku(req|prev)\s+(\d{6}-\d{2}|fcs))?//x && - (!$_ || /^\s/)) { - $patchid = $1; - $kureq = (defined $4 ? $4 : "fcs"); - $kuprev = (defined $3 && $3 eq "prev" ? 1 : 0); - } elsif ($patchid && s/^(\S+)//) { - my $module = $1; - - if (($module =~ m:/genunix/:) && !$kuprev) { - &parseerror("No kuprev supplied " . - "for entry including genunix"); - } - - if (($module !~ m:^usr/src/:)) { - $module = "usr/src/" . $module; - } - - if (($module =~ - m:^(.*)\$(BUILD|BUILD32|BUILD64)(/.*)$:)) { - foreach my $type (@{$typehash{$2}}) { - $moddata{$1 . $type . $3} = - [$patchid, $kureq]; - } - } else { - $moddata{$module} = [$patchid, $kureq]; - } - } else { - &parseerror("Cannot parse table"); - } - - s/^\s+//; - } - } - - if (!$genunix_archive) { - print STDERR "No genunix_archive line in table\n"; - return (0); - } - - if (!%moddata) { - print STDERR "No module information read\n"; - return (0); - } - - return (1); -} - -sub parseerror { - my $msg = $_[0]; - - print STDERR "$msg at line $.\n"; - exit(1); -} - -sub sub_vars { - my $release = $ENV{"RELEASE"}; - my $mach = $ENV{"MACH"}; - - $genunix_archive =~ s/\$RELEASE/$release/ if defined $release; - $genunix_archive =~ s/\$MACH/$mach/ if defined $mach; -} - -sub dump_table { - print "GENUNIX_ARCHIVE=" . $genunix_archive . "\n"; - - foreach my $mod (sort keys %moddata) { - print join(" ", ($mod, @{$moddata{$mod}})) . "\n"; - } -} diff --git a/usr/src/tools/ctf/scripts/ctffindmod.sh b/usr/src/tools/ctf/scripts/ctffindmod.sh deleted file mode 100644 index 8f583371d9..0000000000 --- a/usr/src/tools/ctf/scripts/ctffindmod.sh +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/ksh -p -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# ident "%Z%%M% %I% %E% SMI" -# -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -# Given a machine-optimal patch makeup table (see ctfcvtptbl), this program -# will allow the build process to determine the following: -# -# * The patch ID associated with a given module -# * The KU required by the patch associated with a given module -# * The patch ID and location of the genunix module preceding the genunix -# module currently being built. -# - -PROGNAME=$(basename "$0") - -usage() -{ - echo "Usage: $PROGNAME [-nr] [-o outfmt] [-b build_type] -t table" \ - "module_path" >&2 -} - -die() -{ - echo "$1" >&2 - exit 1 -} - -outfmt="patch,ku" -notfoundok=0 -relative=0 -build_type=debug32 -err=0 -while getopts b:lno:rt: c ; do - case $c in - b) - build_type="$OPTARG" - ;; - n) - notfoundok=1 - ;; - o) - outfmt="$OPTARG" - ;; - r) - relative=1 - ;; - t) - table="$OPTARG" - ;; - \?) - err=1 - ;; - esac -done -shift `expr $OPTIND - 1` - -if [[ $err -eq 1 || $# -ne 1 || -z "$table" ]] ; then - usage - exit 2 -fi - -print_garpath=0 -print_ku=0 -print_patch=0 -print_lastgu=0 -for word in $(echo "$outfmt" |tr ',' ' ') ; do - case $word in - garpath) - print_garpath=1 - ;; - ku) - print_ku=1 - ;; - lastgu) - print_lastgu=1 - ;; - patch) - print_patch=1 - ;; - \?) - usage - exit 2 - esac -done - -module="$1" -shift - -if [[ ! -f "$table" ]] ; then - die "$PROGNAME: Cannot open $table" -fi - -head -1 "$table" |sed -e 's/^\([^=]*\)=/\1 /' |read garkw garpath - -if [[ "$garkw" != "GENUNIX_ARCHIVE" || -z "$garpath" ]] ; then - die "$PROGNAME: $table is not a machine-optimal patch table" >&2 -fi - -if [[ $relative -eq 1 ]] ; then - crd=$(pwd |sed -e 's:^.*usr/src/uts::') - module=$(echo "$crd/$module" |sed -e 's://*:/:g') -fi - -fgrep "$module" "$table" |read junk patch ku - -if [[ -z "$patch" || - "$(expr "$patch" : '[0-9]\{6\}-[0-9][0-9]')" -ne 9 ]] ; then - if [[ "$notfoundok" -eq 1 ]] ; then - patch="-" - else - die "$PROGNAME: Cannot find patch for $module" >&2 - fi -fi - -if [[ -z "$ku" ]] ; then - ku="-" -fi - -# Output - -space="" -if [[ $print_patch -eq 1 ]] ; then - echo "$space$patch\c" - space=" " -fi -if [[ $print_ku -eq 1 ]] ; then - echo "$space$ku\c" - space=" " -fi -if [[ $print_garpath -eq 1 ]] ; then - echo "$space$garpath\c" - space=" " -fi -if [[ $print_lastgu -eq 1 ]] ; then - suffix= - if expr $build_type : '.*64' >/dev/null ; then - if [ `uname -p` = "sparc" ] ; then - suffix=/sparcv9 - else - suffix=/amd64 - fi - fi - echo "$space$garpath/$ku$suffix/genunix\c" - space=" " -fi -[[ -n "$space" ]] && echo - -return 0 |