diff options
author | Alex Kozlov <ak@FreeBSD.org> | 2013-04-26 15:04:52 +0000 |
---|---|---|
committer | Alex Kozlov <ak@FreeBSD.org> | 2013-04-26 15:04:52 +0000 |
commit | af917ed27dda8c535e14d07117a9a9c4c6e2b4a4 (patch) | |
tree | 8d2796ed9b6f0af8bd5b120a07e4b700b939bd5d /Tools | |
parent | 9266930963bbb10b07fc7e1bed23909f0f6e2dcd (diff) | |
download | ports-af917ed27dda8c535e14d07117a9a9c4c6e2b4a4.tar.gz ports-af917ed27dda8c535e14d07117a9a9c4c6e2b4a4.zip |
Notes
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/scripts/modules/Makefile | 74 | ||||
-rwxr-xr-x | Tools/scripts/modules/buildmodules.pl | 205 | ||||
-rw-r--r-- | Tools/scripts/modules/modules.head | 60 | ||||
-rwxr-xr-x | Tools/scripts/modules/update.sh | 20 |
4 files changed, 0 insertions, 359 deletions
diff --git a/Tools/scripts/modules/Makefile b/Tools/scripts/modules/Makefile deleted file mode 100644 index 8fa053fbfd65..000000000000 --- a/Tools/scripts/modules/Makefile +++ /dev/null @@ -1,74 +0,0 @@ -# -# $FreeBSD$ -# - -PORTSDIR= ../incoming-PRs/ports/ -INDEX= INDEX-8 -MODULES_HEAD= modules.head -MODULES_SRC= src/CVSROOT/modules -MODULES_PROJ= projects/CVSROOT/modules -MODULES_DOC= doc/CVSROOT/modules -MODULES_PORTS= ports/CVSROOT/modules -CVSUSER= edwin - -NOW!= date "+%A %d %B %Y at %H:%M" - -all: modules - -commit: modules - cp modules ports/CVSROOT/ - cd ports/CVSROOT; \ - cvs commit -m "Ports modules update at ${NOW}" modules - - -modules: ${MODULES_HEAD} modules.index - cat ${MODULES_HEAD} modules.index > modules - -modules.index: modules-ports modules-src modules-projects modules-doc - ./buildmodules.pl \ - --portsdir=${PORTSDIR} \ - --index=${INDEX} \ - --outdir=modules.dir \ - --outmod=modules.mod \ - --header=${MODULES_HEAD} \ - --modules-src=${MODULES_SRC} \ - --modules-proj=${MODULES_PROJ} \ - --modules-doc=${MODULES_DOC} \ - - (cat modules.dir; cat modules.mod) > modules.index - -modules-ports: ports - cd ports; \ - cvs -d :ext:${CVSUSER}@pcvs.freebsd.org/home/pcvs co CVSROOT/modules; \ - cd .. - cp ports/CVSROOT/modules modules-ports -modules-doc: doc - cd doc; \ - cvs -d :ext:${CVSUSER}@ncvs.freebsd.org/home/dcvs co CVSROOT/modules; \ - cd .. - cp doc/CVSROOT/modules modules-doc -modules-projects: projects - cd projects; \ - cvs -d :ext:${CVSUSER}@ncvs.freebsd.org/home/projcvs co CVSROOT/modules; \ - cd .. - cp projects/CVSROOT/modules modules-projects -modules-src: src - cd src; \ - cvs -d :ext:${CVSUSER}@ncvs.freebsd.org/home/ncvs co CVSROOT/modules; \ - cd .. - cp src/CVSROOT/modules modules-src - -ports: - mkdir ports -projects: - mkdir projects -doc: - mkdir doc -src: - mkdir src - -clean: - -rm modules.index - -rm modules modules.mod modules.dir - -rm modules-ports modules-src modules-doc modules-projects - -rm -rf src/CVSROOT ports/CVSROOT doc/CVSROOT projects/CVSROOT diff --git a/Tools/scripts/modules/buildmodules.pl b/Tools/scripts/modules/buildmodules.pl deleted file mode 100755 index 572afb462be1..000000000000 --- a/Tools/scripts/modules/buildmodules.pl +++ /dev/null @@ -1,205 +0,0 @@ -#!/usr/bin/perl -w - -# -# $FreeBSD$ -# - -# -# This script is used to automatically generate the CVSROOT-ports/modules -# file, based on the content of the ports INDEX file and the modules files -# of the other CVSROOT-* directories. -# -# Created by Edwin Groothuis <edwin@FreeBSD.org> -# -# This script lives on hub in /home/gnats-aa and is called from a crontab -# once per day. -# - -use strict; -use Data::Dumper; -use Getopt::Long; - -my $portsdir = ""; -my $index = ""; -my $header = ""; -my $modules = ""; -my $modules_src = ""; -my $modules_doc = ""; -my $modules_proj = ""; -my $outdir = "modules.dir"; -my $outmod = "modules.out"; -GetOptions( "portsdir=s" => \$portsdir, - "index=s" => \$index, - "modules=s" => \$modules, - "modules-src=s" => \$modules_src, - "modules-doc=s" => \$modules_doc, - "modules-proj=s"=> \$modules_proj, - "header=s" => \$header, - "outdir=s" => \$outdir, - "outmod=s" => \$outmod -); - -# -# Get all directories in /usr/ports, and see if there is a PKGNAMEPREFIX to -# be worried about -# -my %dirs = (); -{ - opendir(DH, $portsdir); - my @dirs = readdir(DH); - closedir(DH); - foreach my $dir (@dirs) { - next if (! -d "$portsdir/$dir"); - next if ($dir =~ /^\./); - next if ($dir eq "distfiles"); - next if ($dir eq "packages"); - - $dirs{$dir} = ""; - - next if (! -f "$portsdir/$dir/Makefile.inc"); - - my $prefix = - `make -C $portsdir/$dir -f Makefile.inc -V PKGNAMEPREFIX`; - chomp($prefix); - $dirs{$dir} = $prefix; - } -} - -# -# Write the modules.dir file in the following format: "ports_" + DIR -# -{ - open(FOUT, ">$outdir"); - print FOUT "\n#\n# Ports directories\n#\n"; - printone("ports", "ports"); - foreach my $d (sort(keys(%dirs))) { - my $d_ = $d; - $d_ =~ s/\-/_/g; - printone("ports_" . $d_, "ports/$d"); - } - close(FOUT); -} - -# -# Import the modules file from CVSROOT-src and friends. -# -my %src_mods = (); -{ - my $line; - - foreach my $mod (($modules_src, $modules_doc, $modules_proj)) { - my $foundMERGE = 0; - next if ($mod eq ""); - open(FIN, $mod); - while (defined($line = <FIN>)) { - if ($line =~ /!!MERGE!!/) { - $foundMERGE = 1; - next; - } - next if (!$foundMERGE); - next if ($line =~ /^\#/); - - my @a = split(" ", $line); - next if ($#a != 1); - $src_mods{$a[0]} = $a[1]; - } - close(FIN); - } -} - -# -# Import the modules from modules.head -# -{ - my $line; - open(FIN, $header); - while (defined($line = <FIN>)) { - next if ($line =~ /^\#/); - - my @a = split(" ", $line); - next if ($#a <= 0); - $src_mods{$a[0]} = $a[1]; - } - close(FIN); -} - -# -# Read the INDEX file and store it as a hash with the key modname -# (PKGNAMEPREFIX + portname) in %mods. -# -# If a duplicate is found with CVSROOT-src/modules, rename the modname -# to "ports_" + modname. -# -# If a duplicate modname is found, copy the original to DIR + modname -# and continue for these modnames (and any future ones) as DIR + modname. -# -my %mods = (); -my %dupes = (); -{ - my $line; - open(FIN, "$portsdir/$index"); - while (defined($line = <FIN>)) { - my @a = split(/\|/, $line); - @a = split(/\//, $a[1]); - my %names = ( lc($a[4]) => 1, $a[4] => 1 ); - my $path = "$a[2]/$a[3]/$a[4]"; - my $dir = $a[3]; - -# next if ($a[4] ne "p5-Chemistry-Elements"); - - if (!defined $dirs{$dir}) { - print "Unknown dir: $dir\n"; - exit(1); - } - - foreach my $name (sort(keys(%names))) { - my $modname = $dirs{$dir} . $name; - - $modname = "ports_" . $modname - if (defined($src_mods{$modname})); - - if (defined $dupes{$modname}) { - $modname = $dir . "_" . $modname; - } else { - if (defined($mods{$modname})) { - $dupes{$name} = 1; - - # save earlier one - my $dupemodname = $mods{$modname}{dir} . - "_" . $modname; - my $newmodname = $dir . "_" . $modname; - $mods{$dupemodname}{dir} = - $mods{$modname}{dir}; - $mods{$dupemodname}{name} = - $mods{$modname}{dir} . "_" . - $mods{$modname}{name}; - $mods{$dupemodname}{path} = - $mods{$modname}{path}; - $mods{$modname}{ignore} = 1; - - $modname = $dir . "_" . $modname; - } - } - - $mods{$modname}{dir} = $dir; - $mods{$modname}{name} = $modname; - $mods{$modname}{path} = $path; - $mods{$modname}{ignore} = 0; - } - } - close(FIN); - - open(FOUT, ">$outmod"); - print FOUT "\n#\n# Ports modules\n#\n"; - foreach my $mod (sort(keys(%mods))) { - next if ($mods{$mod}{ignore}); - printone($mods{$mod}{name}, $mods{$mod}{path}); - } - close(FOUT); -} - -sub printone { - my $name = shift; - my $path = shift; - print FOUT "$name ", " " x (30 - length($name)), " $path\n"; -} diff --git a/Tools/scripts/modules/modules.head b/Tools/scripts/modules/modules.head deleted file mode 100644 index c791c98acab5..000000000000 --- a/Tools/scripts/modules/modules.head +++ /dev/null @@ -1,60 +0,0 @@ -# The CVS Modules File -# -# $FreeBSD$ -# -# Maintainer: Edwin Groothuis <edwin@FreeBSD.org> -# -# Note that this is an auto-generated file and that any changes will -# be overwritten at the next update. Please contact the maintainer -# if a change needs to be made. -# -# Three different line formats are valid: -# key -a aliases... -# key [options] directory -# key [options] directory files... -# -# Where "options" are composed of: -# -i prog Run "prog" on "cvs commit" from top-level of module. -# -o prog Run "prog" on "cvs checkout" of module. -# -e prog Run "prog" on "cvs export" of module. -# -t prog Run "prog" on "cvs rtag" of module. -# -u prog Run "prog" on "cvs update" of module. -# -d dir Place module in directory "dir" instead of module name. -# -l Top-level directory only -- do not recurse. -# -# NOTE: If you change any of the "Run" options above, you'll have to -# release and re-checkout any working directories of these modules. -# -# And "directory" is a path to a directory relative to $CVSROOT. -# -# The "-a" option specifies an alias. An alias is interpreted as if -# everything on the right of the "-a" had been typed on the command line. -# -# You can encode a module within a module by using the special '&' -# character to interpose another module into the current module. This -# can be useful for creating a module that consists of many directories -# spread out over the entire source repository. -# - -# Convenient aliases -world -a . - -# CVSROOT support -CVSROOT CVSROOT -access CVSROOT access -avail CVSROOT avail -commit_prep CVSROOT commit_prep.pl -commitcheck CVSROOT commitcheck -commitinfo CVSROOT commitinfo -cvs_acls CVSROOT cvs_acls.pl -cvsedit CVSROOT cvsedit -cvswrappers CVSROOT cvswrappers -editinfo CVSROOT editinfo -log_accum CVSROOT log_accum.pl -loginfo CVSROOT loginfo -modules CVSROOT modules -rcsinfo CVSROOT rcsinfo -rcstemplate CVSROOT rcstemplate -taginfo CVSROOT taginfo - -# !!MERGE!! diff --git a/Tools/scripts/modules/update.sh b/Tools/scripts/modules/update.sh deleted file mode 100755 index a3f98eadb4de..000000000000 --- a/Tools/scripts/modules/update.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -cd /g/hubgnats/gnats-aa/modules - -make clean -make - -diff=`diff modules-ports modules | wc | awk '{ print $1 }'` - -echo Difference is $diff lines. - -if [ $diff -gt 50 ]; then - date | mail -s "DIFF > $diff" edwin@FreeBSD.org - exit -fi - -# Don't commit anything if only the $FreeBSD$ tag has changed -if [ $diff -ne 4 ]; then - make commit -fi |