Summary: | mail-mail/queue-repair - netqmail pkg_postinst(): queue-repair failed | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | G.Wolfe Woodbury <redwolfe> |
Component: | Current packages | Assignee: | Net-Mail Packages <net-mail+disabled> |
Status: | RESOLVED DUPLICATE | ||
Severity: | major | CC: | bcddd214, patrick, powerman-asdf |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge --info output (201 lines)
output of emerge -pqv command captured porthole build log. Emerge did *not* preserve /var/tmp/ build directory |
Description
G.Wolfe Woodbury
2012-09-17 15:14:32 UTC
Created attachment 324098 [details]
emerge --info output (201 lines)
Created attachment 324100 [details]
output of emerge -pqv command
Created attachment 324102 [details]
captured porthole build log. Emerge did *not* preserve /var/tmp/ build directory
I think I saw a vague comment float by on the mailing lists about a recent ebuild change for qmail? Found the problem(s) First, queue-repair wants python2 not python3 as its interpreter 2) octal constants are in old python1 form, should be recast to proper 0o777 form. [starting line 60->88] 3) it uses an old '<>' operator instead of '!=' [line 108] The problem belongs to the net-mail/queue-repair package, not really netqmail. additional errors in queue-repair: "except" statement syntax: uses old form "except OSErr, o" instead of "except OSErr as o" similar problem in raise getopt.error and definitions and one I can't solve yet trying to sort directory list it can't locate a "sort" handler for dirs_sort(...) generates traceback I could not capture or save At this point I'm at the limit of my Python skills, so I need a fair bit of help. ok, changing the #!/usr/bin/python to #!/usr/bin/python2 solves the sort problem. where should I put a diff file for the fixes? here? Final report: The only change necessary is to change the shbang #!/usr/bin/python to #!/usr/bin/python2.7 solves all the problems noted. This is required if you have both python 2.7 and python 3.x installed and the python3 version is default. Most of the installations of gentoo are going to have both versions of python installed since the stage 3 image put them both in. Also, the eselect pointer defaults to python3 in generic installs. Sorry for all the noise, but it took a while to e things installed in a virtual machine and tested. Add a few false leads amd learning a new language, and it takes a bit of time. *** Bug 448910 has been marked as a duplicate of this bug. *** It would be great if someone makes an update in portage for queue-repair ebuild. Is it possible? Confirmed during fresh install: * Setting up the message queue hierarchy File "/usr/bin/queue-repair.py", line 69 'queue' : ('qmailq', 'qmail', 0750, 0), ^ SyntaxError: invalid token * ERROR: mail-mta/netqmail-1.06-r2 failed (postinst phase): * queue-repair failed Please fix this in official stable tree. The problem, as I see it, is that netqmail (and qmail itself) uses python for large parts of its implementation, and yet, there is no dependency information in the ebuilds that reflect this need Simply correcting this missing dependency would solve this. There is still no indications in the dependency graphs to make postfix depend on queue-repair nor for queue-repair to depend on python2. >>> Done.
* >>> SetUID: [chmod go-r] /var/qmail/bin/qmail-queue ...
[ ok ]
* Setting up the message queue hierarchy
File "/usr/bin/queue-repair.py", line 69
'queue' : ('qmailq', 'qmail', 0750, 0),
^
SyntaxError: invalid token
* ERROR: mail-mta/netqmail-1.06-r2::gentoo failed (postinst phase):
* queue-repair failed
Yup yup, still there
Confirmed on amd64 stable, hardened. Correcting the shebang and doing the following seemed to work: cd /usr/portage/mail-mta/netqmail ebuild netqmail-1.06-r2.ebuild postinst Any status on this fix? I switched to postfix so I don't know if recent Qmail ebuilds have fixed this. *** This bug has been marked as a duplicate of bug 405899 *** |