diff mbox

[OpenWrt-Devel] Fix missing dependencies for libuClibc++.so.0

Message ID 1422876285-17918-1-git-send-email-s.demeszko@wireless-instruments.com
State Superseded
Headers show

Commit Message

Sławomir Demeszko Feb. 2, 2015, 11:24 a.m. UTC
Compilation of packages written in C++, like smartmontools, unrar, etc.
fail with message:

Package smartmontools is missing dependencies for the following libraries:
libuClibc++.so.0

This is due unescaped "++" in argument for grep command.
---
 include/package-ipkg.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

John Szakmeister Feb. 2, 2015, 1 p.m. UTC | #1
On Mon, Feb 2, 2015 at 6:24 AM, Sławomir Demeszko
<s.demeszko@wireless-instruments.com> wrote:
> Compilation of packages written in C++, like smartmontools, unrar, etc.
> fail with message:
>
> Package smartmontools is missing dependencies for the following libraries:
> libuClibc++.so.0
>
> This is due unescaped "++" in argument for grep command.

This may have been fixed by:
   <http://git.openwrt.org/?p=openwrt.git;a=commit;h=ff9be1ce29f457e018bbb64c7427ddcadcb93d5e>

-John
Sławomir Demeszko Feb. 2, 2015, 1:47 p.m. UTC | #2
On 02.02.2015 at 14:00, John Szakmeister wrote:
> On Mon, Feb 2, 2015 at 6:24 AM, Sławomir Demeszko
> <s.demeszko@wireless-instruments.com> wrote:
>> Compilation of packages written in C++, like smartmontools, unrar, etc.
>> fail with message:
>>
>> Package smartmontools is missing dependencies for the following libraries:
>> libuClibc++.so.0
>>
>> This is due unescaped "++" in argument for grep command.
> This may have been fixed by:
>     <http://git.openwrt.org/?p=openwrt.git;a=commit;h=ff9be1ce29f457e018bbb64c7427ddcadcb93d5e>

Yes, that fix works too, I didn't notice it. As side note -qxF is a bit better, it does 
not count "\+" and few other characters preceded with backslash as special characters, but 
of course these combinations are rarely used in filenames.
Sławomir Demeszko Feb. 2, 2015, 2:07 p.m. UTC | #3
W dniu 02.02.2015 o 14:47, Sławomir Demeszko pisze:
> On 02.02.2015 at 14:00, John Szakmeister wrote:
>> On Mon, Feb 2, 2015 at 6:24 AM, Sławomir Demeszko
>> <s.demeszko@wireless-instruments.com> wrote:
>>> Compilation of packages written in C++, like smartmontools, unrar, etc.
>>> fail with message:
>>>
>>> Package smartmontools is missing dependencies for the following libraries:
>>> libuClibc++.so.0
>>>
>>> This is due unescaped "++" in argument for grep command.
>> This may have been fixed by:
>> <http://git.openwrt.org/?p=openwrt.git;a=commit;h=ff9be1ce29f457e018bbb64c7427ddcadcb93d5e>
>
> Yes, that fix works too, I didn't notice it. As side note -qxF is a bit better, it does 
> not count "\+" and few other characters preceded with backslash as special characters, 
> but of course these combinations are rarely used in filenames.
I just tested and found that also a dot in filenames can be a problem. For example if we 
would have "some.file.so" then it matches also "some2file.so" and it could not detect 
missing dependency. So -qxF is a more than bit better.
John Szakmeister Feb. 2, 2015, 2:16 p.m. UTC | #4
On Mon, Feb 2, 2015 at 9:07 AM, Sławomir Demeszko
<s.demeszko@wireless-instruments.com> wrote:
[snip]
> I just tested and found that also a dot in filenames can be a problem. For
> example if we would have "some.file.so" then it matches also "some2file.so"
> and it could not detect missing dependency. So -qxF is a more than bit
> better.

Perhaps you can update your patch then so that it applies cleanly to
master?  I cannot apply it, but you'll have a better chance of getting
it accepted if it applies cleanly. :-)

You'll also need to sign off on it.  The Submitted Patches details
what they look for:
   <https://dev.openwrt.org/wiki/SubmittingPatches>

Section 10 talks about the sign off.

-John
Sławomir Demeszko Feb. 2, 2015, 2:38 p.m. UTC | #5
I just updated working tree and created new patch "Fix possible fail to check for 
dependencies":
https://patchwork.ozlabs.org/patch/435525/ This one can be cancelled.
diff mbox

Patch

diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 815aef0..b7dc0ad 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -66,7 +66,7 @@  ifneq ($(PKG_NAME),toolchain)
 				XARGS="$(XARGS)"; \
 			$(SCRIPT_DIR)/gen-dependencies.sh "$$(IDIR_$(1))"; \
 		) | while read FILE; do \
-			grep -qE "^$$$$FILE$$$$" $(PKG_INFO_DIR)/$(1).provides || \
+			grep -qxF "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \
 				echo "$$$$FILE" >> $(PKG_INFO_DIR)/$(1).missing; \
 		done; \
 		if [ -f "$(PKG_INFO_DIR)/$(1).missing" ]; then \