aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/opkg
Commit message (Collapse)AuthorAgeFilesLines
* config: introduce separate CONFIG_SIGNATURE_CHECK optionJo-Philipp Wich2019-08-071-2/+2
| | | | | | | | | | | | | | | | | | | | Introduce a new option CONFIG_SIGNATURE_CHECK which defaults to the value of CONFIG_SIGNED_PACKAGES and thus is enabled by default. This option is needed to support building target opkg with enabled signature verification while having the signed package lists disabled. Our buildbots currently disable package signing globally in the buildroot and SDK to avoid the need to ship private signing keys to the build workers and to prevent the triggering of random key generation on the worker nodes since package signing happens off-line on the master nodes. As unintended side-effect, updated opkg packages will get built with disabled signature verification, hence the need for a new override option. Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit f565f276e2c06ac8f3176e0b16d6f2d40cd653d4)
* opkg: bump to version 2019-06-14Yousong Zhou2019-07-121-3/+3
| | | | | | | | | | | | | | | Changelog dcbc142 alternatives: remove duplicate 'const' specifier 21b7bd7 alternatives: special-case busybox as alternatives provider d4ba162 libopkg: only perform size check when information is available cb66403 libopkg: check for file size mismatches Opkg starting from this version special-cases busybox as alternatives provider. There should be no need to add entries to ALTERNATIVES of busybox package Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* opkg: update to latest Git headJo-Philipp Wich2019-01-221-4/+4
| | | | | | | | | | | | | | This update fixes some cosmetical issues and a number of segmentation faults when parsing lists having Conflicts or Replaces tags. d217daf libopkg: fix replacelist parsing and writing 9dd9a07 libopkg: fix segmentation fault when traversing conflicts 34571ba libopkg: consider provided packages in pkg_vec_mark_if_matches() 18740e6 opkg_download: print error when fork() fails e3d7330 libopkg: don't print unresolved dependencies twice Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit 1bd18f2b5cbf1c9c384e9725eff7804decf88c90)
* opkg: drop argument from check_signature in opkg.confJonas Gorski2019-01-221-2/+2
| | | | | | | | | | | check_signature is a bool option and doesn't take any arguments. The presence of the 1 falsely suggests setting it to 0 disables the check, while the option actually needs to be removed or commented out to be disabled. So remove the argument to make it more clear. Fixes: beca028bd6bb ("build: add integration for managing opkg package feed keys") Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> (cherry picked from commit d3bf5ff9bc7b55b2a3dab93853b33a0cd2c4ca47)
* opkg: switch source url to git.openwrt.orgJo-Philipp Wich2018-01-041-2/+2
| | | | | | | As LEDE is rebranding to OpenWrt now, adjust the Git source references accordingly. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: fix PKG_CONFIG_DEPENDS to include version.mk entriesRafał Miłecki2017-12-141-1/+2
| | | | | | | | Including version.mk sets PKG_CONFIG_DEPENDS to config entries used for VERSION_SED command. We should keep these configs to make sure package gets refreshed when needed. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* package: move distfeeds.conf from opkg to base-filesJonas Gorski2017-12-131-12/+2
| | | | | | | | | | | All the relevant options used for distfeeds.conf are part of base-files, so it makes more sense to move the file there as well. This has the added benefit that the we can share the opkg package again, reducing the amount of target specific packages. Acked-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* opkg: bump to version 2017-12-07Rafał Miłecki2017-12-071-3/+3
| | | | | | | | | | | | | Changes: 3b417b9 opkg_download: decode file:/ URLs 71c27cb file_util: implement urldecode_path() d1fe095 file_util: consolidate hex/unhex routines ebdfc12 add opkg option http_timeout 9f003e3 opkg: encode archive filenames while constructing download URLs 73e6c81 file_util: implement urlencode_path() helper 468158f libopkg: fix SHA256 calculation for big endian system Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* opkg: bump to version 2017-07-28Jo-Philipp Wich2017-07-281-3/+3
| | | | | | | | | | Commits since last 2017-07-11: 4bd8601 pkg_parse: fix segfault when parsing descriptions with leading newlines Fixes FS#933. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: bump to version 2017-07-11Yousong Zhou2017-07-121-3/+3
| | | | | | | | | Commits since last 2017-05-03 52fc006 pkg_alternatives: pass if the desired symlink already exists c668fce opkg: add --no-check-certificate argument Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* opkg: alternatives: use ERROR level for symlink failureYousong Zhou2017-05-031-3/+3
| | | | | | | | Changes since last version 04e279e pkg_alternatives: use ERROR level for symlink failure Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* opkg: alternatives supportYousong Zhou2017-05-021-4/+4
| | | | | | | | | | Changes since last version 546bc72 pkg: alternatives support 7a96972 libbb: xreadlink: fix memory leak on failure case 3f13edd pkg_run_script: use pkg->dest in half installed case Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* opkg: backport upstream fixes, code cleanupsJo-Philipp Wich2017-04-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update to latest Git in order to import the following fixes: 1d0263b check_data_file_clashes_change: remove duplicated offline root in paths a00a6a9 buildReplaces: do not add duplicated replacees 9fbedd8 opkg: compare-versions doesn't need any state 45b54f6 opkg_cmd: fix segmentation fault in opkg_compare_versions_cmd() 93de62b opkg_cmd: fix return of opkg compare-versions 51275a8 pkg_src_list_push: remove unused function 947d3d4 pkg_src_list_pop: remove unused function 980cfb2 str_list_push: remove unused function 52c31c1 str_list_prev: remove unused function 7d24212 str_list_last: remove unused function 48142a3 conffile_list_pop: remove unused function 46c5de5 pkg_dest_list_push: remove unused functions 368bb62 nv_pair_list_prev: remove unused function 2985c00 nv_pair_list_last: remove unused function f5082ac conffile_list_pop: remove unused function 89bf8b9 conffile_list_push: remove unused function 23d31fb active_list_sort: remove unused function 7fe45f2 active_list_add_depend: remove unused function 86b584d pkg_dependence_satisfied: remove unused function 816d330 Fix typo in pkg_hash_fetch_best_installation_candidate. 07f3b02 set_flags_from_control: remove function Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: move PKG_CONFIG_DEPENDS from feeds.mk to opkgFelix Fietkau2017-04-031-1/+8
| | | | | | | Normal packages don't rely on the feed configuration variables for the build step Signed-off-by: Felix Fietkau <nbd@nbd.name>
* opkg: gracefully handle missing $PATH, fix build warningsJo-Philipp Wich2017-03-151-4/+5
| | | | | | | | | | | | | | | | | | | | | | | Update to latest Git in order to import the following fixes: cfe46c7 opkg_active_list_test: mark functions static, swap strcmp() with memcmp() 0b60d6a libopkg_test: mark functions static, remove unused opkg_test() 28b5e15 pkg_parse: fix bad message level for opkg_msg() call d9e5814 pkg_parse: remove unused variable in pkg_parse_line() 1654bcc pkg_parse: remove const requirement from pkg_parse_line() 53e199e pkg_hash: remove unused variable in pkg_hash_load_feeds() da8d599 pkg_depends: add missing parse_replacelist() prototype f0c0a80 opkg_utils: add missing header e450488 libopkg: remove unused progress parameters from opkg_download() f4a55d1 libopkg: remove unused progress callback 7cbc466 libopkg: remove unused variable from opkg_install_package() 6fbf8a9 libbb: remove unused variables 7975c73 libbb: change gzip_read() buffer argument to void * 6e28563 libbb: fix gzip_thread() warnings 1ff2475 libopkg/opkg_cmd.c: more robust PATH handling 5dc3e33 libopkg: specify "/bin/sh" instead of "sh" Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: fix several package installation bugsJo-Philipp Wich2017-03-061-3/+3
| | | | | | | | | | | | | | | Update to latest Git in order to import the following fixes: 19070b6 unarchive: fix possible segmentation fault in deb_extract() 758527e pkg: forward "provided_by_hand" flag in pkg_merge() 1fdc2ca pkg: mark bit fields in pkg_t unsigned 15fc1ee opkg_cmd: avoid null pointer dereference in opkg_what_depends_conflicts_cmd() 439c89e opkg_cmd: fix endless loop in whatprovides/whatreplaces 0fb3e9f pkg_depends: propagate virtual provided detail flag to providers 793155f pkg_depends: fix unsatisfied dependency installation order b1dc770 libopkg: fix some overly aggressive line wrapping in pkg_depends.c Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: mark as essential (FS#571)Jo-Philipp Wich2017-03-011-0/+1
| | | | | | Flag the opkg package as essential to avoid accidential uninstalls of it. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: fix stray printf() (#551)Jo-Philipp Wich2017-02-231-3/+3
| | | | | | | Update to latest Git head to get rid of a stray printf() causing unwanted output in the "opkg list-upgradable" command. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: fix handling conffiles in status listsJo-Philipp Wich2017-02-221-3/+3
| | | | | | | A missing list pointer initialization caused opkg to ignore conffile entries from status files, breaking the conffile tracking on the target. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: re-enable usign supportJo-Philipp Wich2017-02-201-2/+2
| | | | | | | | | The switch to cmake caused the -DHAVE_USIGN flag to get lost, disabling compilation of the correspondinf support code. Update to latest Git head which enables usign support by default. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: switch to own fork to improve memory usageJo-Philipp Wich2017-02-1930-3495/+24
| | | | | | | | | | Switch to our own fork of opkg to significantly reduce the required amount of memory when updating lists or installing packages. Preliminary tests showed a usage drop of about 90% during these operations, from ~3.7MB with unmodified opkg to ~360KB with our custom fork. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: clarify messages and errors related to downloadsHannu Nyman2017-01-262-1/+62
| | | | | | | | | | | | | Clarify opkg's messages related to downloads: * more visible error message for package list download failure * separate error message for signature file download error * if wget returns 4, signal the network error more clearly * remove '.' from end of filenames and URLs * try signature check only if the package list was downloaded ok. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* opkg: use default PKG_BUILD_DIRMatthias Schiffer2017-01-161-1/+0
| | | | | | | opkg doesn't have BUILD_VARIANTs anymore, so the previously defined PKG_BUILD_DIR would lead to a weird 'opkg-' path component. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* opkg: drop S/MIME supportFelix Fietkau2017-01-101-59/+8
| | | | | | | | | | It has never been used by default (due to being too bloated), and it is properly replaced by usign (which has been the default for a long time now). Remove this feature to simplify the build system Signed-off-by: Felix Fietkau <nbd@nbd.name>
* opkg: vfork external gzip command to uncompress dataJo-Philipp Wich2016-12-274-23/+746
| | | | | | | | | | | | | | | | | | Opkg's builtin decompression code is unsuitable to process nested archives as it uses a single shared state and relies on undefined seek behaviour for pipes. Rework the extraction logic to use the external gzip command as I/O filter for decompressing data and remove the builtin inflate code entirely. This shrinks the final opkg binary by about 4KB and results in less runtime memory consumption due to efficient use of vfork() and less copy-on-write operations in the forked child. Rework by Felix: create a thread that relays data to the gzip process instead of using a fragile poll loop Signed-off-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* Revert "opkg: vfork external gzip command to uncompress data"Stijn Tintel2016-12-274-746/+23
| | | | | | This reverts commit 0090adcd5c94adad2168cd9b338f45827533c81d. It breaks reading package list in /tmp/opkg-lists, making it impossible to install packages from feeds in snapshots.
* opkg: add missing dependency on libpthreadFelix Fietkau2016-12-261-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* opkg: vfork external gzip command to uncompress dataJo-Philipp Wich2016-12-264-23/+746
| | | | | | | | | | | | | | | | | | Opkg's builtin decompression code is unsuitable to process nested archives as it uses a single shared state and relies on undefined seek behaviour for pipes. Rework the extraction logic to use the external gzip command as I/O filter for decompressing data and remove the builtin inflate code entirely. This shrinks the final opkg binary by about 4KB and results in less runtime memory consumption due to efficient use of vfork() and less copy-on-write operations in the forked child. Rework by Felix: create a thread that relays data to the gzip process instead of using a fragile poll loop Signed-off-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: clean up and unify PKG_VERSION for git based downloadsFelix Fietkau2016-12-221-7/+4
| | | | | | Also use default defintions for PKG_SOURCE_SUBDIR, PKG_SOURCE Signed-off-by: Felix Fietkau <nbd@nbd.name>
* Revert mirror hash fixesFelix Fietkau2016-12-201-1/+1
| | | | | | | | | | They are based on obsolete download tarballs Revert "usign: fix mirror hash" (4f874423fd711e58aa43110918c923016615f22b) Revert "ubox: fix mirror hash" (9ee74b575305e8111fd3b1009ae183cf15e6d926) Revert "opkg: fix mirror hash" (bf6f4bfad12ded13ed9afcb886751cec24426257) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* opkg: fix mirror hashJohn Crispin2016-12-201-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* treewide: clean up download hashesFelix Fietkau2016-12-161-1/+1
| | | | | | Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* opkg: run prerm scripts for the old version also on upgradeJonas Gorski2016-11-212-1/+74
| | | | | | | | | To make sure we properly restart services on upgrade we need to call the prerm script of the old package, in case the init script changes (or vanishes). Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> Acked-by: Jo-Philipp Wich <jo@mein.io>
* opkg: set PKG_UPGRADE also when running scripts for the old packageJonas Gorski2016-11-215-15/+16
| | | | | | | | Allow scripts from the package to be upgraded to be aware of being upgraded. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> Acked-by: Jo-Philipp Wich <jo@mein.io>
* source: Switch to xz for packages and tools where possibleDaniel Engberg2016-10-061-1/+2
| | | | | | | | | | | * Change git packages to xz * Update mirror checksums in packages where they are used * Change a few source tarballs to xz if available upstream * Remove unused lines in packages we're touching, requested by jow- and blogic * We're relying more on xz-utils so add official mirror as primary source, master site as secondary. * Add SHA256 checksums to multiple git tarball packages Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* Revert "opkg: use vfork on gz_open by default (FS#120)"Jo-Philipp Wich2016-08-281-20/+0
| | | | | | | | | | This reverts commit 763f5d787316ec1b041450a644ecd9416f11e94f. Currently the vfork() code path in opkg is broken and relies on unsupported ftello() / fseeko() operations on pipes - we need to restructure the code before we can reconsider this approach. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* Revert "opkg: disable the use of vfork for the host build"Jo-Philipp Wich2016-08-282-13/+8
| | | | | | | | | | This reverts commit 02e3c718e9ad0c14aa3cf359ba2a4763e81df805. Currently the vfork() code path in opkg is broken and relies on unsupported ftello() / fseeko() operations on pipes - we need to restructure the code before we can reconsider this approach. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: disable the use of vfork for the host buildFelix Fietkau2016-08-282-8/+13
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* opkg: use vfork on gz_open by default (FS#120)Felix Fietkau2016-08-281-0/+20
| | | | | | Reduces memory consumption and binary size Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: replace jow@openwrt.org with jo@mein.ioJo-Philipp Wich2016-06-071-1/+1
| | | | Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: fix use-after-free with duplicate packages on the command lineJo-Philipp Wich2016-04-232-1/+13
| | | | | | | | | When the same package file is specified multiple times on the opkg install command line, the name pointer on the argv array becomes stale after the package structures have been merged, leading to invalid memory accesses upon install. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* package: flag essential components as nonsharedJo-Philipp Wich2016-04-061-0/+1
| | | | Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* opkg: Fix handling of sha256sums for conffilesJohn Crispin2016-03-042-1/+15
| | | | | | | | | MD5s are shorter than SHA256, so reading buffer has to be bigger to read the whole hash. Signed-off-by: Michal Hrusecky <michal.hrusecky@nic.cz> SVN-Revision: 48917
* opkg: Make opkg understand old md5John Crispin2016-03-012-21/+69
| | | | | | | | | | Opkg now uses sha256 by default and expects them. Making it optionally understand md5s also and detect md5 sum so we can migrate from configuration that used md5. Signed-off-by: Michal Hrusecky <Michal.Hrusecky@nic.cz> SVN-Revision: 48867
* opkg: depend on uclient-fetch, disable busybox wgetFelix Fietkau2016-01-191-0/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48386
* opkg: remove obsolete gcc version checkFelix Fietkau2015-11-101-1/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47444
* opkg: Extend 'opkg list' command to optionally display package sizeJohn Crispin2015-09-162-1/+75
| | | | | | | | | | | | | | | | 'opkg list' command only displays the available packages' name, version and description. It would be useful to also see the approximate size of the available package. This patch extends "opkg list" command with "--size" to optionally show also the *.ipk size. * Default behaviour is to list the available packages as earlier: "name - version - description" * with "--size" the output of is "name - version - size - description". Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> SVN-Revision: 46980
* opkg: expose lists_dir option as command line argumentJo-Philipp Wich2015-09-142-3/+43
| | | | | | | | | | | | Expose the "lists_dir" configuration file option as command line switch so that we can override it for the Image Builder environment. Also add a more standard PKG_MAINTAINER variable while touching the Makefile. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 46911
* opkg: work around unconditional libopenssl build dependencyFelix Fietkau2015-09-111-1/+1
| | | | | | | | | | | As the OpenWrt build system only resolves build dependencies per directory, all opkg variants were causing libopenssl to be downloaded and built, not only opkg-smime. Fix this by applying the same workaround as in ustream-ssl. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 46850
* opkg: ensure image provided feeds are available after sysupgradeJonas Gorski2015-07-253-4/+21
| | | | | | | | | | | | | | | | | | | | | Split the opkg.conf into three files, to make it easier to support custom feeds and configs: * /etc/opkg.conf -> base opkg configuration * /etc/opkg/distfeeds.conf -> default Openwrt package feeds * /etc/opkg/customfeeds.conf -> custom package feeds Of these three, only the base opkg.conf and the customfeeds.conf is marked as to be kept, so that the distfeeds.conf from the image is always used. To ease migration, a script is added that moves any feeds from /etc/opkg.conf to /etc/opkg/customfeeds.conf on first boot. Also ensure that any keys used for verification are also kept in upgrade. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 46491