Update OpenWRT feeds code
-
Hello,
Does anybody know how/where the OpenWRT build system in onion gets the program source and packages from?
For example lets say I wanted to use ffmpeg, but the one that is in the OpenWRT build is an old version of the ffmpeg source and i want to force it to download the source for the newest ffmpeg and use that in the package when its building.
Does anybody know how to do that?
Thanks
-
@nsmith This is controlled by the make file which is in <source>/feeds/packages/multimedia//ffmpeg, Take a look at the developer guide for more detail:
https://openwrt.org/docs/guide-developer/package-policies#source_packages
-
Actually the package im using is called gphoto2, the one inside Onion docker is from back in 2017, so its missing 5 years of updates.
I would like to know how to update it. Im not an OpenWRT expert, I was hoping there was an easy way like a command I can type or something like that.
Or how can I get the Onion developers to update it, or they can just tell me how.
Thanks
-
@nsmith I took a look at the make file for OpenWrt 18.x gphoto2, it has version 2.5.17, I took a look at the version supported by the Onion build system, it is also version 2.5.17. I took a look at the version of gphoto2 supported by OpenWrt 21, the version is 2.5.26-3.
So no real huge advance in versions of gphoto2, is there something specific you are struggling with? Perhaps a piece of hardware that is not functioning, with more specific details members may be able to find a solution for you, rather than having to sort out a version upgrade.
-
Gphoto2 uses libgphoto2 so both packages are needed actually. Each new version fixes a lot of bugs. libgphoto2 is up to version 2.5.30 right now, and gphoto2 is at 2.5.28.
Version 2.5.17 was released 5 years ago, so a lot of bugs have been fixed during that time.
I tried changing the make files in the onion OpenWRT gphoto2 feed to use the latest versions of gphoto and libgphoto, but when i tried building the onion OpenWRT in the onion docker with the new Makefile pointing to the newest version I get the following errors (seems the patch files need to be modified also which i dont know how to do), any ideas?
~/source# make -j8
........
touch /root/source/build_dir/target-mipsel_24kc_musl/libgphoto2-2.5.30/.prepared_b116b1072df06e9be7d5fc37461ba5f7_6664517399ebbbc92a37c5bb081b5c53_check
. /root/source/include/shell.sh; bzcat /root/source/dl/libgphoto2-2.5.30.tar.bz2 | tar -C /root/source/build_dir/target-mipsel_24kc_musl/libgphoto2-2.5.30/.. -xf -
[ ! -d ./src/ ] || cp -fpR ./src/. /root/source/build_dir/target-mipsel_24kc_musl/libgphoto2-2.5.30Applying ./patches/001-automake-compat.patch using plaintext:
patching file configure.ac
Hunk #1 FAILED at 209.
1 out of 1 hunk FAILED -- saving rejects to file configure.ac.rej
patching file libgphoto2_port/configure.ac
Hunk #1 FAILED at 124.
1 out of 1 hunk FAILED -- saving rejects to file libgphoto2_port/configure.ac.rej
Patch failed! Please fix ./patches/001-automake-compat.patch!
Makefile:819: recipe for target '/root/source/build_dir/target-mipsel_24kc_musl/libgphoto2-2.5.30/.prepared_b116b1072df06e9be7d5fc37461ba5f7_6664517399ebbbc92a37c5bb081b5c53' failed
make[3]: *** [/root/source/build_dir/target-mipsel_24kc_musl/libgphoto2-2.5.30/.prepared_b116b1072df06e9be7d5fc37461ba5f7_6664517399ebbbc92a37c5bb081b5c53] Error 1
make[3]: Leaving directory '/root/source/feeds/packages/libs/libgphoto2'
Command exited with non-zero status 2
time: package/feeds/packages/libgphoto2/compile#1.19#0.32#1.32
package/Makefile:107: recipe for target 'package/feeds/packages/libgphoto2/compile' failed
make[2]: *** [package/feeds/packages/libgphoto2/compile] Error 2
make[2]: Leaving directory '/root/source'
package/Makefile:103: recipe for target '/root/source/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile' failed
make[1]: *** [/root/source/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/root/source'
/root/source/include/toplevel.mk:216: recipe for target 'world' failed
make: *** [world] Error 2
root@407ba1279d99:~/source#
-
@nsmith modify the makefile like this, to install version 2.5.23, I don't see the hash for .26 which appears to be the most current version:
PKG_NAME:=gphoto2 #PKG_VERSION:=2.5.17 PKG_VERSION:=2.5.23 PKG_RELEASE:=1 PKG_MAINTAINER:=Leonardo Medici <leonardo_medici@me.com> PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@SF/gphoto #PKG_HASH:=aa571039240c68a053be710ca41645aed0239fa2f0b737b8ec767fef29e3544f PKG_HASH:=df87092100e7766c9d0a4323217c91908a9c891c0d3670ebf40b76903be458d1 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING
-
@nsmith The makefiles for .26 version supported by the current version of OpenWrt are here:
https://github.com/openwrt/packages/tree/openwrt-21.02/libs/libgphoto2
https://github.com/openwrt/packages/tree/openwrt-21.02/multimedia/gphoto2They build ok on the OpenWrt build system you are using.
-
@crispyoz I just wanted to use the latest version becuase each release has a lot of bug fixes and upgrades
the latest version are as follows:gphoto2 VERSION 2.5.28
libgphoto2 VERSION 2.5.30I tried putting those versions in the makefile and the matching hashes, but when i compile it gives an error because it seems the patch files that are in there that its trying to apply are from the old version. So i dont know how to fix that is the problem im running into.
-
@nsmith The patch files are available in the links I provided, just replace them in your system. The patch files are in the same directory as the make file, under a patches directory:
<source>/feeds/packages/multimedia/gphoto2/patches
The patch files refer to the version so it's surprising the build is trying to apply them to the wrong version.