diff options
author | knu <knu@FreeBSD.org> | 2004-01-31 17:15:13 +0000 |
---|---|---|
committer | knu <knu@FreeBSD.org> | 2004-01-31 17:15:13 +0000 |
commit | 449bff6a60df9e47dc84409779cc2a0d0c0456e8 (patch) | |
tree | 2ebd45f51436f7301aaec0ed7cd66f5f2b066577 /sysutils/portupgrade | |
parent | 8a34a65f625d48c2e3e00e302ef205dfffe649b8 (diff) | |
download | FreeBSD-ports-449bff6a60df9e47dc84409779cc2a0d0c0456e8.zip FreeBSD-ports-449bff6a60df9e47dc84409779cc2a0d0c0456e8.tar.gz |
Add a patch to make portupgrade just use stdout/stderr redirection to
keep build logs rather than calling script(1) when stdin is not a tty.
I wonder if this works against the portupgrade-from-cron problem...
Diffstat (limited to 'sysutils/portupgrade')
-rw-r--r-- | sysutils/portupgrade/Makefile | 1 | ||||
-rw-r--r-- | sysutils/portupgrade/files/patch-pkgtools.rb | 46 |
2 files changed, 47 insertions, 0 deletions
diff --git a/sysutils/portupgrade/Makefile b/sysutils/portupgrade/Makefile index 2ceba7f..7c8eb31 100644 --- a/sysutils/portupgrade/Makefile +++ b/sysutils/portupgrade/Makefile @@ -7,6 +7,7 @@ PORTNAME= portupgrade PORTVERSION= 20040113 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= ftp://ftp.iDaemons.org/pub/distfiles/ \ ${MASTER_SITE_LOCAL} diff --git a/sysutils/portupgrade/files/patch-pkgtools.rb b/sysutils/portupgrade/files/patch-pkgtools.rb new file mode 100644 index 0000000..3d7e68a --- /dev/null +++ b/sysutils/portupgrade/files/patch-pkgtools.rb @@ -0,0 +1,46 @@ +Index: lib/pkgtools.rb +=================================================================== +RCS file: /home/cvs/pkgtools/lib/pkgtools.rb,v +retrieving revision 1.116 +diff -u -r1.116 pkgtools.rb +--- lib/pkgtools.rb 19 Oct 2003 11:56:34 -0000 1.116 ++++ lib/pkgtools.rb 16 Jan 2004 12:11:11 -0000 +@@ -478,14 +478,20 @@ + alias system! sudo + alias xsystem! xsudo + +-# script, xscript +-def __script(x, file, *args) +- if file +- __system(x, '/usr/bin/script', '-qa', file, *args) ++def logged_command(file, args) ++ if !file ++ args ++ elsif STDIN.tty? ++ ['/usr/bin/script', '-qa', file, *args] + else +- __system(x, *args) ++ ['/bin/sh', '-c', sprintf('%s >>%s 2>&1', shelljoin(*args), shelljoin(file))] + end + end ++ ++# script, xscript ++def __script(x, file, *args) ++ __system(x, *logged_command(file, args)) ++end + def script(file, *args) + __script(false, file, *args) + end +@@ -495,11 +501,7 @@ + + # script!, xscript! + def __script!(x, file, *args) +- if file +- __sudo(x, '/usr/bin/script', '-qa', file, *args) +- else +- __sudo(x, *args) +- end ++ __sudo(x, *logged_command(file, args)) + end + def script!(file, *args) + __script!(false, file, *args) |