Date: Tue, 21 Apr 2015 18:34:54 +0200 From: Baptiste Daroussin <bapt@FreeBSD.org> To: Ben Woods <woodsb02@gmail.com> Cc: Dan Langille <dan@langille.org>, ports <freebsd-ports@freebsd.org> Subject: Re: pkg-static: Insufficient privileges to add packages Message-ID: <20150421163454.GA40188@ivaldir.etoilebsd.net> In-Reply-To: <CAOc73CCKUq2E2ign1R9h9tGRm-dEfd18O-rRE3ca52Qj_XrnUw@mail.gmail.com> References: <31714E44-6041-4B5F-BDB0-FA7131ED7EB4@langille.org> <CAOc73CCDGjyzio6z7F1PQ0ttwrmFtbvHz1s7w-TWi5aKLoyb1A@mail.gmail.com> <CAOc73CD0XREAW0O_pMp7nB2vqE-MoHAAbKsYcLQcT0PC6jT%2BVA@mail.gmail.com> <7A1D4136-BBEF-4726-B1E2-51CF3DD285C2@langille.org> <CAOc73CCKUq2E2ign1R9h9tGRm-dEfd18O-rRE3ca52Qj_XrnUw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--zhXaljGHf11kAtnf Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 21, 2015 at 11:44:01PM +0800, Ben Woods wrote: > >> On Tue, Apr 21, 2015 at 4:02 AM Dan Langille <dan@langille.org> wrote: > >>> > >>> I am running a testport on www/py-django-tastypie > >>> > >>> My goal it to add an option for using www/django16 as well as www/dja= ngo > >>> (1.7). > >>> > >>> The error I get is: > >>> > >>> $ sudo poudriere testport -v -j 101amd64 -p testing -z testing -i -o > >>> www/py-django-tastypie > >>> ... > >>> =3D=3D=3D> Verifying install for py27-django>=3D1.5 in > >>> /usr/ports/www/py-django16 > >>> =3D=3D=3D> Installing existing package /packages/All/py27-django16-= 1.6.11.txz > >>> pkg-static: Insufficient privileges to add packages > >>> > >>> But because I'm running testport interactively, I see I can install t= he > >>> port it mentions: > >>> > >>> root@101amd64-testing-testing:~ # pkg install > >>> /packages/All/py27-django16-1.6.11.txz > >>> Updating local repository catalogue... > >>> [101amd64-testing-testing] Fetching meta.txz: 100% 816 B 0.8kB/s > >>> 00:01 > >>> [101amd64-testing-testing] Fetching packagesite.txz: 100% 50 KiB > >>> 51.4kB/s 00:01 > >>> Processing entries: 100% > >>> local repository update completed. 205 packages processed. > >>> Updating database digests format: 100% > >>> Checking integrity... done (0 conflicting) > >>> The following 1 package(s) will be affected (of 0 checked): > >>> > >>> New packages to be INSTALLED: > >>> py27-django16: 1.6.11 > >>> > >>> The process will require 27 MiB more space. > >>> > >>> Proceed with this action? [y/N]: y > >>> [101amd64-testing-testing] [1/1] Installing py27-django16-1.6.11... > >>> [101amd64-testing-testing] [1/1] Extracting py27-django16-1.6.11: 100% > >>> root@101amd64-testing-testing:~ # > >>> > >>> > >>> Why does the testport fail? > >>> > >>> Full build log here: > >>> http://services.unixathome.org/poudriere/data/101amd64-testing-testin= g/2015-04-20_19h53m23s/logs/errors/py27-django-tastypie-0.12.1.log > >> > >> > >> That error is generated in the pkg exec_add function in src/add.c here: > >> https://github.com/freebsd/pkg/blob/master/src/add.c > >> > >> It occurs because it checks the package database for read, write, crea= te > >> access using the pkgdb_access and pkgdb_check_access functions in > >> libpkg/pkgdb.c here: > >> https://github.com/freebsd/pkg/blob/master/libpkg/pkgdb.c > >> > >> I believe this is inside the jail created by poudriere testport. It wo= uld > >> be interesting to add the -i interactive flag to the testport run and = check > >> the permissions on/in the pkg database. Mine are here for reference: > >> % ls -lah /var/db/pkg/ > >> total 37484 > >> drwxr-xr-x 2 root wheel 8B 21 Apr 06:00 . > >> drwxr-xr-x 13 root wheel 19B 21 Apr 06:13 .. > >> -rw-r--r-- 1 root wheel 246B 4 Dec 06:22 FreeBSD.meta > >> -rw-r--r-- 1 root wheel 11M 21 Apr 06:00 local.sqlite > >> -rw-r--r-- 1 root wheel 246B 21 Apr 03:05 poudriere.meta > >> -rw-r--r-- 1 root wheel 49M 4 Dec 06:22 repo-FreeBSD.sqlite > >> -rw-r--r-- 1 root wheel 1.6M 21 Apr 03:05 repo-poudriere.sqlite > >> -r--r--r-- 1 root wheel 3.3M 21 Apr 03:17 vuln.xml > >> > >> Regards, > >> Ben > >> > >> > >> > >> > >> Hand on a minute.... now my poudriere system is doing the same thing - > >> looks like we have a bug somewhere. > >> > >> I am running pkg 1.5.1 and poudriere 3.1.4. According to freshports, p= kg > >> was updated on 16th April, and poudriere on 10th April. > >> > >> Inside my poudriere testport jail (using the -i interactive mode flag)= , I > >> have: > >> # ls -lah /var/db/pkg/ > >> total 7953 > >> drwxr-xr-x 2 root wheel 3B Apr 20 23:17 . > >> drwxr-xr-x 12 root wheel 14B Apr 20 23:17 .. > >> -rw-r--r-- 1 root wheel 7.7M Apr 20 23:17 local.sqlite > >> > >> Thoughts? > > > > Here's what I have: > > > > Edit /etc/motd to change this login announcement. > > root@101amd64-testing-testing:~ # ls -lah /var/db/pkg/ > > total 2991 > > drwxr-xr-x 2 root wheel 3B Apr 21 13:28 . > > drwxr-xr-x 10 root wheel 12B Mar 14 19:18 .. > > -rw-r--r-- 1 root wheel 2.8M Apr 21 13:28 local.sqlite > > root@101amd64-testing-testing:~ # > > > > =E2=80=94 > > Dan Langille > > http://langille.org/ >=20 > For the record, downgrading pkg to 1.4.12 and poudriere to 3.1.2 did > not fix this issue for me. >=20 > The port that I am trying to testport on FreeBSD 10.1 is > math/plplot-ada. The testport permission issues do not occur with the > port as it is currently - only after making the changes I have > proposed to math/plplot here: > https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D155771&action=3Ddiff I found the reason for Dan by checking the logs, If I could see your own l= ogs then I will tell you where you mistake is. actually you are having poudriere building as a user (internally to the jai= l) which is a very good thing as it allows to catch things like this :D) I mean it is dropping roots priviledges to build, stage and make package. but still try to install a dependency there, probably because the dependency line you have in your port is buggy. In dan case he was testing if py27-django>=3D1.5 but was refering to the www/py-django16 port which resul= t in a package named py27-django16 which is not py27-django aka the test will alwa= ys fail and the ports tree will try to reinstall again and again even in phases when it cannot due to lack of priviledges As a conclusion the bug is in the port you are testing not in pkg, neither = in poudriere. If you show me the logs of your own build I will tell you what is your mist= ake. Best regards, Bapt --zhXaljGHf11kAtnf Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlU2fC4ACgkQ8kTtMUmk6Exh9wCdEQjskYVBAvBbCIXeIk93fv22 flcAnA6ZCHt/xSp3UP2hTnrperolEp7z =6WuX -----END PGP SIGNATURE----- --zhXaljGHf11kAtnf--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150421163454.GA40188>