#!/usr/bin/gawk -f
|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
#
|
|
# Filename: scripts/Check-Deps-1
|
|
# Copyright (C) 2006 - 2007 The OpenSDE Project
|
|
# Copyright (C) 2004 - 2006 The T2 SDE Project
|
|
# Copyright (C) 1998 - 2003 Clifford Wolf
|
|
#
|
|
# More information can be found in the files COPYING and README.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License. A copy of the
|
|
# GNU General Public License can be found in the file COPYING.
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
function check_package() {
|
|
split(pkgline, a); dep=a[2];
|
|
if ( ! index(a[2], stagelevel) ) return;
|
|
|
|
repository = a[4];
|
|
package = a[5];
|
|
|
|
present = present " " package " ";
|
|
if ( stagelevel < 2 ) return;
|
|
|
|
depfile = depfile_tpl;
|
|
gsub("<stagelevel>", stagelevel, depfile);
|
|
gsub("<repository>", repository, depfile);
|
|
gsub("<package>", package, depfile);
|
|
|
|
firstent=1;
|
|
gsub(" \\[.\\]:" repository "/" package ":[^ ]*", "", errors);
|
|
while ( (getline depline < depfile) > 0 ) {
|
|
split(depline, a);
|
|
if (a[1] != "[DEP]") continue;
|
|
|
|
for (c=2; a[c] != ""; c++) {
|
|
if ( a[c] == package ) continue;
|
|
if ( ! index(present, " " a[c] " ") ) {
|
|
if (firstent)
|
|
errors = errors " [" stagelevel "]:" \
|
|
repository "/" package ":";
|
|
errors = errors ":" a[c];
|
|
firstent=0;
|
|
}
|
|
}
|
|
}
|
|
|
|
close(depfile);
|
|
}
|
|
|
|
BEGIN {
|
|
present="";
|
|
errors="";
|
|
|
|
system("mkdir -p tmp ; ./bin/sde-list package > tmp/pkg_list");
|
|
depfile_tpl = "package/<repository>/<package>/<package>.cache";
|
|
|
|
for (stagelevel=0; stagelevel<9; stagelevel++) {
|
|
while ( (getline pkgline < "tmp/pkg_list") > 0 ) {
|
|
check_package();
|
|
}
|
|
close("tmp/pkg_list");
|
|
}
|
|
system("rm -f tmp/pkg_list");
|
|
|
|
if (errors != "") {
|
|
|
|
print "\nThe following packages have dependencies which";
|
|
print "are not solved before stage 9:\n";
|
|
|
|
print "Stage Package Dependencies";
|
|
|
|
gsub(" ", "\n", errors);
|
|
gsub("::", "\t", errors);
|
|
gsub(":", " ", errors);
|
|
|
|
print errors | "expand -t30";
|
|
}
|
|
}
|
|
|