Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 442874 | Differences between
and this patch

Collapse All | Expand All

(-)a/http-replicator (-8 / +13 lines)
Lines 636-648 def main (): Link Here
636
				parser.error('user %r does not exist' % options.user)
636
				parser.error('user %r does not exist' % options.user)
637
			except OSError:
637
			except OSError:
638
				parser.error('no permission for changing to user %r' % options.user)
638
				parser.error('no permission for changing to user %r' % options.user)
639
		pid = os.fork() # fork process
640
		if pid: # parent process
641
			pidfile.write(str(pid)) # store child's pid
642
			pidfile.close()
643
			return
644
		else:
645
			signal.signal(signal.SIGHUP, signal.SIG_IGN)
646
	else:
639
	else:
647
		handler = logging.StreamHandler(sys.stdout) # log to stdout
640
		handler = logging.StreamHandler(sys.stdout) # log to stdout
648
		handler.setFormatter(logging.Formatter('%(levelname)s: %(name)s %(message)s'))
641
		handler.setFormatter(logging.Formatter('%(levelname)s: %(name)s %(message)s'))
Lines 651-660 def main (): Link Here
651
	try:
644
	try:
652
		os.chdir(options.dir) # change to cache directory
645
		os.chdir(options.dir) # change to cache directory
653
	except OSError:
646
	except OSError:
654
		parser.error('invalid directory %r' % options.dir)
647
		parser.error('invalid directory %r\n' \
648
		             'Try running repcacheman, and/or see\n' \
649
		             'http://forums.gentoo.org/viewtopic-t-173226.html' \
650
				 % options.dir)
655
	if not os.access(os.curdir, os.R_OK | os.W_OK): # check permissions for cache directory
651
	if not os.access(os.curdir, os.R_OK | os.W_OK): # check permissions for cache directory
656
		parser.error('no read/write permission for directory %r' % options.dir)
652
		parser.error('no read/write permission for directory %r' % options.dir)
657
653
654
	if options.daemon:
655
		pid = os.fork() # fork process
656
		if pid: # parent process
657
			pidfile.write(str(pid)) # store child's pid
658
			pidfile.close()
659
			return
660
		else:
661
			signal.signal(signal.SIGHUP, signal.SIG_IGN)
662
658
	sys.stdout = sys.stderr = open('/dev/null', 'w') # redirect all output to bit bucket
663
	sys.stdout = sys.stderr = open('/dev/null', 'w') # redirect all output to bit bucket
659
	logging.root.name = 'HttpReplicator'
664
	logging.root.name = 'HttpReplicator'
660
	try:
665
	try:

Return to bug 442874