subst.in 1003 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/perl -w
  2. my ${exec_prefix};
  3. my ${prefix};
  4. ${prefix}="@prefix@";
  5. ${exec_prefix}="@exec_prefix@";
  6. while ($f = shift @ARGV) {
  7. if (-x "/bin/mktemp") {
  8. $TEMP = `/bin/mktemp $f.$$.XXXXXX`;
  9. die 'Cannot make temporary file $TEMP' if($?);
  10. chomp $TEMP;
  11. } else {
  12. $XXXXXX = rand;
  13. $TEMP = "$f.$$.$XXXXXX";
  14. }
  15. open(IN,"<$f.in");
  16. open(OUT,">$TEMP") || die 'Cannot make temporary file $TEMP';
  17. while (<IN>) {
  18. s|\@nrpe_user\@|@nrpe_user@|g;
  19. s|\@nrpe_grp\@|@nrpe_grp@|g;
  20. s|\@nrpe_port\@|@nrpe_port@|g;
  21. s|\@libexecdir\@|@libexecdir@|g; # put all --with-vars before directories
  22. s|\@localstatedir\@|@localstatedir@|g;
  23. s|\@sysconfdir\@|@sysconfdir@|g;
  24. s|\@datadir\@|@datadir@|g;
  25. s|\@sbindir\@|@sbindir@|g;
  26. s|\@bindir\@|@bindir@|g;
  27. s|\$\{exec_prefix\}|@exec_prefix@|g; # must be next to last
  28. s|\$\{prefix\}|@prefix@|g; # must be last
  29. print OUT $_;
  30. }
  31. close IN;
  32. close OUT;
  33. if ((! -e $f) || (`diff $f $TEMP`)) {
  34. `mv $TEMP $f`;
  35. } else {
  36. unlink $TEMP;
  37. }
  38. }