aboutsummaryrefslogtreecommitdiffstats
path: root/include/package-ipkg.mk
Commit message (Collapse)AuthorAgeFilesLines
* build: warn when packages have no associated install sectionJonas Gorski2019-06-251-0/+2
| | | | | | | | | Declaring a package without the appropriate install section is an easy mistake to make, especially when renaming packages. Since this is also easy to detect, warn about it when it happens. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> No-objections-at-all-by: Jo-Philipp Wich <jo@mein.io>
* build: add support to && in DEPENDSEneas U de Queiroz2019-05-311-1/+2
| | | | | | | | | | | | Adds support to && operand in DEPENDS. Also, fixes generation of || dependencies by scripts/package-metadata.pl. The precedence order from higher to lower is && then ||. Use of parentheses to change the order is not supported. As before, they are silently ignored. Use them for readability only. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [DMARC removal]
* build: formatting fixes for per-provide ABI_VERSION suffixesJo-Philipp Wich2019-01-241-1/+1
| | | | | | | | | - Filter out potential duplicates with the package name (e.g. when renaming libfoo1 w/ ABI_VERSION:=1 to libfoo) - Use the GetABISuffix macro to properly separate the suffix with a dash in case the basename ends with a number Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: extend ABI_VERSION suffixing to providesJo-Philipp Wich2019-01-241-1/+1
| | | | | | | | | When a library package specifies additional provides, e.g. libncurses which provides libncursesw, we should also append the abi version suffix to each provide, since there may be more than one package providing the virtual library. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: Optionally provide file checksums in package metadataMichal Hrusecky2019-01-221-0/+9
| | | | | | | This may be useful if you don't entirely trust your flash and want to be able to check for corruptions. Signed-off-by: Michal Hrusecky <Michal@Hrusecky.net>
* build: add ABI_VERSION to binary package namesJo-Philipp Wich2019-01-191-6/+11
| | | | | | | | | | | | | | | | | | | | | | 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>
* build: fix compile error when a package includes itself in PROVIDESFelix Fietkau2018-07-201-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: allow defining license information per binary packageMichael Heimpold2017-11-251-2/+2
| | | | | | | | | | | At the moment, license information can only be specified on a "per source package" level while other metadata fields (e.g. maintainer) can be given for each binary package. Apply the same logic for license fields as well. This can be used e.g. in cases where a library is distributed under some license while related tools are distributed under a different one. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* build: ipkg: new field AlternativesYousong Zhou2017-05-021-0/+1
| | | | | | | | | | | It's a list of specs of the following form seprated by commas to describe alternatives provided by this package <prio>:<path>:<altpath> <path> will be a symbolic link to <altpath> of the highest <prio> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: clean up redundant touching of the package install info fileFelix Fietkau2017-02-261-8/+4
| | | | | | | Instead of using a separate .clean stamp file, remove the install info file on compile, then append the install package list afterwards Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix package build after deleting staging dirFelix Fietkau2017-02-091-2/+1
| | | | | | Ensure that the <package>.provides files are always created Signed-off-by: Felix Fietkau <nbd@nbd.name>
* package-ipkg: Do not fail build without base-filesFlorian Fainelli2017-01-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | If the base-files package is not selected, we will fail executing the very first postinst script: make[3]: Leaving directory `/local/users/fainelli/openwrt/trunk' cp -fpR /local/users/fainelli/openwrt/trunk/build_dir/target-arm_xscale_musl-1.1.15_eabi/root-orion /local/users/fainelli/openwrt/trunk/build_dir/target-arm_xscale_musl-1.1.15_eabi/root.orig-orion ./usr/lib/opkg/info/busybox.postinst: line 3: /local/users/fainelli/openwrt/trunk/build_dir/target-arm_xscale_musl-1.1.15_eabi/root-orion/lib/functions.sh: No such file or directory ./usr/lib/opkg/info/busybox.postinst: line 4: default_postinst: command not found postinst script ./usr/lib/opkg/info/busybox.postinst has failed with exit code 127 make[2]: *** [package/install] Error 1 Check for the existence of lib/functions.sh, and if it does not exist, just bail out gracefully. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* build: fix regression in handling ABI_VERSIONFelix Fietkau2017-01-211-1/+1
| | | | | | | The code was updated without changing $$@ into the proper target filename Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: disable CONFIG_AUTOREMOVE for packages/tools where QUILT is usedFelix Fietkau2017-01-191-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: stage unstripped packages inside PKG_BUILD_DIRFelix Fietkau2017-01-181-9/+13
| | | | | | | | | This makes the build slightly more efficient by avoiding the need to re-stage packages on every full build run. It is also necessary for the upcoming CONFIG_AUTOREMOVE feature Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: write ABI_VERSION file when staging the packageFelix Fietkau2017-01-181-7/+1
| | | | | | | The make target does not rewrite the file if the contents didn't change. This causes make to always consider the target old. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: introduce extra targets that contain only proper dependenciesFelix Fietkau2017-01-181-2/+2
| | | | | | This can be used to check if targets like prepare or compile are up to date Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: add support for overlaying rootfs contentRafał Miłecki2016-12-201-0/+9
| | | | | | | | | This adds support for install-overlay define. When used in package it allows installing files to a special directory that gets copied to the root when installing it. It allows overwriting files provided by other packages. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* build: remove stale .ipk files if package dir changesFelix Fietkau2016-11-081-2/+2
| | | | | | | | | If a package nonshared status is changed, a stale .ipk file might still be present in the old package directory. Remove the .ipk file from all package directories when building a new one (or explicitly running clean) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include: properly update .install stamp filesJo-Philipp Wich2016-11-021-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now the $(PKG_INSTALL_STAMP) files are only written if a package is selected as <*> but never deleted or emptied if the corresponding package is getting deselected. For ordinary packages this usually is no problem as the package/install recipe performs its own check for enabled packages when assembling the list of install stamp files to consider, but this logic might fail under certain circumstances for packages providing multiple build variants. In case of a multi-variant package, the buildroot first checks if any of the variants is enabled, then resolves all variants of the common source package and finally processes the corresponding .install stamp files of all variants, relying on the assumption that only the selected .install stamp file exists. When an initially selected variant is getting deselected or changed from <*> to <m> and another variant is marked as <*> instead, the .install stamp file of the deselected variant remains unchanged and a second .install stamp file for the newly selected variant is getting created, causing the package/install recipe to pick up two .install stamps with conflicting variants, leading to opkg file clashes. This issue happens for example if package "ip" is set to <m> and package "ip-full" to <*> - the install command will eventually fail with: * check_conflicts_for: The following packages conflict with ip: * check_conflicts_for: ip-full * * opkg_install_cmd: Cannot install package ip. In order to fix the problem, always process the removal requests or the .install stamp files, even for deselected packages but only write the package base name into the stamp file if the corresponding package is marked as builtin. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include/package-ipkg.mk: use TARGET_PATH_PKG in Package/*/install stepsMatthias Schiffer2016-10-061-0/+2
| | | | | | | Package/*/install was using a different PATH than all other steps like Build/Install, which was confusing and easily led to mistakes. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* package-ipkg: do not include feeds.mk at metadata dump time to speed up scanningFelix Fietkau2016-06-161-1/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* package-ipkg.mk: fix Provides for packages with multiple PROVIDES entriesMatthias Schiffer2016-06-161-1/+1
| | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include: remove unused FeedPackageDir macro argumentsJo-Philipp Wich2016-04-221-1/+1
| | | | Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include: choose package output directory based on repository infoJo-Philipp Wich2016-04-061-1/+1
| | | | | | | | | | | Use the new repository metadata field to choose the output directory of the final package archives. Non-sharable packages will be placed in the per-target package directory while the rest will be placed in a per-repository sub directory within the $OUTPUT_DIR/packages/$CPU_TYPE/ prefix. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* package-ipkg.mk: fix typo (patch from #19540)Felix Fietkau2015-04-231-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45568
* package-ipkg.mk: fix typoFelix Fietkau2015-03-311-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45194
* package-ipkg.mk: add missing semicolon (#19381)Felix Fietkau2015-03-311-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45193
* build: ensure that preinst and postrm are executable (fixes #19372)Felix Fietkau2015-03-311-5/+6
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45187
* tools: replace ipkg-utils with a reduced ipkg-build variant in scripts/Felix Fietkau2015-03-291-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45129
* build: make postinst/prerm scripts executableFelix Fietkau2015-03-291-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45128
* Fix possible fail to check for dependenciesJohn Crispin2015-02-031-1/+1
| | | | | | | | | | | | Few characters in filenames (a plus sign, a dot) can be interpreted specially by grep. This can lead to the omission of missing package dependency. For example if we would have "some.file.so" then it matches also "some2file.so". -F switch off special meaning of any character and -x match against whole line. Signed-off-by: Sławomir Demeszko <s.demeszko@wireless-instruments.com> SVN-Revision: 44247
* include: don't use extended regex for deps checkingNicolas Thill2015-01-311-1/+1
| | | | | | | | Closes: #18851 Signed-off-by: Nicolas Thill <nico@openwrt.org> SVN-Revision: 44224
* include: use anchored patterns for dependency checkingJo-Philipp Wich2015-01-291-1/+1
| | | | | | | | | | Anchor search pattern when testing dependencies, otherwise the check may succeed in cases where it shouldn't, e.g. when matching "udp_tunnel.ko" against "ip6_udp_tunnel.ko". Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44207
* include: unbreak conffiles, postinst & prerm exportsJo-Philipp Wich2014-10-241-1/+5
| | | | | | | | | | | | Changeset r43017 reworked the ipkg control metadata generation but broke the export of conffiles, postinst and prerm defines. Change the code back to rely on shvar and shexport, this is required to properly output multiline contents. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 43041
* build: only print skipped packages that were selectedFelix Fietkau2014-10-221-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43023
* kernel: use /bin/sh instead of bash to speed up processing of many kmod-* ↵Felix Fietkau2014-10-221-2/+2
| | | | | | | | packages Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43022
* build: clean up and optimize ipkg control generator codeFelix Fietkau2014-10-221-42/+52
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43017
* build: optimize printing of disabled packagesFelix Fietkau2014-10-221-3/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43015
* build: propagate package conflicts to opkg metadataFelix Fietkau2014-10-051-0/+5
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42771
* postinst trigger: the new postinst trigger broke IBJohn Crispin2014-09-161-0/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 42571
* ipkg: add a default postinst/prerm scriptJohn Crispin2014-09-111-3/+14
| | | | | | | | | | | the postinst script enables/starts the init.d scripts upon package installation and installs the users required by the package. the prerm script stops and disables the init.d scripts. Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 42470
* include: add a meta data field for required system user:groupJohn Crispin2014-09-111-0/+1
| | | | | | | | | this is in preparation of having services run as !root with ACL'ed access to ubus. Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 42469
* build: fix removal of old .ipk files with CONFIG_PER_FEED_REPOJo-Philipp Wich2014-08-091-1/+1
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 42090
* build: introduce per feed repository supportJo-Philipp Wich2014-08-051-3/+7
| | | | | | | | | This changeset implements a new menuconfig option to generate separate repositories for each enabled package feed instead of one monolithic one. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 42002
* include: remove SDK exception from package install targetsJo-Philipp Wich2014-07-021-2/+2
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 41459
* build: allow packages to declare ABI versions to detect necessary package ↵Felix Fietkau2014-02-231-0/+7
| | | | | | | | | | | | | | | rebuilds If a package directly depends on another package that recently changed its ABI version, it will be cleaned up and rebuilt (assuming quilt is not used). This helps with packages that have no stable ABI, e.g. libubox, ubus, etc. Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39720
* build: remove SourceFile and SourceURL from opkg metadata - they are useless ↵Felix Fietkau2013-12-131-2/+0
| | | | | | | | without the corresponding openwrt package directory Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39038
* build: print missing dependency error to stderrJonas Gorski2013-07-181-2/+2
| | | | | | | | Allow to see the actual error even when compiling with V=w/V=1 only. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 37388
* build: add required exports for dependency trackingFelix Fietkau2013-07-181-1/+4
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37387