> On Apr 21, 2015, at 12:34 PM, Baptiste Daroussin <b...@freebsd.org> wrote: > > On Tue, Apr 21, 2015 at 11:44:01PM +0800, Ben Woods wrote: >>>> On Tue, Apr 21, 2015 at 4:02 AM Dan Langille <d...@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/django >>>>> (1.7). >>>>> >>>>> The error I get is: >>>>> >>>>> $ sudo poudriere testport -v -j 101amd64 -p testing -z testing -i -o >>>>> www/py-django-tastypie >>>>> ... >>>>> ===> Verifying install for py27-django>=1.5 in >>>>> /usr/ports/www/py-django16 >>>>> ===> 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 the >>>>> 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-testing/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, create >>>> 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 would >>>> 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, pkg >>>> 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:~ # >>> >>> — >>> Dan Langille >>> http://langille.org/ >> >> For the record, downgrading pkg to 1.4.12 and poudriere to 3.1.2 did >> not fix this issue for me. >> >> 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=155771&action=diff > > I found the reason for Dan by checking the logs, If I could see your own logs > then I will tell you where you mistake is. > > actually you are having poudriere building as a user (internally to the jail) > 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>=1.5 but was refering to the www/py-django16 port which result in > a > package named py27-django16 which is not py27-django aka the test will always > 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 > mistake.
This change fixed it for me: before: DJANGO16_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django>=1.5:${PORTSDIR}/www/py-django16 DJANGO17_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django>=1.5:${PORTSDIR}/www/py-django After: DJANGO16_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django16>0:${PORTSDIR}/www/py-django16 DJANGO17_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django17>0:${PORTSDIR}/www/py-django — Dan Langille http://langille.org/
signature.asc
Description: Message signed with OpenPGP using GPGMail