Re: rawhide missed an implicit dependency for #!python

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/11/2011 12:14 AM, Kevin Fenzi wrote:
> On Fri, 10 Jun 2011 13:59:18 +0300
> Panu Matilainen<pmatilai@xxxxxxxxxxxxxxx>  wrote:
>
>> On 06/10/2011 02:28 AM, Josh Stone wrote:
>>> On 06/02/2011 01:26 PM, Josh Stone wrote:
>>>> Our dtrace script in systemtap-sdt-devel starts
>>>> "#!/usr/bin/python". Usually this leads to an implicit
>>>> "Requires: /usr/bin/python", but for some reason our rawhide build
>>>> did not get this.  The F15, F14, and F13 builds from the same spec
>>>> required python as expected.
>>> [...]
>>>> Is this a bug?  Or must we now explicitly require python?
>>>
>>> An output change in file-5.07 appears to have broken find-requires:
>>> https://bugzilla.redhat.com/show_bug.cgi?id=712251
>>>
>>> And since file-5.07-2.fc15 is now in updates, I would expect this to
>>> cause even more problems going forward.
>>
>> Fixed now in rawhide rpm and an update for F15 is here:
>> https://admin.fedoraproject.org/updates/rpm-4.9.0-9.fc15
>>
>> Please help testing to get this nasty regression fixed ASAP.
>>
>> ALL packages containing scripts which have been built while file-5.07
>> has been in rawhide (since May 11th)&  F15 (in updates-testing since
>> May 23rd) are affected and will have missing dependencies because of
>> this, requiring rebuilds to correct the situation.
>>
>> Thanks Josh for reporting this, and also apologies for missing your
>> initial mail on the subject, reacting then would've saved a week's
>> worth of broken builds :-/
>
> Is there a way we can generate a list of builds affected?
> Is it everything? Or things that only have a specific type of requires?

Every package which contains one or more script files starting with 
#!/some/interpreter is affected (%pre etc scriptlets are not affected 
though). And all the missing dependencies are file-dependencies, eg 
/usr/bin/python, /bin/sh etc.

This can't be detected from repodata, but the actual rpm headers carry 
enough data to fairly reliably spot these: executable files (from 
%{FILEMODES}) whose %{FILECLASS} contains "script" but does not have 
%{FILEREQUIRE} (to its interpreter) means the package is missing 
dependencies.

The above works for packages built with the internal dependency 
generator, for the others:

a) packages using the Fedora specific dependency filtering macros (large 
percentage of perl-packages at least)
b) packages directly setting %_use_internal_dependency_generator to 0

...it can't be detected from the metadata alone and would require 
unpacking the rpm and examining executable files. I'll be mostly AFK 
through the rest of the weekend but I can try scripting it up for the 
part that can be automated on Monday.

In the meanwhile if you know your package contains executable scripts 
and was built within the last month (for rawhide), it will need a rebuild.

	- Panu -
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux