summaryrefslogtreecommitdiff
path: root/include/package-ipkg.mk
Commit message (Collapse)AuthorAgeFilesLines
* 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
* build: add kernel modules to package provides info (along with shared libs)Felix Fietkau2013-07-181-2/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37385
* include/package-ipkg.mk: print warnings/errors to stderrJonas Gorski2013-02-211-1/+1
| | | | | | | | Makes warnings/errors visible when building with V=w/V=1. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 35715
* build: reduce the size of package metadata a bit to keep package list files ↵Felix Fietkau2012-12-221-10/+9
| | | | | | smaller SVN-Revision: 34871
* buildroot: isolate the .install stamp files for build variants (#12279)Jo-Philipp Wich2012-11-071-8/+8
| | | | | | | | This fixes missing embedded packages if multiple build variants are selected in the build config, e.g. missing ppp if CONFIG_PACKAGE_ppp=y and CONFIG_PACKAGE_ppp-multilink=m . SVN-Revision: 34106
* licensing: Add licensing metadata to many packages Two new variables are ↵Hamish Guthrie2012-10-191-0/+4
| | | | | | | | | introduces to many packages, namely PKG_LICENSE and PKG_LICENSE_FILES - there may be more than one license applied to packages, and these are listed in the PKG_LICENSE variable and separated by spaces. All relevant license files are also added to the PKG_LICENSE_FILES variable, also space separated. The licensing metadata is put into the bin/<platform>/packages/Packages file for later parsing. A script for that is on it's way! SVN-Revision: 33861
* build: rework the package/install step - collect package install lists ↵Felix Fietkau2012-10-061-23/+9
| | | | | | during package/compile, then install all packages at once SVN-Revision: 33631
* package-ipkg.mk: flag packages as "ok" after installJo-Philipp Wich2012-07-151-1/+1
| | | | | | | By flagging compile-time-installed packages as "ok", they can be differentiated from runtime-installed packages on the target later on. SVN-Revision: 32739