Date: Fri, 27 Jul 2007 13:26:54 -0700 From: Doug Barton <dougb@FreeBSD.org> To: Garrett Cooper <youshi10@u.washington.edu> Cc: Yoshihiro Ota <ota@j.email.ne.jp>, freebsd-ports@freebsd.org Subject: Re: Call for testers for yet another ports upgrade program, ports+ Message-ID: <46AA550E.3090704@FreeBSD.org> In-Reply-To: <46A9B112.7040408@u.washington.edu> References: <20070726011654.cec378be.ota@j.email.ne.jp> <46A866BE.1000407@u.washington.edu> <20070726233610.e536c2e2.ota@j.email.ne.jp> <46A9B112.7040408@u.washington.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Garrett Cooper wrote: > Every time you run make install, portmaster, or portupgrade, there's > a lot of stuff going on behind the scenes. One of the things involved is > installing package information in /var/db/pkg. That's where pkg_version > gets its information from, along with portmaster (AFAIK) and the > makefiles for ports (for sure). Garrett's right on the mark in this post, so I'll just confirm that this is what portmaster does: 1. port_ver=`make -V PKGNAME` 2. Check if that is empty, and error out if it is (moved ports and other edge cases are handled elsewhere already). 3. If the port version from the Makefile matches what's installed, check to see if it's a forced upgrade, and if not cache the fact that it's up to date. 4. case `pkg_version -t $1 $port_ver` in \<) do_update=yes ;; =) ;; # Should not be reached *) if [ -n "$VERBOSE" ]; then echo " ===>>> Port version $port_ver does not" echo " ===>>> seem newer than installed $1" fi ;; esac hth, Doug -- This .signature sanitized for your protection
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46AA550E.3090704>