Add the ABI_VERSION source makefile variable to the binary package basename and resolve source dependencies on packages with ABI_VERSION set to such expanded names. If for example a package specifies DEPENDS:=libopenssl while the OpenSSL Makefile specifies ABI_VERSION:=1.0.0, the resulting ipk control data dependency will be "Depends: libopenssl1.0.0" and the libopenssl ipk file will be called "libopenssl1.0.0_<version>_<arch>.ipk". The next time a library such as OpenSSL is updated to an incompatible version, the ABI_VERSION shall be changed accordingly to prevent opkg from simply upgrading to an incompatible library without considering the dependencies of already installed packages. Also introduce another "SourceName" control field which is required by the newly introduced "scritps/ipkg-remove" to determine the proper related .ipk files to delete upon buildroot package clean operations. Signed-off-by: Jo-Philipp Wich <jo@mein.io>master
parent
e3d5b384aa
commit
e6bcf1e4ac
@ -0,0 +1,15 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
sourcename="$1"; shift |
||||
|
||||
for pkg in "$@"; do |
||||
tar -Ozxf "$pkg" ./control.tar.gz 2>/dev/null | tar -Ozxf - ./control 2>/dev/null | \ |
||||
while read field value; do |
||||
if [ "$field" = "SourceName:" ] && [ "$value" = "$sourcename" ]; then |
||||
rm -vf "$pkg" |
||||
break |
||||
fi |
||||
done |
||||
done |
||||
|
||||
exit 0 |
Loading…
Reference in new issue