mail/courier build failures on newer FreeBSD versions

Milan Obuch freebsd-ports at dino.sk
Mon May 26 05:04:40 UTC 2014


On Mon, 26 May 2014 03:29:55 +0200
Matthias Andree <matthias.andree at gmx.de> wrote:

[ snip ]

> I'd suggest to let Milan work on the port and tell him the
> constraints - for instance, that now staging needs to be addressed
> first and then the build-on-10 issue.
>

OK, I already began work on staging, this was just a small side step
fixing another issue, in my eyes easily acceptable, but when it needs
now be done in other order, fine.

> Milan, if you could share some of the troubles you're encountering,
> people may be able to help you.
>

Well, I did 'make check-plist', here is part of its output:

Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/%%MAILOWN%%d
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/esmtpd
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/esmtpd-msa
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/esmtpd-ssl
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/imapd
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/imapd-ssl
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/ldapaddressbook
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/%%CACHEOWN%%3d
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/%%CACHEOWN%%3d-ssl
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/sqwebmaild
Error: Orphaned: %%ETCDIR%%/%%MAILOWN%%/webmlmrc

It does not take much time to revert, for me, at least in this case,
unnecessary substitution, some times a bit comic, to

Error: Orphaned: etc/courier/courierd
Error: Orphaned: etc/courier/esmtpd
Error: Orphaned: etc/courier/esmtpd-msa
Error: Orphaned: etc/courier/esmtpd-ssl
Error: Orphaned: etc/courier/imapd
Error: Orphaned: etc/courier/imapd-ssl
Error: Orphaned: etc/courier/ldapaddressbook
Error: Orphaned: etc/courier/pop3d
Error: Orphaned: etc/courier/pop3d-ssl
Error: Orphaned: etc/courier/sqwebmaild
Error: Orphaned: etc/courier/webmlmrc

All these files are configuration files and all are handled this way:

@unexec cmp -s %D/etc/courier/courierd %D/etc/courier/courierd.dist &&
rm -f %D/etc/courier/courierd 2>/dev/null || true
etc/courier/courierd.dist
@exec [ -f %D/etc/courier/courierd.dist ] &&
%%LOCALBASE%%/share/sysconftool/sysconftool %D/etc/courier/courierd.dist

which does create them if they do not exist copying <file>.dist as
template on install and if they are still the same on unistall, they
are deleted. This way user configuration does not get lost across
upgrades, and sysconftool merges new configuration items when they are
introduced.

This behavior is broken when I add these files into pkg-plist, they are
simply deleted on uninstall and user-made changes in configuration is
lost. How should this issue be solved? I think there should be a method
to tell 'this file should be specially handled, ignore it, it is not an
orphan' for make check-plist...

> Regarding staging, check http://wiki.freebsd.org/ports/StageDir first,
> then see the porter's handbook - especially the section on the USES
> features -, and you may also find worth a read, and a current checkout
> of /usr/ports/CHANGES.
>

Well, I am already using first one mentioned, I verify there is an
example dealing with configuration files exactly the same way I use in
my port on wiki. I will look a bit more into porter's handbook, and
into /usr/ports/CHANGES too...

Hey, I just found a simple solution to my problem there! Using @comment
for such files works well... just as I need, just the way it worked
until now. Lesson taken.

Could this solution be put on http://wiki.freebsd.org/ports/StageDir
too? It would make all this really much easier, not only for me, I
think... please... :)

> If there are C++ troubles that involve std::_1 symbols during link
> time, the graphics/* ports that I maintain may give some hints to
> solve them.
>

No such problems - or maybe it is solved with using GCC 4.6 for newer
FreeBSD version, I don't know. Not that important at this time, anyway.

> Milan, feel free to ask questions, that's what the list is for.  Other
> people may have overcome similar challenges that you are facing and be
> able to share their findings.
> 

Yes, I know, that's the reason I wrote my original post. I am going to
eliminate other 'make check-plist' findings, so I can take a step
further down the road...

Regards,
Milan


More information about the freebsd-ports mailing list