On 03.01.2014 00:02, Mikael Hermansson wrote:
But It seems to me Required field in yaml file should not be used is
that the case? Please clarify this?
No it can and should be used, but only with requirements that are
allowed. I can't comment on whether the list of allowed dependencies is
the correct at the moment. The list will be updated if something that
should be allowed is missing.
Please also note that even if you don't declare Requires in your spec
file, rpm will automatically add Requires to your package's metadata
when it notices that your binary for example links to a library it is
using. This feature is on by default and should in most cases not be
turned off (by declaring AutoReqProv: no).
and what about line:
sailfishsilica-qt5 >= 0.10.9 (not sure if I added this or if autoadded?)
now should this still be left in the reuquires? Because I remember
first time I installed it on my phone(s) both n9(with sail) and my
Jolla cried about missing "libsailfishapp.so"?
That package does not provide libsailfishapp.so. It comes from the
package "libsailfishapp".
The default template application yaml file declares:
PkgConfigBR:
- sailfishapp >= 0.0.10
Which is converted to the spec file as:
BuildRequires: pkgconfig(sailfishapp) >= 0.0.10
(Notice that the name there is "sailfishapp", which is the pkg-config
name for the rpm package "libsailfishapp-devel", which in turn depends
on the package "libsailfishapp").
If you have those lines in your yaml/spec and your application really
does use libsailfishapp.so, rpm will notice it and will add it as an
automatic requires dependency unless you have specified "AutoReqProv:
no" in your spec file.
Now, if you choose to deploy your package as RPM to the device, then it
will also install all other missing packages that are required by your
package.
If you choose to "deploy package as binaries" in Qt Creator, then the
RPM packaging is not built and any dependencies your package might have
are also not handled. Either this deploy method or "AutoReqProv: no"
might be the reason you got the "missing libsailfishapp.so" error
originally.
As a hint, you should always deploy your package as RPM once and always
if you add more Requires to it, so that its requirements are pulled into
the target device. After that you can use "deploy as binaries", which is
a bit faster since it skips the RPM package creation step.
Best regards,
Juha
_______________________________________________
SailfishOS.org Devel mailing list