hi I hereby propose gpr 0.9deb-4sarge for inclusion in the next point release of stable Reason: gpr can install a wrapper in place of the command lpr (by using a diversion). The wrapper will call the real lpr command if: either it is called from a terminal, or there is no access to an X DISPLAY; otherwise it will call gpr. Unfortunately, due to a bug, the diversion of lpr with gpr did not work (it would loop endlessly); in that case gpr would become completly useless. (Curiosly the people who noted did not ever file a bug report) I uploaded 0.9deb-5 into sarge before the freeze but it did not make it in :-( :-( and I did not notice that :-( :-( So this upload is for sarge. I also disabled the automatic update of config.{sub,guess} for paranoia. The attached diff shows the difference between this package and the current version in sarge. thanks a.
diff -ur sarge/gpr-0.9deb/debian/changelog sarge-proposed-update/gpr-0.9deb/debian/changelog --- sarge/gpr-0.9deb/debian/changelog 2005-03-20 10:42:54.000000000 +0100 +++ sarge-proposed-update/gpr-0.9deb/debian/changelog 2005-07-09 11:23:19.177332112 +0200 @@ -1,3 +1,14 @@ +gpr (0.9deb-4sarge) stable; urgency=low + + * the diversion of lpr with gpr did not work (it would loop endlessly) + (curiosly the people who noted did not file a bug report) + in that case gpr would become completly useless; I uploaded 0.9deb-5 into + sarge before the freeze but it did not make it in :-( :-( + and I did not that :-( :-( so this upload is for sarge. + I also disabled the automatic update of config.{sub,guess} for paranoia + + -- A Mennucc1 <mennucc1@debian.org> Sat, 9 Jul 2005 11:01:49 +0200 + gpr (0.9deb-4) unstable; urgency=low * increase line to read printcap as suggested by Only in sarge-proposed-update/gpr-0.9deb/debian: changelog~ diff -ur sarge/gpr-0.9deb/debian/lpr.wrapper sarge-proposed-update/gpr-0.9deb/debian/lpr.wrapper --- sarge/gpr-0.9deb/debian/lpr.wrapper 2005-03-17 00:05:17.000000000 +0100 +++ sarge-proposed-update/gpr-0.9deb/debian/lpr.wrapper 2005-07-09 11:03:51.058913104 +0200 @@ -6,6 +6,7 @@ test -t 1 && exec $lpr "$@" +test "$DO_NOT_CALL_GPR_INSTEAD_OF_LPR" = yes && exec $lpr "$@" #for i in "$@" ; # case $i in # -P) continue;; @@ -15,4 +16,7 @@ # -d) continue;; #done +DO_NOT_CALL_GPR_INSTEAD_OF_LPR=yes +export DO_NOT_CALL_GPR_INSTEAD_OF_LPR + exec gpr "$@" diff -ur sarge/gpr-0.9deb/debian/rules sarge-proposed-update/gpr-0.9deb/debian/rules --- sarge/gpr-0.9deb/debian/rules 2005-03-17 00:05:16.000000000 +0100 +++ sarge-proposed-update/gpr-0.9deb/debian/rules 2005-07-09 11:23:32.576295160 +0200 @@ -29,12 +29,12 @@ build-stamp: dh_testdir - test -r /usr/share/misc/config.sub -a \ - config.sub -ot /usr/share/misc/config.sub && \ - cp -vf /usr/share/misc/config.sub config.sub || true - test -r /usr/share/misc/config.guess -a \ - config.guess -ot /usr/share/misc/config.guess && \ - cp -vf /usr/share/misc/config.guess config.guess || true + #test -r /usr/share/misc/config.sub -a \ + # config.sub -ot /usr/share/misc/config.sub && \ + # cp -vf /usr/share/misc/config.sub config.sub || true + #test -r /usr/share/misc/config.guess -a \ + # config.guess -ot /usr/share/misc/config.guess && \ + # cp -vf /usr/share/misc/config.guess config.guess || true # # avoid time skews touch configure.in && touch aclocal.m4 && touch configure Only in sarge-proposed-update/gpr-0.9deb/debian: rules~ diff -ur sarge/gpr-0.9deb/src/main.c sarge-proposed-update/gpr-0.9deb/src/main.c --- sarge/gpr-0.9deb/src/main.c 2005-03-17 00:05:10.000000000 +0100 +++ sarge-proposed-update/gpr-0.9deb/src/main.c 2005-07-09 11:10:26.435806680 +0200 @@ -103,15 +103,24 @@ char curr_line[200]; /* the current line of input from stdin */ struct stat info; /* file info, used to see if file is piped from an app */ - if (!strcmp(argv[0], "lpr")) { - cmdname = "lpr.orig -P"; + + //Mennucc: in Debian, gpr may divert lpr to a script that calls gpr + // this command line avoids looping + { + struct stat buf; + if ( 0==stat("/usr/bin/lpr.not.gpr", &buf ) ) { + cmdname = "/usr/bin/lpr.not.gpr -P"; + } + } + // Mennucc: this seems to be an obvious error + if (0==strcmp(argv[0], "lpr")) { if (getenv("DISPLAY") == NULL) { char **vars = malloc(sizeof(char *) * (argc + 1)); int i; vars[argc] = NULL; for (i = 0; i < argc; i++) vars[i] = argv[i]; - execvp("lpr.orig", vars); + execvp("/usr/bin/lpr.not.gpr", vars); // exec failed perror("gpr"); exit(1);
Attachment:
signature.asc
Description: Digital signature