Opened 6 years ago

Last modified 4 years ago

#11266 accepted defect


Reported by: bas@… Owned by: mirko
Priority: normal Milestone: Barrier Breaker 14.07
Component: packages Version: Trunk
Keywords: Cc:


CONFIG_ALL makes it so that all packages are built; but only those packages _not_ depending on BUILD_PATENTED are actually installed (i.e. actual ipk created) - of course, if we have BUILD_PATENTED disabled.

This is pretty strange.. i would say that BUILD_PATENTED must be stronger than CONFIG_ALL and (especially) PKG_BUILD_DEPENDS.

We've found a particular problem:

For example, the package pianobar provides several packages, like 'pianobar' and 'libpiano'; and only 'pianobar' depends on libfaad2 (which is patented), but 'libpiano' doesn't depend on anything patented, so it gets build due to CONFIG_ALL. Building of 'libpiano' leads to building of packages in PKG_BUILD_DEPENDS, which has libfaad2 there.

In principal, this particular package is just poorly packaged, but there might be more packages like that.

It could also mean that some other ipk's might require patented libraries as well, because they were present at build time, but (luckily) ipk's for these libraries are not built anyway.

So at worst we get packages complaining to missing patented libraries.

This can be fixed by utterly examining all packages depending on patented stuff (like in case of piano the line in PKG_BUILD_DEPENDS should read something like +BUILD_PATENTED:libfaad2.

But i really have no idea what is the impact and how many packages might cause pulling of patented stuff.

So probably the best way is to make it so that CONFIG_BUILD_PATENTED is ultimately stronger that CONFIG_ALL and PKG_BUILD_DEPENDS and disabling CONFIG_BUILD_PATENTED must lead to disabling of all patented packages without even allowing them to build on host (since this is how it works now - the patented package is built in host if it is listed in PKG_BUILD_DEPENDS, but it not packaged into ipk).

Attachments (0)

Change History (3)

comment:1 Changed 6 years ago by jow

  • Owner changed from developers to mirko
  • Status changed from new to assigned

comment:2 Changed 6 years ago by mirko

  • Status changed from assigned to accepted

Thanks for the report.

I have to admit, I don't see the actual reason, why patented dependencies are listed in PKG_BUILD_DEPENDS instead of DEPENDS. Those dependencies are needed by pianobar, but not libpiano.
Looking at the Makefile 'pianobar' contains:

DEPENDS+= +libao +libfaad2 +libmad +libpiano +libpthread

makes me wondering by PKG_BUILD_DEPENDS is needed at all?

PKG_BUILD_DEPENDS is not package (=ipk-packages) but project/source related. So projects listed in PKG_BUILD_DEPENDS are getting built when _any_ package in this project is selected.

comment:3 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

as accepted .

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.