Commit Graph

97 Commits

Author SHA1 Message Date
Jo-Philipp Wich 128366e1a8 packages: apply usign padding workarounds to package indexes if needed
Since usign miscalculates SHA-512 digests for input sizes of exactly
64 + N * 128 + 110 or 64 + N * 128 + 111 bytes, we need to apply some
white space padding to avoid triggering the hashing edge case.

While usign itself has been fixed already, there is still many firmwares
in the wild which use broken usign versions to verify current package
indexes so we'll need to carry this workaround in the forseeable future.

Ref: https://forum.openwrt.org/t/signature-check-failed/41945
Ref: https://git.openwrt.org/5a52b379902471cef495687547c7b568142f66d2
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit e1f588e446)
2019-08-07 07:25:11 +02:00
Jo-Philipp Wich c6e79980b8 build: fix triggering opkg/host compilation
Commit 131db36 "build: remove separate /install step for host builds" dropped
the package/*/host/install targets in favor to performing the install steps
within the compile target instead.

Adjust package/Makefile accordingly in order to prevent a missing
staging_dir/host/bin/opkg when staging package archives into the rootfs.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-04-09 15:42:20 +02:00
Felix Fietkau 9cdf852ae0 opkg: drop S/MIME support
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>
2017-01-10 13:44:25 +01:00
Alberto Bursi c24172cad1 package/Makefile & ipkg-make-index.sh: add full package data list
The external script used to generate the package lists for the
LEDE wiki's table of packages [1] and package indexes [2] requires
a "Source:" field in the package lists to find package makefiles.
The package makefiles are used to read the package's Category and Submenu.

The "Source:" field was removed in commit
b4aa3c899c
to reduce package list sizes and lessen opkg issues in low ram devices.

Add a separate package list file with full data to be used by the wiki's script.
It's called Packages.manifest and isn't compressed as it's not necessary.

1. https://lede-project.org/packages/start
2. https://lede-project.org/packages/index/start

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2016-12-26 11:17:33 +01:00
Felix Fietkau 180e93ba8b build: add CHECK_ALL variable to allow make download/check to include not selected packages
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-17 10:36:52 +01:00
Felix Fietkau 7a315b0b5d build: implement make check and make package/X/check
This is intended to be used for a wide array of package sanity checks.

The first check that is implemented is for the hash of downloaded files.
It checks:
  - Missing hash
  - Use of SHA256 instead of MD5
  - dl/<file> hash not matching hash in makefile
  - deprecated MD5SUM variable

The deprecated MD5SUM variable check is skipped for feeds/ until OpenWrt
is updated as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-17 10:36:25 +01:00
Matthias Schiffer 663145e419
image: fix CONFIG_CLEAN_IPKG with CONFIG_TARGET_PER_DEVICE_ROOTFS
Running prepare_rootfs on TARGET_DIR deletes the opkg state when
CONFIG_CLEAN_IPKG is enabled, making the per-device rootfs package install
fail.

To avoid this, create a copy of the TARGET_DIR before prepare_rootfs is run
and use this as basis for per-device rootfs generation.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-25 09:30:55 +02:00
Felix Fietkau 180465c38f build: create a package feed directory containing all packages
Needed for proper dependency handling for per-device rootfs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-01 11:13:38 +02:00
Felix Fietkau 731b166528 build: add template for getting opkg package files from package names
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 5d30bf8303 build: rework opkg command invocation
Drop included $(XARGS), add support for passing target dir via parameter

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 7dffc32ffa build: rework prepare_rootfs to pass target dir via parameter
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 973e6e1d71 build: move rootfs processing code to include/rootfs.mk so it can be reused later
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Jo-Philipp Wich 5170393f8c include: choose package output directory based on repository info
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>
2016-04-06 21:55:44 +02:00
Hauke Mehrtens ca77367dae package: remove .git files from images
If you have your ./files/ directory stored in a git repository,
the .git will be included into images using precious space.
This patch removes .git directories before packing images.

Signed-off-by: Joerg Jungermann <jj@borkum.net>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49180
2016-04-17 12:50:30 +00:00
Jo-Philipp Wich d201f01d5d buildroot: apply IGNORE_ERRORS to host builds
Apply the error ignore mechanism to host builds as well in order to skip over
broken feed packages.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48918
2016-03-04 11:20:11 +00:00
Felix Fietkau ad8169546c package/Makefile: override opkg installation time when SOURCE_DATE_EPOCH set
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48585
2016-01-31 23:29:12 +00:00
Jo-Philipp Wich 0333da8943 include: group kmod ipk files into a "kernel" subdirectory
This is useful to just use the kmods from an official build while supplying
base packages from a custom feed or the other way around; for just overriding
the kmods with a local repo while using official repos for the rest.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48475
2016-01-24 15:36:05 +00:00
Felix Fietkau ce6c1c6c84 build: add opkg host dependency
fixes a missing host opkg
found by: unselect base-files, opkg

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 47885
2015-12-13 17:03:40 +00:00
John Crispin 096b3759a9 build: Prevent more gzip timestamps
To improve reproducibility, prevent the inclusion of timestamps
in the gzip header.

Signed-off-by: Reiner Herrmann <reiner@reiner-h.de>

SVN-Revision: 46361
2015-07-14 09:57:45 +00:00
Matteo Croce c37d7a7e8f fix mklibs with musl
crate a relative symlink to libc.so because
make wildcard function ignores broken symlinks

SVN-Revision: 46123
2015-06-25 10:14:22 +00:00
Felix Fietkau b35846974e build: do another init script enabling run, fixes init scripts added via files/ (#19857)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45964
2015-06-14 17:42:05 +00:00
Jo-Philipp Wich edbb32897a build: trigger pacakge index creation for all feeds if required
When CONFIG_PER_FEED_REPO_ADD_DISABLED is set, trigger index creation for
any available feed, regardless of whether there where binaries built or not.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 45765
2015-05-26 11:37:05 +00:00
Felix Fietkau ecb14f4a5d build: allow creating empty package feeds
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45757
2015-05-26 09:09:07 +00:00
Felix Fietkau beca028bd6 build: add integration for managing opkg package feed keys
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45286
2015-04-06 19:39:51 +00:00
John Crispin 44249f71a8 postinst trigger: the new postinst trigger broke IB
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 42571
2014-09-16 11:56:19 +00:00
John Crispin d6dbc22bbc ipkg: add a default postinst/prerm script
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
2014-09-11 12:27:49 +00:00
Jo-Philipp Wich aebbc47c2a build: consider sub-directories when deploying packages to image with CONFIG_PER_FEED_REPO (#17430)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 42041
2014-08-07 15:35:12 +00:00
Jo-Philipp Wich a720dd209f build: introduce per feed repository support
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
2014-08-05 11:24:24 +00:00
John Crispin 3936ed4028 package/Makefile: Substituted deprecated -perm +mode with -perm /mode
The find(1) -perm +mode is no longer supported and has been deprecated since
2005.

This could resolve #13855 ticket.

Signed-off-by: Rocco Folino <lordzen87@gmail.com>

SVN-Revision: 40927
2014-06-02 12:44:13 +00:00
Jo-Philipp Wich 7490659254 package: ignore failed downloads with IGNORE_ERRORS
When IGNORE_ERROR is set, also skip broken downloads, this is required
to make a full "make download" run even if some upstream sources are
unreachable.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 40768
2014-05-14 15:49:22 +00:00
Felix Fietkau ee4110aff0 target/sdk: use .config instead of unconditionally enabling all build dirs
Call make defconfig on every build to catch newly added packages

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39913
2014-03-13 12:12:58 +00:00
Felix Fietkau d1c64ab221 build: fix installation of default-variant packages when the source package has multiple variants (#15237)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39899
2014-03-12 19:53:13 +00:00
Steven Barth 03b0c3b5a6 package/index: fix index creating when building without signing
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 38287
2013-10-02 16:38:28 +00:00
Steven Barth cbdd346b11 Add package signing infrastructure
Add package signing key and certificate configuration options to the
"Image configuration" submenu. If enabled, the Packages.gz list will
be signed as file Packages.sig. The passphrase for the signing key can
be sourced from a file or entered by the user. The signing certificate
is automatically added to the firmware image if opkg-smime is selected.

Signed-off-by: Evan Hunt <each@isc.org>
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 38284
2013-10-02 12:12:10 +00:00
Felix Fietkau f91d09cabb mklibs: Fix mklibs usage when *.so files reside in subdirs
Currently package/Makefile only passes /lib /usr/lib and /usr/lib/ebtables
to mklibs. However, other libs can also reside in different subdirectories
(in my case /usr/lib/ipsec). Hence, create the list of library directories
dynamically.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

SVN-Revision: 37841
2013-08-26 17:31:27 +00:00
Felix Fietkau 4af1bb818c build: fix IGNORE_ERRORS for sources packages that match both 'y' and 'm'
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37405
2013-07-18 16:44:44 +00:00
Felix Fietkau 64f0b22052 build: only install packages for selected variants, fixes building multiple variant selections in one tree
SVN-Revision: 34656
2012-12-13 13:07:01 +00:00
Jo-Philipp Wich a99b0363d0 package: use file_copy to deploy files/ in the package/install phase
SVN-Revision: 34438
2012-12-02 12:20:38 +00:00
Jo-Philipp Wich d3e90ba7a7 buildroot: isolate the .install stamp files for build variants (#12279)
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
2012-11-07 16:15:22 +00:00
Felix Fietkau 0f6e5b76f8 build: add back the package/cleanup step to remove the root staging dir for mklibs
SVN-Revision: 33777
2012-10-15 13:19:45 +00:00
Felix Fietkau 44cd20b802 build: rework the package/install step - collect package install lists during package/compile, then install all packages at once
SVN-Revision: 33631
2012-10-06 16:01:06 +00:00
Luka Perkov 33dadd70ab mklibs: update to 0.1.34 (v2)
SVN-Revision: 32165
2012-06-10 17:07:46 +00:00
Jo-Philipp Wich b179722c71 make sure that base-files is installed last, this allows per-target base-file overlays to work correctly
SVN-Revision: 27138
2011-06-08 19:38:25 +00:00
Felix Fietkau 963b90bb5a remove postinst files for preinstalled packages
SVN-Revision: 26299
2011-03-25 23:47:08 +00:00
Jo-Philipp Wich c5a65a0373 Send ipkg-make-index.sh output to stdout
The "Generating index for package" created by ipkg-make-index only
clutter stderr and serve to push previous warnings/errors off-screen.
Instead, send to stdout.

Note:  This would send incorrect invocation messages to stdout as well.
If this is a concern, perhaps we could send them to FD 3, then send 3 to
2...

Signed-off-by: Kevin Locke <klocke@digitalenginesoftware.com>

SVN-Revision: 25678
2011-02-23 22:59:57 +00:00
Felix Fietkau 26c3d87db0 allow files/ to overwrite existing symlinks (fixes #3508)
SVN-Revision: 25078
2011-01-23 20:59:13 +00:00
Felix Fietkau dd7c8797ec make IGNORE_ERRORS apply to deselected packages as well (typically triggered through dependencies)
SVN-Revision: 23796
2010-11-02 16:38:57 +00:00
Jo-Philipp Wich e47a8a001c revert r22372 and r22405, dependency on host libtool causes problems
SVN-Revision: 22406
2010-07-28 02:18:16 +00:00
Jo-Philipp Wich ceeb9a8013 make base-files dependent on opkg host compile, fixes install errors when package/compile and package/install are invoked separately
SVN-Revision: 22405
2010-07-27 22:26:13 +00:00
Jo-Philipp Wich 8c1d9afc40 use host opkg for installing packages in buildroot and ImageBuilder
SVN-Revision: 22372
2010-07-23 19:49:19 +00:00