- Previous client versions (e.g. 0.3.1) works. So it appears a change in spec/client
There are the differences between the Artifactory index file and the original spec from Yocto
Artifactory:
Package: acl Version: 2.2.52-r0.1 Description: Utilities for managing POSIX Access Control Lists Utilities for managing POSIX Access Control Lists. Section: libs Priority: optional Maintainer: David Gneiting <david_gneiting@selinc.com> License: GPLv2+ Architecture: core2-64 OE: acl Homepage: http://savannah.nongnu.org/projects/acl/ Depends: libacl1 (>= 2.2.52), libc6 (>= 2.29) Source: acl_2.2.52.bb Filename: acl_2.2.52-r0.1_core2-64.ipk SHA1: ded0a4e4ad535c80dcf6bf47530deacbc65196f4 SHA256: fc5ced3d4230b5176f1d4451394076a03737d247d06f64f7ecbc84a2d223234c
and this is from the Yocto index
Package: acl Version: 2.2.52-r0.1 Depends: libacl1 (>= 2.2.52), libc6 (>= 2.29) Section: libs Architecture: core2-64 Maintainer: David Gneiting <david_gneiting@selinc.com> SHA256sum: fc5ced3d4230b5176f1d4451394076a03737d247d06f64f7ecbc84a2d223234c Size: 21972 Filename: acl_2.2.52-r0.1_core2-64.ipk Source: acl_2.2.52.bb Description: Utilities for managing POSIX Access Control Lists OE: acl HomePage: http://savannah.nongnu.org/projects/acl/ License: GPLv2+ Priority: optional
Note the SHA256 vs SHA256sum (there are other fields as well but SHA256 seems the most important one)
After mailing the Yocto project they have provided with these links to the OPKG index generator, where we can see the metadata specification and precise fields' names
You can see the structure of the metadata you mention, including
spelling, capitalization, etc, here:
http://git.yoctoproject.org/cgit/cgit.cgi/opkg/tree/libopkg/pkg.c#n552
You can also see it here (perhaps more concisely):
http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/tree/opkg.py#n491
Steps to reproduce on OPKG client version 0.4.1:
- Perquisite: need to build the client from source since it's not available as a pre-compiled/built binary.
1. Create the feed under /etc/opkg/opkg.conf for an Opkg repository in Artifactory (can use SetMeUp button to get the conf)
2. Upload the package with the command:
curl -H 'X-JFrog-Art-Api:***' -XPUT "http://<Artifactory_URL>:8081/artifactory/opkg-local/x64/my-thing-1.ipk" -T my-thing-1.ipk
- Attached the example ipk that can be installed on any OS since the architecture is set to all.
3. Fetch the metadata from the repository with the command:
opkg --verbosity=3 -f /etc/opkg/opkg.conf update
4. Finally, try to install the package with the following command:
opkg --verbosity=3 -f /etc/opkg/opkg.conf install my-thing-1
5. The following message will be display:
Collected errors: * pkg_verify: Checksum is either missing or unsupported on opkg. To bypass verification use --force-checksum. Aborting * opkg_install_pkg: Failed to download my-thing-1. Perhaps you need to run 'opkg update'? * opkg_solver_install: Cannot install package my-thing-1.
Workaround:
When adding the flag --force-checksum to the install command will complete successfully.