Where can I find changelogs for updated packages?

I've read on many posts the recommendation to NOT upgrade packages except if absolutly necesary.
Thing is today I noticed there are updated wpad and hostapd packages for 19.07.0.
Since those two packages deal with wifi connectivity sometimes they get updates to fix security and/or performance issues so I guess they fall in the category of packages that may be worth upgrading. There are also a bunch of "luci" packages that go to my list of "not worth upgrading".

Where can I find details of what was changed on those new package releases so I can make an informed decision about upgrading or not?

Thanks.

1 Like

Source code commits in the respective repo trees/branches

2 Likes

Looking just at the change in OpenWrt might not be enough, as pretty often you need to go to the actual upstream repo where the upstream package itself gets developed, to find out details of the new releases.

E.g. nano editor was updated from 4.6 to 4.7 in December, so the OpenWrt log only shows the local change, but the upstream log shows the relevant changes what 4.7 actually changed:

2 Likes

Right, but what tells the build bots to go build and upload a new package version? Or they always build the latest code on a each branch and that's it?

For example, I'm running the 19.07.0 release and found these two:

# opkg list-upgradable | grep -v luci
wpad-basic - 2019-08-08-ca8c2bd2-1 - 2019-08-08-ca8c2bd2-2
hostapd-common - 2019-08-08-ca8c2bd2-1 - 2019-08-08-ca8c2bd2-2

I did some searching and found they both come from here: https://github.com/openwrt/openwrt/commits/openwrt-19.07/package/network/services/hostapd

And there was a commit 2 days ago that updated PKG_RELEASE from 1 to 2 in the Makefile, so I guess that's why a new package was built.

Can I assume then that updates to the Makefile is what triggers a new package to be built and uploaded to the repos?

If that's correct, then I can use Makefile commit history to find out the commit that created the previous package and compare that to the current version.
Then go through those commits and figure out what changed.

Does that sound right?

Maybe the buildbots could save a reference to the commit that triggered the package build somewhere so we don't have to do all that digging. Maybe they already do and I didn't find it.

Is there a buildbot log for each package that gets build?

Thanks.

EDIT: doing some more research I saw that the hash in the package name is the first part of the PKG_SOURCE_VERSION value in the Makefile.
So the package versions would be:
PKG_SOURCE_DATE + a piece of the PKG_SOURCE_VERSION + PKG_RELEASE

If that's true then did this commit:


made changes without changing the package version ???

EDIT: This one too apaprently: https://github.com/openwrt/openwrt/commit/a6e7f68c7f7539d20d884acc06c07b53e9683d93#diff-a56a9a134db96697b65fa00e73f9e6ae

That is it. Buildbot always builds the newest version of the OpenWrt source repositories.

(The only exception is the firmware images of actual releases, where the buildbot builds the specific commit even if there is already new commits.)

See phase1 images and phae2 packages here for master

https://buildbot.openwrt.org/master/packages/grid

Separate similar buildbot for 19.07 that uses the 19.07 branch as the source.

So those commits that didn't change the package version variables in the Makefile effectivelly created updated packages without changing the package version?

If you want to know these details, you do have to look into the details and check the commitdiff for the actual changes, those will tell you everything in gory details.

I've been looking at the commits and that's where I found at least one commit that made changes to a package (hostapd in this case) without touching the Makefile variables that make up the package version.
If I got this right then that commit created a new package with the exact same version as the previous one but with different content. Even the commit message seems to confirm that:

old:
427722 wpad-wolfssl_2019-08-08-ca8c2bd2-1_mipsel_24kc.ipk
431696 wpad-openssl_2019-08-08-ca8c2bd2-1_mipsel_24kc.ipk

new:
442109 wpad-wolfssl_2019-08-08-ca8c2bd2-1_mipsel_24kc.ipk
445997 wpad-openssl_2019-08-08-ca8c2bd2-1_mipsel_24kc.ipk

and having two packages with the same name and version but different content looks extremely weird to me.
So I wanted to confirm if that was the case or if I was missing something about package versioning system.
How does opkg differentiate between those packages?

To clarify what I'm looking at:

The commits marked in green did update the Makefile variables that define the package version. The ones in orange did not.
Does that mean there are 6 packages with version "2019-08-08-ca8c2bd2-1" but different content out there?

To answer your question. Yes, the PKG_RELEASE should be incremented so that systems can differentiate that this package is newer.
But it looks like the committer forgot this important change.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.