{"action":"created","issue":{"url":"https://api.github.com/repos/freebsd/pkg/issues/1164","labels_url":"https://api.github.com/repos/freebsd/pkg/issues/1164/labels{/name}","comments_url":"https://api.github.com/repos/freebsd/pkg/issues/1164/comments","events_url":"https://api.github.com/repos/freebsd/pkg/issues/1164/events","html_url":"https://github.com/freebsd/pkg/issues/1164","id":56824876,"number":1164,"title":"pkg 1.4.7 inconsistent/dangerous desire to upgrade packages","user":{"login":"gavinatkinson","id":1620032,"avatar_url":"https://avatars.githubusercontent.com/u/1620032?v=3","gravatar_id":"","url":"https://api.github.com/users/gavinatkinson","html_url":"https://github.com/gavinatkinson","followers_url":"https://api.github.com/users/gavinatkinson/followers","following_url":"https://api.github.com/users/gavinatkinson/following{/other_user}","gists_url":"https://api.github.com/users/gavinatkinson/gists{/gist_id}","starred_url":"https://api.github.com/users/gavinatkinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavinatkinson/subscriptions","organizations_url":"https://api.github.com/users/gavinatkinson/orgs","repos_url":"https://api.github.com/users/gavinatkinson/repos","events_url":"https://api.github.com/users/gavinatkinson/events{/privacy}","received_events_url":"https://api.github.com/users/gavinatkinson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-06T15:22:58Z","updated_at":"2015-02-06T16:04:10Z","closed_at":null,"body":"I think the following speaks for itself:\r\n\r\nroot@buffy:/root 1002% pkg info gettext\r\ngettext-0.18.3.1_1\r\nName           : gettext\r\nVersion        : 0.18.3.1_1\r\nInstalled on   : Tue Jul  8 12:27:04 BST 2014\r\nOrigin         : devel/gettext\r\nArchitecture   : freebsd:10:x86:64\r\nPrefix         : /usr/local\r\nCategories     : devel\r\nLicenses       :\r\nMaintainer     : autotools@FreeBSD.org\r\nWWW            : http://www.gnu.org/software/gettext/\r\nComment        : GNU gettext package\r\nOptions        :\r\n        DOCS           : on\r\nShared Libs required:\r\n        libintl.so.9\r\n        libgettextsrc-0.18.3.so\r\n        libgettextlib-0.18.3.so\r\nShared Libs provided:\r\n        libintl.so.9\r\n        libgettextsrc-0.18.3.so\r\n        libgettextpo.so.5\r\n        libgettextlib-0.18.3.so\r\n        libasprintf.so.0\r\nAnnotations    :\r\nFlat size      : 9.93MiB\r\nDescription    :\r\nThis is the GNU gettext package.  It is interesting for authors or\r\nmaintainers of other packages or programs which they want to see\r\ninternationalized.  As one step the handling of messages in different\r\nlanguages should be implemented.  For this task GNU gettext provides\r\nthe needed tools and library functions.\r\n\r\nWWW: http://www.gnu.org/software/gettext/\r\n\r\n\r\nroot@buffy:/root 1001% pkg install wget\r\nUpdating FreeBSD repository catalogue...\r\nFetching meta.txz: 100%    944 B   0.9kB/s    00:01\r\nFetching packagesite.txz: 100%    5 MiB   1.1MB/s    00:05\r\nProcessing entries: 100%\r\nFreeBSD repository update completed. 23917 packages processed\r\npkg: gstreamer1-plugins-lame has a missing dependency: lame\r\nThe following 2 packages will be affected (of 0 checked):\r\n\r\nNew packages to be INSTALLED:\r\n        wget: 1.16\r\n        gettext-runtime: 0.19.4\r\n\r\nThe process will require 3 MiB more space.\r\n1 MiB to be downloaded.\r\n\r\nProceed with this action? [y/N]: y\r\nFetching wget-1.16.txz: 100%  462 KiB 473.4kB/s    00:01\r\nFetching gettext-runtime-0.19.4.txz: 100%  144 KiB 147.1kB/s    00:01\r\nChecking integrity... done (1 conflicting)\r\nChecking integrity... done (0 conflicting)\r\nConflicts with the existing packages have been found.\r\nOne more solver iteration is needed to resolve them.\r\nThe following 5 packages will be affected (of 0 checked):\r\n\r\nNew packages to be INSTALLED:\r\n        gettext-runtime: 0.19.4\r\n        gettext-tools: 0.19.4\r\n        wget: 1.16\r\n        gettext: 0.19.4\r\n                                                                                                                                                                                              \r\nThe process will require 12 MiB more space.                                                                                                                                                   \r\n2 MiB to be downloaded.                                                                                                                                                                       \r\n                                                                                                                                                                                              \r\nProceed with this action? [y/N]: ^C\r\n\r\n\r\n\r\nroot@buffy:/root 1004% pkg install wget\r\nUpdating FreeBSD repository catalogue...\r\nFreeBSD repository is up-to-date.\r\nAll repositories are up-to-date.\r\npkg: gstreamer1-plugins-lame has a missing dependency: lame\r\nChecking integrity... done (1 conflicting)\r\nChecking integrity... done (0 conflicting)\r\nThe following 4 packages will be affected (of 0 checked):\r\n\r\nNew packages to be INSTALLED:\r\n        wget: 1.16\r\n        gettext-runtime: 0.19.4\r\n        gettext-tools: 0.19.4\r\n\r\nInstalled packages to be UPGRADED:\r\n        gettext: 0.18.3.1_1 -> 0.19.4\r\n\r\nThe process will require 2 MiB more space.\r\n2 MiB to be downloaded.\r\n\r\nProceed with this action? [y/N]: ^C\r\n\r\n\r\nroot@buffy:/root 1006% rm /var/cache/pkg/wget-1.16* /var/cache/pkg/gettext-runtime-0.19.4*\r\nroot@buffy:/root 1008% pkg install wget\r\nUpdating FreeBSD repository catalogue...\r\nFreeBSD repository is up-to-date.\r\nAll repositories are up-to-date.\r\npkg: gstreamer1-plugins-lame has a missing dependency: lame\r\nThe following 2 packages will be affected (of 0 checked):\r\n\r\nNew packages to be INSTALLED:\r\n        wget: 1.16\r\n        gettext-runtime: 0.19.4\r\n\r\nThe process will require 3 MiB more space.\r\n1 MiB to be downloaded.\r\n\r\nProceed with this action? [y/N]: y\r\nFetching wget-1.16.txz: 100%  462 KiB 473.4kB/s    00:01\r\nFetching gettext-runtime-0.19.4.txz: 100%  144 KiB 147.1kB/s    00:01\r\nChecking integrity... done (1 conflicting)\r\nChecking integrity... done (0 conflicting)\r\nConflicts with the existing packages have been found.\r\nOne more solver iteration is needed to resolve them.\r\nThe following 5 packages will be affected (of 0 checked):\r\n\r\nNew packages to be INSTALLED:\r\n        gettext-runtime: 0.19.4\r\n        gettext-tools: 0.19.4\r\n        wget: 1.16\r\n        gettext: 0.19.4\r\n\r\nThe process will require 12 MiB more space.\r\n2 MiB to be downloaded.\r\n\r\nProceed with this action? [y/N]: ^C\r\n\r\n\r\n\r\nroot@buffy:/root 1005% pkg -v\r\n1.4.7\r\n\r\n\r\nSo, at least three bugs:\r\n- Whether it decides to upgrade or install a package seems to depend on whether it has already been downloaded.  I don't know whether installing when it should actually upgrade would lead to old files being left around, or whether it would have led to everything depending on gettext to start failing, but neither outcome seems ideal.\r\n- When pkg does decide it needs to upgrade gettext, I suspect it also should upgrade everything that depends upon gettext (as the library version is encoded into the library filename), otherwise this simple install of wget would have likely killed my desktop.\r\n- Text says \"The following 5 packages\" when only four are listed, and I'm not sure what \"(of 0 checked)\" means but I'm guessing it had actually checked more than that."},"comment":{"url":"https://api.github.com/repos/freebsd/pkg/issues/comments/73260001","html_url":"https://github.com/freebsd/pkg/issues/1164#issuecomment-73260001","issue_url":"https://api.github.com/repos/freebsd/pkg/issues/1164","id":73260001,"user":{"login":"infracaninophile","id":1552340,"avatar_url":"https://avatars.githubusercontent.com/u/1552340?v=3","gravatar_id":"","url":"https://api.github.com/users/infracaninophile","html_url":"https://github.com/infracaninophile","followers_url":"https://api.github.com/users/infracaninophile/followers","following_url":"https://api.github.com/users/infracaninophile/following{/other_user}","gists_url":"https://api.github.com/users/infracaninophile/gists{/gist_id}","starred_url":"https://api.github.com/users/infracaninophile/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infracaninophile/subscriptions","organizations_url":"https://api.github.com/users/infracaninophile/orgs","repos_url":"https://api.github.com/users/infracaninophile/repos","events_url":"https://api.github.com/users/infracaninophile/events{/privacy}","received_events_url":"https://api.github.com/users/infracaninophile/received_events","type":"User","site_admin":false},"created_at":"2015-02-06T16:04:10Z","updated_at":"2015-02-06T16:04:10Z","body":"On 2015/02/06 15:22, Gavin Atkinson wrote:\n> - Whether it decides to upgrade or install a package seems to depend\n> on whether it has already been downloaded.  I don't know whether\n> installing when it should actually upgrade would lead to old files\n> being left around, or whether it would have led to everything\n> depending on gettext to start failing, but neither outcome seems\n> ideal.\n\nThis happens because pkg(8) doesn't know the files contained in the\npackage until it can extract the +MANIFEST from the downloaded .txz\n-- once it has the file list, it can detect if there is a conflict with\nsome other package, which will lead it to make decisions about deleting\npackages to get rid of the conflict.\n\n> - When pkg does decide it needs to upgrade gettext, I suspect it also\n> should upgrade everything that depends upon gettext (as the library\n> version is encoded into the library filename), otherwise this simple\n> install of wget would have likely killed my desktop.\n\nYes, this is a problem.  At the moment pkg(8) works best if you upgrade\neverything to the latest available first, before installing any other\nsoftware.\n\nNote that 1.4.7 copes automatically with the split of gettext into\ngettext-tools and gettext-runtime, without your needing to follow the\ninstructions in UPDATING (although they do no harm.)\n\n> - Text says \"The following 5 packages\" when only four are listed, and\n> I'm not sure what \"(of 0 checked)\" means but I'm guessing it had\n> actually checked more than that.\n\nThat's a bug, clearly.\n\n\tCheers,\n\n\tMatthew\n\n\n"}}