Re: Fink testing

Alexander Hansen <[email protected]> Tue, 17 Jan 2017 10:07:50 -0800
Newsgroups gmane.os.apple.fink.devel
Message-ID <[email protected]>
> On Jan 17, 2017, at 09:53, Scott Hannahs <[email protected]> wrote:
> 
> 
>> On Jan 17, 2017, at 10:32 AM, Alexander Hansen <[email protected]> wrote:
>> 
>>> 
>>> On Jan 16, 2017, at 11:37, Scott Hannahs <[email protected]> wrote:
>>> 
>>> I have a question and maybe an issue for the fink cognoscenti.
>>> 
>>> I maintain a package (duplicity) for doing encrypted backups that has an extensive testing phase. That testing phase is failing under fink.  However during that testing, the routines unpack a tar.gz file to create a directory structure for backing up and restoring.
>>> 
>>> In looking at the files, they seem to have the user/group ownership of the tar file and not fink-bld.  I find several other files such as byte compiled python files to have ownership as root and not as fink-bld.  There are a couple of test scripts that end up as fink-bld as the owner but wheel as the group.
>>> 
>>> If the testing phase were executed as root, then it would unpack the tar file as the original owner and not use fink-bld as the owner.  If the following command is done:
>>> sudo -u fink-bld tar xzf testfiles.tar.gz
>>> 
>>> Then it will unpack the files as the correct owner/group for testing.  But of course the distributed test script does not hardwire in a fink-bld user for testing.
>>> 
>>> Is this a fink issue?   I was just trying to get my updated package to pass the testing phase.
>>> 
>>> -Scott
>>> 
>> 
>> Do the tests work if you use “fink -m --no-build-as-nobody build” ?  If so, then you might use BuildAsNobody: false in the .info file so that fink builds as root instead of fink-bld.  The tradeoff is that the build isn’t quite as safe.
>> 
>> If the build works without the test phase, another option might be just to have a note that testing needs to be done as root, since end-users generally aren’t expected to run tests.  However, this would probably mean that auto-build scripts for the binary distribution won’t work, whereas they would when building as root.
>> 
>> Ideally, of course, there would be a way to force the test scripts to work as fink-bld, but this might not be possible.
>> 
>> -- 
>> Alexander Hansen, Ph.D.
>> Fink User Liaison
> 
> Alexander,
> 
> I am testing the —no-build-as-nobody option.  But I am still sort of curious how the tests could run as root and not fink-bld.  To have the tar unpacking of the test directories use the stored user/group info would have to have the tar run as root.  Otherwise it would change all ownership to fink-bld which I believe would be fine.
> 
> It seems that unpacking the original tar file leaves some files with the group “wheel” and not fink-bld.  This would seem to be a problem with the original source unpacking.
> 

It might be worth verifying whether just “tar” is being used, which would be Fink’s GNU tar, or “/usr/bin/tar”, which is Apple’s BSD tar.  

> I get errors in both forms.
> build as root:
> Ran 418 tests in 247.699s
> 
> FAILED (failures=24, errors=100, skipped=5)
> Test failed: <unittest.runner.TextTestResult run=418 errors=100 failures=24>
> error: Test failed: <unittest.runner.TextTestResult run=418 errors=100 failures=24>
> phase test: warning
> 
> Build as fink-bld:
> Ran 418 tests in 179.702s
> 
> FAILED (failures=23, errors=100, skipped=5)
> Test failed: <unittest.runner.TextTestResult run=418 errors=100 failures=23>
> error: Test failed: <unittest.runner.TextTestResult run=418 errors=100 failures=23>
> phase test: warning
> 
> 
> Not sure why building as fink-bld runs so much faster?  There is 1 failure difference.

It’s probably quicker to test as fink-bld because the tests fail promptly, possibly for different reasons than when building as root.

fink-bld is set up as an unprivileged user with no home directory or shell. 

$ id -P fink-bld
fink-bld:*:600:600::0:0:Fink Build System:/var/empty:/usr/bin/false

The problematic tests may expect one of those.

-- 
Alexander Hansen, Ph.D.
Fink User Liaison


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Fink-devel mailing list
[email protected]
List archive:
https://sourceforge.net/p/fink/mailman/fink-devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel