Salut,

We were playing with rpm package management lately.

To configure the yum repos in the image, we're setting the following variables 
in conf/local.conf:
FEED_PACKAGE_URIS 
FEED_PACKAGE_BASE_PATHS

We made a typo, and forgot the S at the end of FEED_PACKAGE_BASE_PATHS
Not surprising, the repo file generated didn't have the right url:

$ cat oe-remote-repo-user1.repo 
[oe-remote-repo-user1]
name=OE Remote Repo: user1
baseurl=http://192.168.7.1/user1
gpgcheck=0


After fixing the typo and bitbaking the image again, still no avail.
The repo file remains unchanged. 

In fact, changing FEED_PACKAGE_BASE_PATHS did not re-trigger a new image build. 
We found this behavior surprising. 

AFAICS: 
1) As per oe/lib/meta/lib/oe/rootfs.py and lib/oe/package_manager.py, the URL 
is defined as the join paths of FEED_PACKAGE_URIS and FEED_PACKAGE_BASE_PATHS. 
2) However, in meta/classes/rootfs_rpm.bbclass, do_rootfs only specifies a 
build dependency to FEED_PACKAGE_URIS:
do_rootfs[vardeps] += "PACKAGE_FEED_URIS"

Shouldn't the rootfs task depend on both PACKAGE_FEEDS_URIS and 
PACKAGE_FEED_BASE_PATHS, ie.
do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS"

After fixing this dependency, the repo file got updated as expected:
cat oe-remote-repo-user1-rpm.repo 
[oe-remote-repo-user1-rpm]
name=OE Remote Repo: user1 rpm
baseurl=http://192.168.7.1/user1/rpm
gpgcheck=0

Does that make sense?

I have conducted this analysis on Zeus. The problem isn't fixed with Dunfell 
AFAICS. Also, the other package classes (deb,ipk) are impacted as well.

Hope this helps!
Loic
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#51347): https://lists.yoctoproject.org/g/yocto/message/51347
Mute This Topic: https://lists.yoctoproject.org/mt/78165220/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to