OpenSDE Framework (without history before r20070)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.4 KiB

  1. # --- SDE-COPYRIGHT-NOTE-BEGIN ---
  2. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  3. #
  4. # Filename: lib/sde-package/package-update.awk
  5. # Copyright (C) 2007 The OpenSDE Project
  6. #
  7. # More information can be found in the files COPYING and README.
  8. #
  9. # This program is free software; you can redistribute it and/or modify
  10. # it under the terms of the GNU General Public License as published by
  11. # the Free Software Foundation; version 2 of the License. A copy of the
  12. # GNU General Public License can be found in the file COPYING.
  13. # --- SDE-COPYRIGHT-NOTE-END ---
  14. {
  15. if ( $0 ~ /^\[V\]/ ) {
  16. oldver_underscore = $2; gsub(/\./, "_", oldver_underscore );
  17. oldver_dots = $2; gsub(/\./, "\\.", oldver_dots );
  18. oldver_pattern = $2; gsub(/\./, "[_\\.]", oldver_pattern );
  19. $2 = ver
  20. }
  21. else if ( $0 ~ /^\[D\]/ && $3 ~ ".*" oldver_pattern ".*" ) {
  22. filename = $3;
  23. if ( $3 ~ ".*" oldver_dots ".*" )
  24. gsub( oldver_dots, ver, filename );
  25. else {
  26. ver_underscore = ver; gsub(/\./, "_", ver_underscore);
  27. gsub( oldver_underscore, ver_underscore, filename );
  28. }
  29. if ( filename != $3 ) {
  30. $2 = 0;
  31. $3 = filename;
  32. if ( location > "" )
  33. $4 = location;
  34. else if ( $4 ~ ".*/[0-9]+\\.[0-9]+/" ) {
  35. ver = gensub( "([0-9]+\\.[0-9]+).*","\\1","", ver );
  36. sub( "/[0-9]+\\.[0-9]+/", "/" ver "/", $4 );
  37. }
  38. else
  39. for (i=4;i<=NF;i++)
  40. gsub( oldver_pattern, ver, $i );
  41. }
  42. }
  43. print $0;
  44. }