From owner-freebsd-pkg@FreeBSD.ORG Thu Apr 16 16:40:38 2015 Return-Path: Delivered-To: freebsd-pkg@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EA8C7F91; Thu, 16 Apr 2015 16:40:38 +0000 (UTC) Received: from relay2.tomsk.ru (mail.sibptus.tomsk.ru [212.73.124.5]) by mx1.freebsd.org (Postfix) with ESMTP id C385679E; Thu, 16 Apr 2015 16:40:37 +0000 (UTC) X-Virus-Scanned: by clamd daemon 0.98.5_1 for FreeBSD at relay2.tomsk.ru Received: from admin.sibptus.tomsk.ru ([212.73.125.240] verified) by relay2.tomsk.ru (CommuniGate Pro SMTP 5.1.16) with ESMTPS id 38635883; Thu, 16 Apr 2015 22:40:34 +0600 Received: from admin.sibptus.TOMSK.ru (sudakov@localhost [127.0.0.1]) by admin.sibptus.tomsk.ru (8.14.9/8.14.7) with ESMTP id t3GGeVkQ027524; Thu, 16 Apr 2015 22:40:34 +0600 (NOVT) (envelope-from vas@mpeks.tomsk.su) Received: (from sudakov@localhost) by admin.sibptus.TOMSK.ru (8.14.9/8.14.7/Submit) id t3GGeVbH027523; Thu, 16 Apr 2015 22:40:31 +0600 (NOVT) (envelope-from vas@mpeks.tomsk.su) X-Authentication-Warning: admin.sibptus.TOMSK.ru: sudakov set sender to vas@mpeks.tomsk.su using -f Date: Thu, 16 Apr 2015 22:40:31 +0600 From: Victor Sudakov To: freebsd-pkg@freebsd.org, Matthew Seaman Subject: Re: perl version woe Message-ID: <20150416164031.GA27284@admin.sibptus.tomsk.ru> References: <20150416042738.GA99219@admin.sibptus.tomsk.ru> <552F5FF3.7090908@FreeBSD.org> <20150416080754.GA18442@admin.sibptus.tomsk.ru> <552F7738.1070703@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <552F7738.1070703@freebsd.org> Organization: OAO "Svyaztransneft", SibPTUS X-PGP-Key: http://www.dreamwidth.org/pubkey?user=victor_sudakov X-PGP-Fingerprint: 10E3 1171 1273 E007 C2E9 3532 0DA4 F259 9B5E C634 User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-pkg@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Binary package management and package tools discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2015 16:40:39 -0000 Matthew Seaman wrote: > > Do you mean to say, I should be able to safely run "pkg upgrade" and > > pkg will resolve this for me? > > Yes, pretty much. > > You can run 'pkg upgrade' safely, as it will show you what packages it > will install, remove or reinstall and ask you for confirmation before it > does. (Assuming you haven't overridden that behaviour in pkg.conf) > Check what it tells you carefully, and just hit 'n' if you don't agree > with it. That's exactly what I did. When I saw that it was going to INSTALL perl5 instead of UPDATE it, I refused to proceed and asked a question here. > > In fact, for "difficult" upgrades it tends to do that twice, once with > the information in the repository catalog, and then again after it has > downloaded all the new packages and so has access to the complete list > of files in each package manifest. The second pass of the solver is > where it handles all the packages trying to install conflicting files, > which is something that tends to happen when doing a switch between > different version of perl or ruby or the like. You should be able to > avoid the two-solver-passes effect by pulling down the new packages > using 'pkg fetch -u' before trying the upgrade. Nice to know, thank you. > > Generally, if pkg can't work out how to upgrade it will end up asking > you to remove some items from the upgrade and then end up not doing > anything. Although pkg-1.5 should be less prone to that sort of thing now. I think that is what happened in the log below, but could you explain it in greater detail? The messages are not entirely self-explanatory. The (r) and (l) are probably (r)emote and (l)ocal? Whence this conflict between identical versions of php5-ldap-5.4.39 ? Checking integrity... done (2 conflicting) pkg: Cannot solve problem using SAT solver: dependency rule: package php5-extensions(r) depends on: php5-ldap(r)php5-ldap(l) dependency rule: package php5-extensions(l) depends on: php5-ldap(r)php5-ldap(l) upgrade rule: upgrade local php5-ldap-5.4.39 to remote php5-ldap-5.4.39 cannot install package php5-ldap, remove it from request? [Y/n]: pkg: cannot find php5-ldap in the request pkg: cannot solve job using SAT solver Checking integrity... done (0 conflicting) Conflicts with the existing packages have been found. One more solver iteration is needed to resolve them. [root@gw /] !! pkg upgrade Updating sibptus repository catalogue... sibptus repository is up-to-date. All repositories are up-to-date. Checking for upgrades (124 candidates): 100% Processing candidates (124 candidates): 100% Checking integrity... done (2 conflicting) pkg: Cannot solve problem using SAT solver: dependency rule: package php5-extensions(r) depends on: php5-ldap(r)php5-ldap(l) dependency rule: package php5-extensions(l) depends on: php5-ldap(r)php5-ldap(l) upgrade rule: upgrade local php5-ldap-5.4.39 to remote php5-ldap-5.4.39 cannot install package php5-ldap, remove it from request? [Y/n]: y pkg: cannot find php5-ldap in the request pkg: cannot solve job using SAT solver Checking integrity... done (0 conflicting) Your packages are up to date. > > > I'd better try on a copy of the system. > > To be sure. There's no such thing as "too paranoid" where systems > administration is concerned. pkg(8) should not be causing you any grief > though, and even if it does, we'd like to know about it[*] so we can > avoid the problem in future. > > > [*] Ie. we'd like a copy of your package database and maybe access to > your repo, or details of your repo setup so we can try and reproduce the > problem. My repository is public and is located at http://svn64.sibptus.ru The build logs are at http://svn64.sibptus.ru:8060/ (I promise to tell the access credentials to anyone in a private e-mail). -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru