(PKG_DBDIR/PKGNAME). Address PR pkg/20856 and part of PRs pkg/20852,
pkg/20853 and pkg/20854 by FUKAUMI Naoki <naoki at fukaumi dot
org>.
Note: with this change pkg_tarup can now produce reusable binary
packages from installed packages when they depend on an install
script.
* Upgrade step 1/4: Check if the new version is ok with all pkgs
* (from +REQUIRED_BY) that require this pkg
Inspired by bsd.pkg.mk's upgrade(?) target.
(filename, package) pairs.
Modify calling functions to use pkgdb_dump() directly, rather than
sequences of
pkgdb_open
{ pkgdb_iter, pkgdb_retrieve }
pkgdb_close
calls.
Remove the now unnecessary pkgdb_iter function.
I simplified the patch addressed certain security concerns. I only
allowed setusercontext() to set resource limits/priority and umask,
because these are the values that are relevant from login.conf. The
rest of the settings (uid/gid/initgroups) should be done using e->uid
and e->gid like they were before, not from:
struct passwd *pwd = getpwnam(getenv("LOGNAME"));
Finally login_cap's (path/env) are irrelevant in this context since
we want to use our e->envp anyway to execute the command.
char as a parameter. On platforms with char signed by default, those are wrong.
Thanks to Christian Biere christianbiere@gmx.de for the patch he supplied.
I tested the patch and agc approved it for commit.
reason things are as they are -- Perry said:
This (using err("mailwrapper")) is intentional. Mailwrapper plays ugly
games with argv[0] and thus it is often difficult for people to know
that the error isn't from "mailq" or "sendmail" but from
mailwrapper -- having mailwrapper add an indication that it was really
mailwrapper running was a requested feature.
Open the routing socket before this pass to close a small window where
we would miss messages at startup (and get state kept by the scripts
out of sync).
Patch supplied by KOIE Hidetaka in private mail.