From 375587f4b29039d86880030c6ab9a135e0342567 Mon Sep 17 00:00:00 2001 From: RISCi_ATOM Date: Fri, 16 Dec 2016 23:14:08 -0500 Subject: [PATCH] First git repo commit for the libreCMC project --- .gitattributes | 1 + .gitignore | 26 + BSDmakefile | 7 + Config.in | 34 + LICENSE | 340 + Makefile | 96 + config/Config-build.in | 293 + config/Config-devel.in | 112 + config/Config-images.in | 269 + config/Config-kernel.in | 739 + feeds.conf.default | 0 include/autotools.mk | 170 + include/cmake.mk | 109 + include/debug.mk | 51 + include/depends.mk | 48 + include/device_table.txt | 5 + include/download.mk | 196 + include/feeds.mk | 56 + include/hardening.mk | 50 + include/host-build.mk | 210 + include/host.mk | 51 + include/image-commands.mk | 192 + include/image-legacy.mk | 92 + include/image.mk | 562 + include/kernel-build.mk | 177 + include/kernel-defaults.mk | 184 + include/kernel-version.mk | 25 + include/kernel.mk | 244 + include/netfilter.mk | 376 + include/nls.mk | 40 + include/package-bin.mk | 33 + include/package-defaults.mk | 162 + include/package-dumpinfo.mk | 91 + include/package-ipkg.mk | 238 + include/package-seccomp.mk | 15 + include/package.mk | 320 + include/prereq-build.mk | 176 + include/prereq.mk | 108 + include/quilt.mk | 171 + include/rootfs.mk | 80 + include/scan.awk | 19 + include/scan.mk | 104 + include/scons.mk | 23 + include/shell.sh | 37 + include/site/aarch64 | 30 + include/site/aarch64_be | 30 + include/site/arc | 30 + include/site/arm | 30 + include/site/armeb | 30 + include/site/i386 | 3 + include/site/i486 | 30 + include/site/i686 | 3 + include/site/linux | 78 + include/site/m68k | 28 + include/site/mips | 30 + include/site/mips64 | 30 + include/site/mips64el | 30 + include/site/mipsel | 30 + include/site/powerpc | 30 + include/site/sparc | 30 + include/site/x86_64 | 30 + include/subdir.mk | 92 + include/target.mk | 306 + include/toolchain-build.mk | 25 + include/toplevel.mk | 235 + include/uclibc++.mk | 16 + include/unpack.mk | 81 + include/verbose.mk | 67 + include/version.mk | 112 + package/Makefile | 127 + package/base-files/Makefile | 177 + package/base-files/files/bin/board_detect | 14 + package/base-files/files/bin/config_generate | 437 + package/base-files/files/bin/ipcalc.sh | 71 + package/base-files/files/etc/banner | 9 + package/base-files/files/etc/banner.failsafe | 13 + .../files/etc/board.d/99-default_network | 17 + package/base-files/files/etc/device_info | 4 + package/base-files/files/etc/diag.sh | 4 + package/base-files/files/etc/fstab | 1 + package/base-files/files/etc/group | 10 + package/base-files/files/etc/hosts | 5 + .../files/etc/hotplug.d/net/00-sysctl | 9 + package/base-files/files/etc/init.d/boot | 51 + package/base-files/files/etc/init.d/done | 17 + .../base-files/files/etc/init.d/gpio_switch | 42 + package/base-files/files/etc/init.d/led | 134 + package/base-files/files/etc/init.d/sysctl | 25 + .../base-files/files/etc/init.d/sysfixtime | 34 + package/base-files/files/etc/init.d/system | 50 + package/base-files/files/etc/init.d/umount | 8 + .../base-files/files/etc/init.d/urandom_seed | 12 + package/base-files/files/etc/inittab | 3 + .../base-files/files/etc/iproute2/rt_tables | 12 + package/base-files/files/etc/openwrt_release | 7 + package/base-files/files/etc/openwrt_version | 1 + package/base-files/files/etc/os-release | 1 + package/base-files/files/etc/passwd | 5 + package/base-files/files/etc/preinit | 29 + package/base-files/files/etc/profile | 52 + package/base-files/files/etc/protocols | 57 + .../base-files/files/etc/rc.button/failsafe | 5 + package/base-files/files/etc/rc.button/power | 7 + package/base-files/files/etc/rc.button/reset | 31 + package/base-files/files/etc/rc.button/rfkill | 32 + package/base-files/files/etc/rc.common | 145 + package/base-files/files/etc/rc.local | 4 + package/base-files/files/etc/services | 171 + package/base-files/files/etc/shadow | 5 + package/base-files/files/etc/shells | 1 + package/base-files/files/etc/sysctl.conf | 30 + .../base-files/files/etc/sysctl.d/local.conf | 1 + package/base-files/files/etc/sysupgrade.conf | 5 + .../files/etc/uci-defaults/10_migrate-shadow | 12 + .../files/etc/uci-defaults/11_migrate-sysctl | 16 + .../etc/uci-defaults/12_network-generate-ula | 15 + .../files/etc/uci-defaults/13_fix_group_user | 11 + package/base-files/files/lib/functions.sh | 351 + .../base-files/files/lib/functions/leds.sh | 61 + .../base-files/files/lib/functions/network.sh | 268 + .../base-files/files/lib/functions/preinit.sh | 88 + .../base-files/files/lib/functions/service.sh | 103 + .../base-files/files/lib/functions/system.sh | 129 + .../files/lib/functions/uci-defaults.sh | 640 + .../files/lib/preinit/02_default_set_state | 7 + .../files/lib/preinit/10_indicate_failsafe | 18 + .../files/lib/preinit/10_indicate_preinit | 154 + .../base-files/files/lib/preinit/10_sysinfo | 10 + .../files/lib/preinit/30_failsafe_wait | 100 + .../files/lib/preinit/40_run_failsafe_hook | 13 + .../lib/preinit/50_indicate_regular_preinit | 10 + .../files/lib/preinit/70_initramfs_test | 13 + .../files/lib/preinit/80_mount_root | 15 + .../files/lib/preinit/81_urandom_seed | 24 + .../files/lib/preinit/99_10_failsafe_login | 18 + .../files/lib/preinit/99_10_run_init | 9 + .../base-files/files/lib/upgrade/common.sh | 253 + .../base-files/files/lib/upgrade/fwtool.sh | 43 + .../lib/upgrade/keep.d/base-files-essential | 10 + package/base-files/files/rom/note | 3 + package/base-files/files/sbin/firstboot | 3 + package/base-files/files/sbin/hotplug-call | 18 + package/base-files/files/sbin/led.sh | 25 + package/base-files/files/sbin/sysupgrade | 245 + package/base-files/files/sbin/urandom_seed | 20 + package/base-files/files/sbin/wifi | 239 + package/base-files/files/usr/lib/os-release | 17 + package/base-files/files/usr/libexec/login.sh | 5 + package/base-files/image-config.in | 324 + package/boot/fconfig/Makefile | 46 + package/boot/grub2/Makefile | 84 + .../grub2/patches/100-grub_setup_root.patch | 118 + .../boot/grub2/patches/100-musl-compat.patch | 26 + .../grub2/patches/200-fix-gets-removal.patch | 16 + .../grub2/patches/210-fix_serial_rtscts.patch | 14 + package/boot/kexec-tools/Config.in | 31 + package/boot/kexec-tools/Makefile | 87 + .../0001-Fix-zlib-lzma-decompression.patch | 171 + ...ly-necessary-quotes-to-result-of-mac.patch | 52 + ...r-warning-on-printing-64-bit-integer.patch | 35 + .../0004-mips-remove-unused-variable.patch | 30 + ...rning-about-implicit-type-conversion.patch | 30 + package/boot/uboot-ar71xx/Makefile | 95 + .../files/board/zyxel/nbg460n/Makefile | 46 + .../files/board/zyxel/nbg460n/config.mk | 1 + .../files/board/zyxel/nbg460n/lowlevel_init.S | 39 + .../files/board/zyxel/nbg460n/nbg460n.c | 96 + .../files/board/zyxel/nbg460n/u-boot.lds | 42 + .../files/cpu/mips/ar71xx_serial.c | 177 + .../uboot-ar71xx/files/drivers/net/ag71xx.c | 809 + .../uboot-ar71xx/files/drivers/net/ag71xx.h | 374 + .../files/drivers/net/phy/rtl8366.h | 188 + .../files/drivers/net/phy/rtl8366_mii.c | 786 + .../files/drivers/spi/ar71xx_spi.c | 191 + .../files/include/asm-mips/ar71xx.h | 515 + .../files/include/asm-mips/ar71xx_gpio.h | 65 + .../files/include/configs/nbg460n.h | 136 + ...oot-build-support-using-SOURCE_DATE_.patch | 82 + ...le-Reproducible-U-Boot-build-support.patch | 31 + .../uboot-ar71xx/patches/001-ar71xx.patch | 26 + .../uboot-ar71xx/patches/002-ar71xx-spi.patch | 11 + .../patches/010-enet-ag71xx.patch | 22 + .../patches/011-switch-rtl8366sr.patch | 28 + .../patches/020-freebsd-compat.patch | 11 + .../patches/021-darwin_compat.patch | 23 + .../patches/022-getline_backport.patch | 21 + .../patches/030-no_examples.patch | 13 + .../patches/040-no_extern_inline.patch | 112 + .../patches/041-no_weak_alias.patch | 12 + package/boot/uboot-envtools/Config.in | 9 + package/boot/uboot-envtools/Makefile | 121 + package/boot/uboot-envtools/files/ar71xx | 72 + package/boot/uboot-envtools/files/cns3xxx | 28 + package/boot/uboot-envtools/files/imx6 | 36 + package/boot/uboot-envtools/files/ipq | 29 + package/boot/uboot-envtools/files/kirkwood | 34 + package/boot/uboot-envtools/files/lantiq | 39 + package/boot/uboot-envtools/files/mvebu | 32 + package/boot/uboot-envtools/files/mxs | 26 + package/boot/uboot-envtools/files/oxnas | 28 + package/boot/uboot-envtools/files/ramips | 37 + .../uboot-envtools/files/uboot-envtools.sh | 36 + .../uboot-envtools/patches/001-compile.patch | 13 + .../patches/200-fw_env_no_aes.patch | 38 + .../300-support-env-in-ubivol-chardev.patch | 163 + .../patches/400-u-boot-2015.10-stdint.patch | 13 + package/boot/uboot-sunxi/Makefile | 188 + .../patches/001-use-dtc-in-kernel.patch | 11 + .../patches/002-add-olimex-a13-som.patch | 21 + .../003-add-theobroma-a31-pangolin.patch | 385 + .../010-dt-sync-files-with-kernel.patch | 1403 + .../011-dt-sync-dts-files-with-kernel.patch | 7211 +++++ .../012-sun6i-fix-clock_twi_onoff.patch | 38 + .../patches/013-enable-realtek-phy.patch | 24 + .../patches/014-fix-gmac-init.patch | 127 + .../015-fix-2nd-usb-ctrler-on-sun47i.patch | 78 + .../patches/016-spl-print-mmc-slot.patch | 31 + ...17-usb-add-support-for-usb3-vbus-pin.patch | 39 + ...8-usb-specify-vbus-pins-on-orangepis.patch | 31 + ...19-sid-add-efuse-support-for-h3-a83t.patch | 33 + ...-boot-display-board-model-on-startup.patch | 23 + ...1-sun6i-sync-PLL1-multdiv-with-Boot1.patch | 32 + .../093-sun6i-fix-PLL-LDO-voltselect.patch | 70 + .../100-sun6i-alternate-on-UART2.patch | 16 + .../101-sun6i-support-console-on-UART2.patch | 30 + ...2-sunxi-make_CONS_INDEX-configurable.patch | 23 + package/boot/uboot-sunxi/uEnv-default.txt | 6 + package/boot/uboot-sunxi/uEnv-pangolin.txt | 6 + package/boot/uboot-xburst/Makefile | 89 + .../0001-qi_lb60-add-nand-spl-support.patch | 894 + ...qi_lb60-add-software-usbboot-support.patch | 916 + .../patches/0003-add-mmc-support.patch | 1664 + ...dd-more-boot-options-F1-F2-F3-F4-M-S.patch | 200 + .../0005-add-nanonote-lcd-support.patch | 847 + .../patches/0006-enable-silent-console.patch | 60 + package/boot/yamonenv/Makefile | 40 + .../patches/001-yamonenv_mtd_partition.patch | 11 + package/devel/binutils/Makefile | 125 + package/devel/gdb-arc/Makefile | 94 + .../patches/100-no_extern_inline.patch | 32 + .../gdb-arc/patches/110-no_testsuite.patch | 21 + .../120-fix-compile-flag-mismatch.patch | 11 + package/devel/gdb/Makefile | 88 + .../001-gdb-pr14523-mips-signal-number.patch | 16 + .../gdb/patches/002-remove-arguments.patch | 16 + package/devel/gdb/patches/100-musl_fix.patch | 53 + package/devel/perf/Makefile | 79 + package/devel/perf/musl-compat.h | 43 + package/devel/perf/musl-include/asm/errno.h | 8 + package/devel/perf/musl-include/string.h | 18 + package/devel/strace/Makefile | 67 + ...00-workaround--pt-reg-collisions-ppc.patch | 19 + package/devel/trace-cmd/Makefile | 65 + .../patches/110-mac80211_tracepoint.patch | 24 + package/devel/valgrind/Makefile | 179 + package/devel/valgrind/files/default.supp | 42 + .../patches/100-fix_configure_check.patch | 11 + .../patches/130-fix_arm_arch_detection.patch | 17 + .../devel/valgrind/patches/200-musl_fix.patch | 45 + package/kernel/avila-wdt/Makefile | 35 + package/kernel/avila-wdt/src/Makefile | 1 + package/kernel/avila-wdt/src/avila-wdt.c | 231 + package/kernel/button-hotplug/Makefile | 50 + package/kernel/button-hotplug/src/Kconfig | 2 + package/kernel/button-hotplug/src/Makefile | 1 + .../button-hotplug/src/button-hotplug.c | 343 + package/kernel/gpio-button-hotplug/Makefile | 45 + .../kernel/gpio-button-hotplug/src/Makefile | 1 + .../src/gpio-button-hotplug.c | 676 + package/kernel/i2c-gpio-custom/Makefile | 48 + package/kernel/i2c-gpio-custom/src/Kconfig | 10 + package/kernel/i2c-gpio-custom/src/Makefile | 1 + .../i2c-gpio-custom/src/i2c-gpio-custom.c | 202 + package/kernel/kmod-sched-cake/Makefile | 44 + package/kernel/linux/Makefile | 67 + package/kernel/linux/modules/001-depends.mk | 14 + package/kernel/linux/modules/block.mk | 529 + package/kernel/linux/modules/can.mk | 277 + package/kernel/linux/modules/crypto.mk | 675 + package/kernel/linux/modules/firewire.mk | 74 + package/kernel/linux/modules/fs.mk | 506 + package/kernel/linux/modules/hwmon.mk | 389 + package/kernel/linux/modules/i2c.mk | 251 + package/kernel/linux/modules/input.mk | 209 + package/kernel/linux/modules/leds.mk | 147 + package/kernel/linux/modules/lib.mk | 226 + package/kernel/linux/modules/netdevices.mk | 865 + package/kernel/linux/modules/netfilter.mk | 863 + package/kernel/linux/modules/netsupport.mk | 1061 + package/kernel/linux/modules/nls.mk | 307 + package/kernel/linux/modules/other.mk | 1074 + package/kernel/linux/modules/pcmcia.mk | 74 + package/kernel/linux/modules/sound.mk | 521 + package/kernel/linux/modules/spi.mk | 108 + package/kernel/linux/modules/usb.mk | 1668 + package/kernel/linux/modules/video.mk | 948 + package/kernel/linux/modules/virt.mk | 73 + package/kernel/linux/modules/w1.mk | 192 + package/kernel/linux/modules/wpan.mk | 124 + package/kernel/mac80211/Makefile | 413 + .../files/lib/netifd/wireless/mac80211.sh | 757 + .../mac80211/files/lib/wifi/mac80211.sh | 132 + .../kernel/mac80211/files/mac80211.hotplug | 5 + package/kernel/mac80211/files/regdb.txt | 1307 + .../mac80211/patches/000-fix_kconfig.patch | 14 + .../mac80211/patches/001-fix_build.patch | 167 + .../patches/002-change_allconfig.patch | 64 + .../patches/003-remove_bogus_modparams.patch | 34 + .../004-fix_duplicate_skcipher_backport.patch | 11 + .../005-backport_skb_get_hash_perturb.patch | 22 + .../mac80211/patches/010-disable_rfkill.patch | 15 + .../patches/050-lib80211_option.patch | 30 + .../patches/060-no_local_ssb_bcma.patch | 132 + .../patches/070-ath_common_config.patch | 9 + .../100-remove-cryptoapi-dependencies.patch | 370 + .../110-mac80211_keep_keys_on_stop_ap.patch | 12 + .../120-cfg80211_allow_perm_addr_change.patch | 43 + .../130-mac80211-hwsim-hrtimer-clock.patch | 11 + .../patches/150-disable_addr_notifier.patch | 67 + .../201-ath5k-WAR-for-AR71xx-PCI-bug.patch | 38 + .../kernel/mac80211/patches/210-ap_scan.patch | 11 + ...using-mac80211-intermediate-software.patch | 953 + ...h9k-force-rx_clear-when-disabling-rx.patch | 35 + ...etries-for-powersave-response-frames.patch | 96 + ...erpret-requested-txpower-in-EIRP-dom.patch | 37 + ...0211-add-hdrlen-to-ieee80211_tx_data.patch | 219 + ...80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch | 233 + ...l-Enable-STBC-and-LDPC-for-VHT-Rates.patch | 81 + ...ata-bit-in-PS-buffered-frame-release.patch | 50 + ...ntially-stale-EOSP-status-bit-in-int.patch | 22 + .../309-ath9k-report-tx-status-on-EOSP.patch | 19 + ...fix-block-ack-window-tracking-issues.patch | 114 + ...1-Use-rhltable-instead-of-rhashtable.patch | 275 + ...equence-number-allocation-regression.patch | 37 + ...w-reset-AHB-WMAC-interface-on-AR91xx.patch | 25 + ..._hw-issue-external-reset-for-QCA955x.patch | 125 + ...ctral-scan-enable-bit-on-trigger-for.patch | 21 + ...implement-temperature-compensation-s.patch | 101 + ...-up-mismerge-of-ieee80211_tx_dequeue.patch | 35 + ...extra-memcpy-in-A-MSDU-head-creation.patch | 55 + .../320-mac80211-fix-A-MSDU-outer-SA-DA.patch | 73 + ...allow-using-AP_LINK_PS-with-mac80211.patch | 28 + ...211-update-A-MPDU-flag-on-tx-dequeue.patch | 30 + ...0211-remove-bogus-skb-vif-assignment.patch | 29 + ...-MSDU-aggregation-with-fast-xmit-txq.patch | 34 + ...hw_gpio_get-to-return-0-or-1-on-succ.patch | 29 + ...-net-add-ath9k-wireless-device-bindi.patch | 67 + ...er-to-get-the-string-representation-.patch | 42 + ...device-configuration-from-an-OF-node.patch | 85 + .../patches/400-ath_move_debug_code.patch | 30 + .../patches/401-ath9k_blink_default.patch | 11 + .../patches/402-ath_regd_optional.patch | 84 + .../patches/403-world_regd_fixup.patch | 84 + .../patches/404-regd_no_assoc_hints.patch | 19 + .../mac80211/patches/405-ath_regd_us.patch | 26 + .../patches/406-ath_relax_default_regd.patch | 51 + .../410-ath9k_allow_adhoc_and_ap.patch | 10 + .../411-ath5k_allow_adhoc_and_ap.patch | 46 + .../patches/420-ath5k_disable_fast_cc.patch | 18 + .../patches/430-add_ath5k_platform.patch | 33 + ...add_platform_eeprom_support_to_ath5k.patch | 56 + .../patches/432-ath5k_add_pciids.patch | 11 + .../440-ath5k_channel_bw_debugfs.patch | 143 + .../patches/500-ath9k_eeprom_debugfs.patch | 65 + .../mac80211/patches/501-ath9k_ahb_init.patch | 32 + .../510-ath9k_intr_mitigation_tweak.patch | 18 + .../patches/511-ath9k_reduce_rxbuf.patch | 11 + .../patches/512-ath9k_channelbw_debugfs.patch | 125 + .../patches/513-ath9k_add_pci_ids.patch | 30 + .../522-mac80211_configure_antenna_gain.patch | 160 + .../patches/530-ath9k_extra_leds.patch | 267 + .../531-ath9k_extra_platform_leds.patch | 71 + .../540-ath9k_reduce_ani_interval.patch | 11 + .../patches/541-ath9k_rx_dma_stop_check.patch | 28 + .../patches/542-ath9k_debugfs_diag.patch | 139 + .../patches/543-ath9k_entropy_from_adc.patch | 186 + ...544-ath9k-ar933x-usb-hang-workaround.patch | 79 + .../patches/545-ath9k_ani_ws_detect.patch | 155 + .../patches/546-ath9k_platform_led_name.patch | 39 + .../patches/547-ath9k_led_defstate_fix.patch | 29 + .../patches/548-ath9k_enable_gpio_chip.patch | 234 + .../549-ath9k_enable_gpio_buttons.patch | 149 + ...ne-for-the-EEPROM-eepmisc-endianness.patch | 95 + ...hat-the-AR9003-EEPROM-template-value.patch | 78 + ...rom_ops-callback-for-retrieving-the-.patch | 117 + ...prom_param-EEP_MINOR_REV-with-get_ee.patch | 117 + ...k-consistently-use-get_eeprom_rev-ah.patch | 342 + ...EPROM-swapping-check-use-the-eepmisc.patch | 128 + ...-EEPROM-fields-in-Little-Endian-form.patch | 853 + .../557-ath9k-disable-bands-via-dt.patch | 32 + .../patches/560-ath9k_ubnt_uap_plus_hsr.patch | 418 + ...700-mwl8k-missing-pci-id-for-WNR854T.patch | 10 + .../mac80211/scripts/import-backports.sh | 109 + package/kernel/mmc_over_gpio/Makefile | 77 + .../mmc_over_gpio/files/mmc_over_gpio.config | 8 + .../mmc_over_gpio/files/mmc_over_gpio.init | 83 + package/kernel/om-watchdog/Makefile | 45 + package/kernel/om-watchdog/files/om-watchdog | 15 + .../kernel/om-watchdog/files/om-watchdog.init | 64 + package/kernel/rotary-gpio-custom/Makefile | 48 + package/kernel/rotary-gpio-custom/src/Kconfig | 9 + .../kernel/rotary-gpio-custom/src/Makefile | 1 + .../src/rotary-gpio-custom.c | 193 + package/kernel/spi-gpio-custom/Makefile | 48 + package/kernel/spi-gpio-custom/src/Kconfig | 14 + package/kernel/spi-gpio-custom/src/Makefile | 1 + .../spi-gpio-custom/src/spi-gpio-custom.c | 365 + package/kernel/trelay/Makefile | 49 + package/kernel/trelay/files/trelay.config | 4 + package/kernel/trelay/files/trelay.hotplug | 5 + package/kernel/trelay/files/trelay.init | 32 + package/kernel/trelay/src/Makefile | 1 + package/kernel/trelay/src/trelay.c | 272 + package/kernel/w1-gpio-custom/Makefile | 49 + package/kernel/w1-gpio-custom/src/Kconfig | 4 + package/kernel/w1-gpio-custom/src/Makefile | 1 + .../w1-gpio-custom/src/w1-gpio-custom.c | 190 + package/kernel/wrt55agv2-spidevs/Makefile | 38 + package/kernel/wrt55agv2-spidevs/src/Kconfig | 3 + package/kernel/wrt55agv2-spidevs/src/Makefile | 1 + .../wrt55agv2-spidevs/src/wrt55agv2_spidevs.c | 114 + package/libs/argp-standalone/Makefile | 48 + .../patches/001-throw-in-funcdef.patch | 79 + .../patches/002-no_optimize.patch | 11 + package/libs/cyassl/Config.in | 48 + package/libs/cyassl/Makefile | 138 + .../400-additional_compatibility.patch | 12 + package/libs/elfutils/Makefile | 97 + .../patches/002-argp_standalone.patch | 14 + .../elfutils/patches/003-libint-stub.patch | 49 + .../patches/004-maybe-uninitialized.patch | 11 + .../elfutils/patches/004-memcpy_def.patch | 14 + .../patches/005-build_only_libs.patch | 24 + .../elfutils/patches/006-libdw_LIBS.patch | 11 + .../elfutils/patches/100-musl-compat.patch | 702 + .../libs/elfutils/patches/101-no-fts.patch | 109 + package/libs/gettext-full/Makefile | 93 + .../patches/000-relocatable.patch | 30 + .../gettext-full/patches/001-autotools.patch | 24 + .../patches/001-no_examples_and_tests.patch | 22 + .../003-gettext-error_print_progname.patch | 11 + .../patches/100-error_progname.patch | 10 + .../patches/110-error_progname_def.patch | 11 + .../patches/120-uclibc-nolocale.patch | 11 + .../patches/130-format-secuirty.patch | 59 + .../patches/150-disable_libxml_iconv.patch | 22 + package/libs/gettext/Makefile | 63 + package/libs/gettext/src/LICENSE | 7 + package/libs/gettext/src/include/libintl.h | 53 + package/libs/gettext/src/m4/codeset.m4 | 21 + package/libs/gettext/src/m4/gettext.m4 | 383 + package/libs/gettext/src/m4/intl.m4 | 294 + package/libs/gettext/src/m4/intldir.m4 | 19 + package/libs/gettext/src/m4/intlmacosx.m4 | 51 + package/libs/gettext/src/m4/lcmessage.m4 | 31 + package/libs/gettext/src/m4/nls.m4 | 32 + package/libs/gettext/src/m4/po.m4 | 449 + package/libs/gmp/Makefile | 69 + package/libs/libbsd/Makefile | 57 + .../libbsd/patches/001-aarch64_support.patch | 19 + package/libs/libconfig/Makefile | 59 + package/libs/libevent2/Makefile | 157 + package/libs/libiconv-full/Makefile | 95 + .../patches/100-strip_charsets.patch | 3438 ++ .../libiconv-full/patches/101-autotools.patch | 26014 ++++++++++++++++ .../patches/103-configure_ac_fix.patch | 31 + .../patches/200-work-with-libtool2.patch | 17 + .../patches/300-fortify-source-compat.patch | 23 + package/libs/libiconv/COPYING | 504 + package/libs/libiconv/COPYRIGHT | 20 + package/libs/libiconv/Makefile | 79 + package/libs/libiconv/src/LICENSE | 6 + package/libs/libiconv/src/iconv.c | 449 + package/libs/libiconv/src/include/charmaps.h | 80 + .../src/include/charmaps/iso-8859-10.h | 24 + .../src/include/charmaps/iso-8859-13.h | 24 + .../src/include/charmaps/iso-8859-14.h | 25 + .../src/include/charmaps/iso-8859-16.h | 24 + .../src/include/charmaps/iso-8859-2.h | 24 + .../src/include/charmaps/iso-8859-3.h | 24 + .../src/include/charmaps/iso-8859-4.h | 24 + .../src/include/charmaps/iso-8859-5.h | 24 + .../src/include/charmaps/iso-8859-6.h | 24 + .../src/include/charmaps/iso-8859-7.h | 24 + .../src/include/charmaps/iso-8859-8.h | 24 + .../src/include/charmaps/iso-8859-9.h | 24 + .../libiconv/src/include/charmaps/koi8-r.h | 24 + .../src/include/charmaps/windows-1250.h | 24 + .../src/include/charmaps/windows-1251.h | 24 + .../src/include/charmaps/windows-1252.h | 25 + .../src/include/charmaps/windows-1253.h | 24 + .../src/include/charmaps/windows-1254.h | 24 + .../src/include/charmaps/windows-1255.h | 24 + .../src/include/charmaps/windows-1256.h | 24 + .../src/include/charmaps/windows-1257.h | 24 + .../src/include/charmaps/windows-1258.h | 24 + .../src/include/charmaps/windows-874.h | 24 + package/libs/libiconv/src/include/iconv.h | 36 + package/libs/libiconv/src/m4/iconv.m4 | 214 + package/libs/libjson-c/Makefile | 57 + package/libs/libjson-c/patches/000-libm.patch | 50 + package/libs/libmnl/Makefile | 77 + package/libs/libnetfilter-conntrack/Makefile | 74 + package/libs/libnetfilter-cthelper/Makefile | 71 + package/libs/libnetfilter-cttimeout/Makefile | 71 + package/libs/libnetfilter-log/Makefile | 74 + ...ecessary-pkgconfig-config.status-dep.patch | 25 + ...d-remove-unused-lines-in-Makefile.am.patch | 24 + ...build-resolve-automake-1.12-warnings.patch | 29 + ...e-needed-for-integer-type-definition.patch | 24 + ...0005-configure-uclinux-is-also-linux.patch | 27 + ...thout-ipulog-option-to-disable-libip.patch | 95 + package/libs/libnetfilter-queue/Makefile | 71 + .../patches/100-checksum_computation.patch | 115 + package/libs/libnfnetlink/Makefile | 71 + .../patches/100-missing_include.patch | 20 + package/libs/libnftnl/Makefile | 74 + package/libs/libnl-tiny/Makefile | 50 + package/libs/libnl-tiny/files/libnl-tiny.pc | 10 + package/libs/libnl-tiny/src/Makefile | 17 + package/libs/libnl-tiny/src/attr.c | 668 + package/libs/libnl-tiny/src/cache.c | 376 + package/libs/libnl-tiny/src/cache_mngt.c | 131 + package/libs/libnl-tiny/src/error.c | 116 + package/libs/libnl-tiny/src/genl.c | 268 + package/libs/libnl-tiny/src/genl_ctrl.c | 380 + package/libs/libnl-tiny/src/genl_family.c | 169 + package/libs/libnl-tiny/src/genl_mngt.c | 193 + package/libs/libnl-tiny/src/handlers.c | 162 + .../libnl-tiny/src/include/netlink-generic.h | 20 + .../libnl-tiny/src/include/netlink-local.h | 158 + .../libnl-tiny/src/include/netlink-types.h | 88 + .../libnl-tiny/src/include/netlink/addr.h | 69 + .../libnl-tiny/src/include/netlink/attr.h | 726 + .../src/include/netlink/cache-api.h | 199 + .../libnl-tiny/src/include/netlink/cache.h | 128 + .../libnl-tiny/src/include/netlink/data.h | 41 + .../libnl-tiny/src/include/netlink/errno.h | 64 + .../src/include/netlink/genl/ctrl.h | 40 + .../src/include/netlink/genl/family.h | 134 + .../src/include/netlink/genl/genl.h | 47 + .../src/include/netlink/genl/mngt.h | 87 + .../libnl-tiny/src/include/netlink/handlers.h | 231 + .../libnl-tiny/src/include/netlink/list.h | 88 + .../libs/libnl-tiny/src/include/netlink/msg.h | 308 + .../src/include/netlink/netlink-compat.h | 50 + .../src/include/netlink/netlink-kernel.h | 196 + .../libnl-tiny/src/include/netlink/netlink.h | 82 + .../src/include/netlink/object-api.h | 331 + .../libnl-tiny/src/include/netlink/object.h | 164 + .../libnl-tiny/src/include/netlink/socket.h | 231 + .../libnl-tiny/src/include/netlink/types.h | 121 + .../libnl-tiny/src/include/netlink/utils.h | 78 + .../libnl-tiny/src/include/netlink/version.h | 18 + package/libs/libnl-tiny/src/include/unl.h | 47 + package/libs/libnl-tiny/src/msg.c | 566 + package/libs/libnl-tiny/src/nl.c | 720 + package/libs/libnl-tiny/src/object.c | 147 + package/libs/libnl-tiny/src/socket.c | 406 + package/libs/libnl-tiny/src/unl.c | 287 + package/libs/libnl/Makefile | 132 + package/libs/libpcap/Config.in | 15 + package/libs/libpcap/Makefile | 97 + .../patches/100-debian_shared_lib.patch | 178 + .../102-makefile_disable_manpages.patch | 73 + .../103-makefile_flex_workaround.patch | 14 + .../patches/201-space_optimization.patch | 159 + .../libpcap/patches/202-protocol_api.patch | 140 + .../patches/203-undef_iw_mode_monitor.patch | 11 + package/libs/libreadline/Makefile | 72 + .../patches/001-install_perm.patch | 11 + package/libs/libroxml/Makefile | 47 + package/libs/librpc/Makefile | 35 + package/libs/libtool/Makefile | 52 + .../libtool/patches/160-passthrough-ssp.patch | 11 + package/libs/libubox/Makefile | 99 + package/libs/libunwind/Makefile | 53 + .../libunwind/patches/001-disable-tests.patch | 22 + .../002-fix-building-getcontext_S.patch | 19 + ...03-fix-missing-ef_reg-defs-with-musl.patch | 47 + package/libs/libusb-compat/Makefile | 53 + .../patches/001-fix-musl-stdint.patch | 185 + package/libs/libusb/Makefile | 53 + package/libs/lzo/Makefile | 63 + package/libs/mbedtls/Makefile | 69 + package/libs/mbedtls/patches/200-config.patch | 208 + package/libs/ncurses/Makefile | 150 + .../100-ncurses-5.6-20080112-urxvt.patch | 175 + .../101-ncurses-5.6-20080628-kbs.patch | 52 + .../patches/102-ncurses-5.9-gcc-5.patch | 44 + .../103-fixup-pkg-config-handling.patch | 85 + .../patches/200-fix_missing_include.patch | 14 + package/libs/ncurses/patches/500-cross.patch | 11 + .../libs/ncurses/patches/900-terminfo.patch | 20 + package/libs/nettle/Config.in | 9 + package/libs/nettle/Makefile | 86 + package/libs/openssl/Config.in | 62 + package/libs/openssl/Makefile | 259 + .../libs/openssl/include/crypto/cryptodev.h | 292 + .../patches/110-optimize-for-size.patch | 15 + .../libs/openssl/patches/130-perl-path.patch | 64 + .../openssl/patches/140-makefile-dirs.patch | 11 + .../libs/openssl/patches/150-no_engines.patch | 81 + .../patches/160-disable_doc_tests.patch | 58 + .../libs/openssl/patches/170-bash_path.patch | 8 + .../patches/180-fix_link_segfault.patch | 18 + .../patches/190-remove_timestamp_check.patch | 23 + .../openssl/patches/200-parallel_build.patch | 184 + package/libs/polarssl/Makefile | 74 + .../polarssl/patches/200-reduce_config.patch | 242 + package/libs/popt/Makefile | 58 + package/libs/sysfsutils/Makefile | 73 + .../patches/200-mnt_path_check.patch | 55 + package/libs/toolchain/Makefile | 578 + .../toolchain/eglibc-files/etc/nsswitch.conf | 13 + .../toolchain/glibc-files/etc/nsswitch.conf | 13 + package/libs/uclibc++/Makefile | 106 + package/libs/uclibc++/files/config.default | 58 + .../uclibc++/patches/002-path_to_bash.patch | 11 + .../libs/uclibc++/patches/006-eabi_fix.patch | 38 + .../uclibc++/patches/010-honor-ldflags.patch | 23 + .../uclibc++/patches/020-template-fix.patch | 22 + .../patches/030-memory_corruption_fix.patch | 114 + .../uclibc++/patches/040-delete-c++14.patch | 20 + package/libs/uclient/Makefile | 52 + package/libs/ustream-ssl/Makefile | 87 + package/libs/zlib/Makefile | 104 + package/network/config/firewall/Makefile | 62 + .../config/firewall/files/firewall.config | 194 + .../config/firewall/files/firewall.hotplug | 11 + .../config/firewall/files/firewall.init | 61 + .../config/firewall/files/firewall.user | 7 + package/network/config/gre/Makefile | 65 + package/network/config/gre/files/gre.sh | 266 + package/network/config/ipip/Makefile | 40 + package/network/config/ipip/files/ipip.sh | 93 + package/network/config/netifd/Makefile | 45 + .../files/etc/hotplug.d/iface/00-netstate | 7 + .../config/netifd/files/etc/init.d/network | 151 + .../netifd/files/lib/netifd/dhcp.script | 102 + .../netifd/files/lib/netifd/proto/dhcp.sh | 79 + .../config/netifd/files/lib/network/config.sh | 79 + .../config/netifd/files/sbin/devstatus | 12 + .../network/config/netifd/files/sbin/ifdown | 1 + .../network/config/netifd/files/sbin/ifstatus | 13 + package/network/config/netifd/files/sbin/ifup | 77 + .../files/usr/share/udhcpc/default.script | 57 + package/network/config/qos-scripts/Makefile | 52 + .../config/qos-scripts/files/etc/config/qos | 68 + .../files/etc/hotplug.d/iface/10-qos | 2 + .../config/qos-scripts/files/etc/init.d/qos | 28 + .../qos-scripts/files/usr/bin/qos-start | 4 + .../config/qos-scripts/files/usr/bin/qos-stat | 67 + .../config/qos-scripts/files/usr/bin/qos-stop | 6 + .../qos-scripts/files/usr/lib/qos/generate.sh | 538 + .../qos-scripts/files/usr/lib/qos/tcrules.awk | 106 + package/network/config/soloscli/Makefile | 45 + .../files/etc/hotplug.d/atm/15-solos-init | 26 + .../soloscli/files/etc/uci-default/solos | 15 + .../config/soloscli/files/solos-log-stats | 19 + .../soloscli/patches/001-no-driver.patch | 11 + .../config/soloscli/patches/002-cflags.patch | 12 + package/network/config/swconfig/Makefile | 55 + .../network/config/swconfig/files/switch.sh | 15 + package/network/config/swconfig/src/Makefile | 15 + package/network/config/swconfig/src/cli.c | 387 + package/network/config/swconfig/src/swlib.c | 922 + package/network/config/swconfig/src/swlib.h | 269 + package/network/config/swconfig/src/uci.c | 246 + package/network/config/vti/Makefile | 65 + package/network/config/vti/files/vti.sh | 151 + package/network/ipv6/6in4/Makefile | 43 + package/network/ipv6/6in4/files/6in4.sh | 139 + package/network/ipv6/6rd/Makefile | 49 + package/network/ipv6/6rd/files/6rd.sh | 102 + package/network/ipv6/6rd/src/6rdcalc.c | 126 + package/network/ipv6/6rd/src/Makefile | 7 + package/network/ipv6/6to4/Makefile | 43 + package/network/ipv6/6to4/files/6to4.sh | 98 + package/network/ipv6/ds-lite/Makefile | 43 + package/network/ipv6/ds-lite/files/dslite.sh | 106 + package/network/ipv6/map/Makefile | 40 + package/network/ipv6/map/files/map.sh | 221 + package/network/ipv6/map/src/CMakeLists.txt | 26 + package/network/ipv6/map/src/mapcalc.c | 412 + package/network/ipv6/odhcp6c/Makefile | 52 + .../network/ipv6/odhcp6c/files/dhcpv6.script | 219 + package/network/ipv6/odhcp6c/files/dhcpv6.sh | 103 + package/network/ipv6/thc-ipv6/Makefile | 61 + .../ipv6/thc-ipv6/patches/100-no-ssl.patch | 9 + package/network/services/authsae/Makefile | 48 + .../authsae/files/lib/wifi/authsae.sh | 65 + .../authsae/patches/100-musl_fix.patch | 20 + package/network/services/dnsmasq/Makefile | 169 + .../network/services/dnsmasq/files/dhcp.conf | 32 + .../services/dnsmasq/files/dnsmasq.conf | 37 + .../services/dnsmasq/files/dnsmasq.init | 854 + .../services/dnsmasq/files/dnsmasqsec.hotplug | 14 + .../100-fix-dhcp-no-address-warning.patch | 47 + .../110-ipset-remove-old-kernel-support.patch | 110 + ...20-dnsmasq-compile-time-option-NO_ID.patch | 149 + ...0-dnssec-improve-timestamp-heuristic.patch | 47 + ...0-fix-poll-h-include-warning-on-musl.patch | 18 + package/network/services/dropbear/Config.in | 50 + package/network/services/dropbear/Makefile | 148 + .../services/dropbear/files/dropbear.config | 5 + .../services/dropbear/files/dropbear.init | 196 + .../dropbear/patches/100-pubkey_path.patch | 91 + .../dropbear/patches/110-change_user.patch | 18 + .../patches/120-openwrt_options.patch | 81 + .../patches/130-ssh_ignore_x_args.patch | 11 + .../dropbear/patches/140-disable_assert.patch | 15 + .../patches/150-dbconvert_standalone.patch | 14 + .../patches/500-set-default-path.patch | 12 + .../600-allow-blank-root-password.patch | 11 + ...610-skip-default-keys-in-custom-runs.patch | 18 + package/network/services/ead/Makefile | 52 + package/network/services/ead/src/Makefile | 33 + package/network/services/ead/src/aes.c | 1061 + package/network/services/ead/src/ead-client.c | 433 + package/network/services/ead/src/ead-crypt.c | 179 + package/network/services/ead/src/ead-crypt.h | 21 + package/network/services/ead/src/ead-pcap.h | 71 + package/network/services/ead/src/ead.c | 976 + package/network/services/ead/src/ead.h | 139 + package/network/services/ead/src/filter.c | 25 + package/network/services/ead/src/libbridge.h | 60 + .../network/services/ead/src/libbridge_init.c | 127 + .../services/ead/src/libbridge_private.h | 35 + package/network/services/ead/src/list.h | 602 + package/network/services/ead/src/passwd | 3 + package/network/services/ead/src/pfc.c | 54 + .../network/services/ead/src/pw_encrypt_md5.c | 646 + package/network/services/ead/src/sha1.c | 104 + .../services/ead/src/tinysrp/Makefile.am | 28 + .../services/ead/src/tinysrp/Makefile.in | 477 + .../network/services/ead/src/tinysrp/Notes | 110 + .../services/ead/src/tinysrp/acconfig.h | 9 + .../services/ead/src/tinysrp/acinclude.m4 | 27 + .../services/ead/src/tinysrp/aclocal.m4 | 157 + package/network/services/ead/src/tinysrp/bn.h | 471 + .../network/services/ead/src/tinysrp/bn_add.c | 305 + .../network/services/ead/src/tinysrp/bn_asm.c | 382 + .../network/services/ead/src/tinysrp/bn_ctx.c | 142 + .../network/services/ead/src/tinysrp/bn_div.c | 378 + .../network/services/ead/src/tinysrp/bn_exp.c | 395 + .../network/services/ead/src/tinysrp/bn_lcl.h | 419 + .../network/services/ead/src/tinysrp/bn_lib.c | 576 + .../network/services/ead/src/tinysrp/bn_mul.c | 172 + .../services/ead/src/tinysrp/bn_prime.h | 325 + .../services/ead/src/tinysrp/bn_shift.c | 139 + .../network/services/ead/src/tinysrp/bn_sqr.c | 160 + .../services/ead/src/tinysrp/bn_word.c | 130 + .../services/ead/src/tinysrp/clitest.c | 110 + .../services/ead/src/tinysrp/config.h.in | 79 + .../services/ead/src/tinysrp/configure | 2421 ++ .../services/ead/src/tinysrp/configure.in | 52 + .../services/ead/src/tinysrp/install-sh | 250 + .../network/services/ead/src/tinysrp/missing | 134 + .../services/ead/src/tinysrp/mkinstalldirs | 39 + .../services/ead/src/tinysrp/srvtest.c | 111 + .../services/ead/src/tinysrp/stamp-h.in | 1 + .../services/ead/src/tinysrp/t_client.c | 285 + .../services/ead/src/tinysrp/t_client.h | 148 + .../network/services/ead/src/tinysrp/t_conf.c | 1080 + .../network/services/ead/src/tinysrp/t_conv.c | 226 + .../services/ead/src/tinysrp/t_defines.h | 169 + .../services/ead/src/tinysrp/t_getconf.c | 118 + .../services/ead/src/tinysrp/t_getpass.c | 191 + .../network/services/ead/src/tinysrp/t_math.c | 177 + .../network/services/ead/src/tinysrp/t_misc.c | 338 + .../network/services/ead/src/tinysrp/t_pw.c | 262 + .../network/services/ead/src/tinysrp/t_pwd.h | 310 + .../network/services/ead/src/tinysrp/t_read.c | 81 + .../network/services/ead/src/tinysrp/t_read.h | 55 + .../services/ead/src/tinysrp/t_server.c | 259 + .../services/ead/src/tinysrp/t_server.h | 138 + .../network/services/ead/src/tinysrp/t_sha.c | 166 + .../network/services/ead/src/tinysrp/t_sha.h | 26 + .../services/ead/src/tinysrp/t_truerand.c | 151 + .../network/services/ead/src/tinysrp/tconf.c | 157 + .../services/ead/src/tinysrp/tinysrp.c | 235 + .../services/ead/src/tinysrp/tinysrp.h | 18 + .../network/services/ead/src/tinysrp/tpasswd | 2 + .../services/ead/src/tinysrp/tphrase.c | 354 + package/network/services/hostapd/Config.in | 51 + package/network/services/hostapd/Makefile | 431 + .../hostapd/files/hostapd-full.config | 169 + .../hostapd/files/hostapd-mini.config | 159 + .../services/hostapd/files/multicall.c | 28 + .../network/services/hostapd/files/netifd.sh | 755 + .../hostapd/files/wpa_supplicant-full.config | 406 + .../hostapd/files/wpa_supplicant-mini.config | 401 + .../hostapd/files/wpa_supplicant-p2p.config | 406 + .../services/hostapd/files/wps-hotplug.sh | 11 + ...connecting-client-on-connection-lost.patch | 25 + .../hostapd/patches/100-daemonize_fix.patch | 97 + .../hostapd/patches/110-no_eapol_fix.patch | 14 + ...120-disable_bridge_packet_workaround.patch | 12 + ...emove-duplicated-check-in-nl80211_se.patch | 39 + .../hostapd/patches/200-multicall.patch | 360 + .../services/hostapd/patches/300-noscan.patch | 58 + .../patches/310-rescan_immediately.patch | 11 + .../hostapd/patches/320-optional_rfkill.patch | 61 + .../patches/330-nl80211_fix_set_freq.patch | 11 + .../patches/340-reload_freq_change.patch | 44 + .../patches/350-nl80211_del_beacon_bss.patch | 72 + .../patches/360-ctrl_iface_reload.patch | 106 + .../hostapd/patches/370-ap_sta_support.patch | 237 + .../patches/380-disable_ctrl_iface_mib.patch | 178 + .../patches/390-wpa_ie_cap_workaround.patch | 56 + .../400-wps_single_auth_enc_type.patch | 22 + .../patches/410-limit_debug_messages.patch | 214 + .../patches/420-indicate-features.patch | 62 + .../patches/430-hostapd_cli_ifdef.patch | 34 + .../hostapd/patches/431-wpa_cli_ifdef.patch | 12 + .../hostapd/patches/432-missing-typedef.patch | 10 + .../hostapd/patches/450-scan_wait.patch | 73 + ...dd-new-config-params-to-be-used-with.patch | 191 + ...-use-new-parameters-during-ibss-join.patch | 59 + .../462-wpa_s-support-htmode-param.patch | 156 + .../patches/470-survey_data_fallback.patch | 45 + .../hostapd/patches/600-ubus_support.patch | 264 + .../services/hostapd/src/src/ap/ubus.c | 536 + .../services/hostapd/src/src/ap/ubus.h | 78 + .../hostapd/src/src/utils/build_features.h | 17 + package/network/services/igmpproxy/Makefile | 59 + .../services/igmpproxy/files/igmpproxy.config | 12 + .../services/igmpproxy/files/igmpproxy.init | 134 + ...s-with-IP-Router-Alert-option-RFC-21.patch | 79 + ...nterface-state-to-disabled-wrt-29458.patch | 43 + ...ports-for-downstream-interfaces-wrt-.patch | 164 + ...ports-forwarding-to-upstream-interfa.patch | 62 + .../patches/010-missing_include.patch | 10 + ...e-downstream-interface-igmp-messages.patch | 19 + ...monotic-clock-instead-of-time-of-day.patch | 120 + .../patches/200-allow_wildcard_addr.patch | 24 + ...250-fix_multiple_downlink_interfaces.patch | 154 + package/network/services/ipset-dns/Makefile | 61 + .../services/ipset-dns/files/ipset-dns.config | 16 + .../services/ipset-dns/files/ipset-dns.init | 57 + .../patches/100-simultaneous-ipv4-ipv6.patch | 57 + package/network/services/lldpd/Config.in | 54 + package/network/services/lldpd/Makefile | 109 + .../network/services/lldpd/files/lldpd.config | 15 + .../network/services/lldpd/files/lldpd.init | 121 + package/network/services/mdns/Makefile | 49 + .../network/services/mdns/files/mdns.config | 3 + package/network/services/mdns/files/mdns.init | 54 + package/network/services/mdns/files/mdns.json | 32 + package/network/services/odhcpd/Makefile | 68 + .../services/odhcpd/files/odhcpd-update | 5 + .../services/odhcpd/files/odhcpd.defaults | 13 + .../network/services/odhcpd/files/odhcpd.init | 22 + package/network/services/omcproxy/Makefile | 44 + .../services/omcproxy/files/omcproxy.config | 9 + .../services/omcproxy/files/omcproxy.init | 143 + .../services/openvpn-easy-rsa/Makefile | 60 + .../openvpn-easy-rsa/files/easy-rsa.index | 0 .../openvpn-easy-rsa/files/easy-rsa.serial | 1 + .../patches/100-run-ootb.patch | 152 + .../network/services/openvpn/Config-nossl.in | 54 + .../services/openvpn/Config-openssl.in | 66 + .../services/openvpn/Config-polarssl.in | 66 + package/network/services/openvpn/Makefile | 123 + .../services/openvpn/files/openvpn.config | 400 + .../services/openvpn/files/openvpn.init | 159 + .../services/openvpn/files/openvpn.upgrade | 1 + .../001-reproducible-remove_DATE.patch | 10 + ...larssl-disable-runtime-version-check.patch | 11 + ...ackport_upstream_polarssl_debug_call.patch | 33 + .../patches/200-small_build_enable_occ.patch | 12 + package/network/services/ppp/Makefile | 284 + .../services/ppp/files/etc/ppp/chap-secrets | 1 + .../network/services/ppp/files/etc/ppp/filter | 23 + .../services/ppp/files/etc/ppp/options | 10 + .../services/ppp/files/etc/ppp/options.pptp | 7 + .../services/ppp/files/etc/ppp/radius.conf | 8 + .../ppp/files/etc/ppp/radius/dictionary | 253 + .../ppp/files/etc/ppp/radius/dictionary.asnet | 3 + .../files/etc/ppp/radius/dictionary.microsoft | 80 + .../services/ppp/files/etc/ppp/radius/servers | 2 + .../services/ppp/files/lib/netifd/ppp-down | 13 + .../services/ppp/files/lib/netifd/ppp-up | 20 + .../services/ppp/files/lib/netifd/ppp6-up | 27 + package/network/services/ppp/files/ppp.sh | 324 + .../ppp/patches/001-honor-ldflags.patch | 39 + .../010-use_target_for_configure.patch | 24 + .../ppp/patches/100-debian_ip-ip_option.patch | 96 + .../patches/101-debian_close_dev_ppp.patch | 28 + .../patches/103-debian_fix_link_pidfile.patch | 23 + .../ppp/patches/105-debian_demand.patch | 172 + .../patches/106-debian_stripMSdomain.patch | 47 + .../patches/107-debian_pppoatm_wildcard.patch | 25 + .../ppp/patches/110-debian_defaultroute.patch | 313 + .../120-debian_ipv6_updown_option.patch | 95 + .../121-debian_adaptive_lcp_echo.patch | 56 + .../services/ppp/patches/130-no_cdefs_h.patch | 11 + .../patches/131-missing_prototype_macro.patch | 23 + .../ppp/patches/132-fix_linux_includes.patch | 40 + .../ppp/patches/133-fix_sha1_include.patch | 11 + .../ppp/patches/140-pppoe_compile_fix.patch | 101 + .../services/ppp/patches/200-makefile.patch | 49 + .../ppp/patches/201-mppe_mppc_1.1.patch | 1495 + .../services/ppp/patches/202-no_strip.patch | 88 + .../services/ppp/patches/203-opt_flags.patch | 32 + .../ppp/patches/204-radius_config.patch | 72 + .../patches/205-no_exponential_timeout.patch | 29 + .../patches/206-compensate_time_change.patch | 94 + .../ppp/patches/207-lcp_mtu_max.patch | 25 + .../ppp/patches/208-fix_status_code.patch | 24 + .../300-filter-pcap-includes-lib.patch | 20 + .../ppp/patches/310-precompile_filter.patch | 196 + .../ppp/patches/320-custom_iface_names.patch | 135 + ...multilink_support_custom_iface_names.patch | 146 + .../330-retain_foreign_default_routes.patch | 22 + .../340-populate_default_gateway.patch | 34 + .../patches/400-simplify_kernel_checks.patch | 154 + .../ppp/patches/401-no_record_file.patch | 39 + .../services/ppp/patches/403-no_wtmp.patch | 25 + .../404-remove_obsolete_protocol_names.patch | 151 + .../ppp/patches/405-no_multilink_option.patch | 28 + .../ppp/patches/500-add-pptp-plugin.patch | 3065 ++ .../ppp/patches/510-pptp_compile_fix.patch | 11 + .../services/ppp/patches/520-uniq.patch | 269 + .../ppp/patches/530-pppoe_send_padt.patch | 11 + .../531-pppoe_no_disconnect_warning.patch | 14 + .../patches/540-save-pppol2tp_fd_str.patch | 13 + .../ppp/patches/550-fix-printer-args.patch | 11 + package/network/services/ppp/utils/pfc.c | 51 + package/network/services/relayd/Makefile | 46 + .../services/relayd/files/relay.hotplug | 2 + .../network/services/relayd/files/relay.init | 115 + package/network/services/samba36/Makefile | 161 + .../services/samba36/files/samba.config | 6 + .../network/services/samba36/files/samba.init | 119 + .../services/samba36/files/smb.conf.template | 28 + .../patches/010-patch-cve-2015-5252.patch | 39 + .../patches/011-patch-cve-2015-5296.patch | 88 + .../patches/012-patch-cve-2015-5299.patch | 93 + .../patches/015-patch-cve-2015-7560.patch | 172 + .../patches/020-CVE-preparation-v3-6.patch | 6824 ++++ .../021-CVE-preparation-v3-6-addition.patch | 9515 ++++++ .../patches/022-CVE-2015-5370-v3-6.patch | 1791 ++ .../patches/023-CVE-2016-2110-v3-6.patch | 255 + .../patches/024-CVE-2016-2111-v3-6.patch | 681 + .../patches/025-CVE-2016-2112-v3-6.patch | 129 + .../patches/026-CVE-2016-2115-v3-6.patch | 256 + .../patches/027-CVE-2016-2118-v3-6.patch | 308 + .../samba36/patches/100-configure_fixes.patch | 14 + .../samba36/patches/110-multicall.patch | 119 + .../samba36/patches/111-owrt_smbpasswd.patch | 281 + .../patches/120-add_missing_ifdef.patch | 41 + .../patches/200-remove_printer_support.patch | 346 + .../patches/210-remove_ad_support.patch | 88 + .../samba36/patches/220-remove_services.patch | 98 + .../patches/230-remove_winreg_support.patch | 146 + .../samba36/patches/240-remove_dfs_api.patch | 71 + .../patches/250-remove_domain_logon.patch | 213 + .../samba36/patches/260-remove_samr.patch | 162 + .../patches/270-remove_registry_backend.patch | 43 + .../samba36/patches/280-strip_srvsvc.patch | 143 + .../samba36/patches/290-remove_lsa.patch | 88 + .../patches/300-assert_debug_level.patch | 11 + .../patches/310-remove_error_strings.patch | 337 + .../patches/320-debug_level_checks.patch | 22 + .../patches/330-librpc_default_print.patch | 8854 ++++++ package/network/services/uhttpd/Makefile | 153 + .../services/uhttpd/files/ubus.default | 8 + .../services/uhttpd/files/uhttpd.config | 132 + .../network/services/uhttpd/files/uhttpd.init | 187 + package/network/utils/arptables/Makefile | 42 + package/network/utils/comgt/Makefile | 104 + package/network/utils/comgt/files/3g.chat | 12 + package/network/utils/comgt/files/3g.sh | 110 + package/network/utils/comgt/files/3g.usb | 33 + .../utils/comgt/files/directip-stop.gcom | 16 + .../network/utils/comgt/files/directip.gcom | 55 + package/network/utils/comgt/files/directip.sh | 114 + package/network/utils/comgt/files/evdo.chat | 17 + .../utils/comgt/files/getcardinfo.gcom | 14 + .../network/utils/comgt/files/getcarrier.gcom | 20 + .../network/utils/comgt/files/getcnum.gcom | 20 + .../network/utils/comgt/files/getimsi.gcom | 17 + .../utils/comgt/files/getstrength.gcom | 14 + package/network/utils/comgt/files/ncm.json | 67 + package/network/utils/comgt/files/ncm.sh | 195 + .../network/utils/comgt/files/runcommand.gcom | 31 + .../network/utils/comgt/files/setmode.gcom | 26 + package/network/utils/comgt/files/setpin.gcom | 55 + .../utils/comgt/patches/001-compile_fix.patch | 23 + .../utils/comgt/patches/002-termios.patch | 105 + .../utils/comgt/patches/003-no_XCASE.patch | 20 + .../utils/comgt/patches/004-check_tty.patch | 68 + .../network/utils/conntrack-tools/Makefile | 80 + .../conntrack-tools/files/conntrackd.init | 18 + package/network/utils/curl/Config.in | 159 + package/network/utils/curl/Makefile | 180 + .../curl/patches/200-no_docs_tests.patch | 22 + ...larssl-disable-runtime-version-check.patch | 22 + package/network/utils/dante/Makefile | 116 + .../dante/patches/200-fix-RTLD_NEXT.patch | 36 + package/network/utils/ebtables/Makefile | 72 + .../utils/ebtables/patches/100-musl_fix.patch | 181 + .../patches/200-fix-extension-init.patch | 249 + package/network/utils/iftop/Makefile | 43 + .../iftop/patches/110-fix-mac-display.patch | 67 + package/network/utils/iperf/Makefile | 56 + package/network/utils/iperf3/Makefile | 49 + package/network/utils/iproute2/Makefile | 148 + package/network/utils/iproute2/files/15-teql | 23 + .../utils/iproute2/patches/001-config.patch | 7 + .../iproute2/patches/004-darwin_fixes.patch | 59 + .../utils/iproute2/patches/006-no_sctp.patch | 18 + .../utils/iproute2/patches/007-no_arpd.patch | 15 + .../utils/iproute2/patches/008-no_netem.patch | 11 + .../iproute2/patches/010-type_fixes.patch | 396 + .../patches/100-allow_pfifo_fast.patch | 9 + .../iproute2/patches/110-extra-ccopts.patch | 11 + .../iproute2/patches/120-libnetlink-pic.patch | 11 + .../patches/130-missing_include.patch | 20 + .../utils/iproute2/patches/300-ip_tiny.patch | 101 + .../patches/900-drop_FAILED_POLICY.patch | 54 + .../910-sanitize_headers_for_musl.patch | 10 + .../patches/911-fix_in_h_include.patch | 30 + .../iproute2/patches/950-add-cake-to-tc.patch | 716 + package/network/utils/ipset/Makefile | 60 + package/network/utils/iptables/Makefile | 558 + .../020-iptables-disable-modprobe.patch | 18 + .../patches/030-no-libnfnetlink.patch | 94 + .../iptables/patches/050-optional-xml.patch | 13 + .../iptables/patches/100-bash-location.patch | 8 + .../patches/200-configurable_builtin.patch | 60 + .../iptables/patches/300-musl_fixes.patch | 127 + .../patches/500-add-xt_id-match.patch | 69 + .../iptables/patches/600-shared-libext.patch | 78 + .../700-disable-legacy-revisions.patch | 108 + package/network/utils/iputils/Makefile | 181 + .../utils/iputils/patches/001-iputils.patch | 14 + .../utils/iputils/patches/002-fix-ipv6.patch | 14 + .../iputils/patches/003-fix-makefile.patch | 18 + .../patches/010-ping6_uclibc_resolv.patch | 200 + .../patches/011-ping6_use_gnu_source.patch | 11 + .../iputils/patches/020-include_fixes.patch | 71 + package/network/utils/iw/Makefile | 57 + .../utils/iw/patches/001-nl80211_h_sync.patch | 21 + .../utils/iw/patches/120-antenna_gain.patch | 33 + .../utils/iw/patches/200-reduce_size.patch | 255 + package/network/utils/iwcap/Makefile | 46 + package/network/utils/iwcap/src/iwcap.c | 583 + package/network/utils/iwinfo/Makefile | 124 + package/network/utils/linux-atm/Makefile | 196 + .../network/utils/linux-atm/files/atm.hotplug | 1 + .../network/utils/linux-atm/files/br2684-up | 3 + .../network/utils/linux-atm/files/br2684ctl | 81 + .../utils/linux-atm/files/br2684ctl_wrap | 5 + .../linux-atm/patches/000-debian_16.patch | 270 + .../linux-atm/patches/200-no_libfl.patch | 179 + .../linux-atm/patches/300-objcopy_path.patch | 40 + .../patches/400-portability_fixes.patch | 56 + .../patches/500-br2684ctl_script.patch | 63 + .../patches/600-fix-format-errors.patch | 11 + package/network/utils/maccalc/Makefile | 43 + package/network/utils/maccalc/src/Makefile | 14 + package/network/utils/maccalc/src/main.c | 256 + package/network/utils/nftables/Makefile | 44 + .../patches/100-disable-doc-generation.patch | 8 + package/network/utils/owipcalc/Makefile | 44 + package/network/utils/owipcalc/src/owipcalc.c | 951 + package/network/utils/resolveip/Makefile | 41 + .../network/utils/resolveip/src/resolveip.c | 98 + package/network/utils/rssileds/Makefile | 44 + .../utils/rssileds/files/rssileds.init | 75 + package/network/utils/rssileds/src/rssileds.c | 290 + package/network/utils/tcpdump/Makefile | 90 + .../patches/001-remove_pcap_debug.patch | 23 + .../002-remove_static_libpcap_check.patch | 73 + .../tcpdump/patches/100-tcpdump_mini.patch | 844 + package/network/utils/umbim/Makefile | 46 + .../umbim/files/lib/netifd/proto/mbim.sh | 180 + package/network/utils/uqmi/Makefile | 50 + .../utils/uqmi/files/lib/netifd/proto/qmi.sh | 246 + package/network/utils/wireless-tools/Makefile | 92 + .../wireless-tools/patches/001-debian.patch | 35 + ...-fix-iwconfig-power-argument-parsing.patch | 13 + .../patches/003-we_essential_def.patch | 359 + .../patches/004-increase_iwlist_buffer.patch | 46 + package/network/utils/wpan-tools/Makefile | 36 + package/network/utils/wwan/Makefile | 45 + .../network/utils/wwan/files/data/0421-03a7 | 6 + .../network/utils/wwan/files/data/0421-060d | 6 + .../network/utils/wwan/files/data/0421-060e | 6 + .../network/utils/wwan/files/data/0421-0612 | 6 + .../network/utils/wwan/files/data/0421-0619 | 6 + .../network/utils/wwan/files/data/0421-061e | 6 + .../network/utils/wwan/files/data/0421-0623 | 6 + .../network/utils/wwan/files/data/0421-0629 | 6 + .../network/utils/wwan/files/data/0421-062d | 6 + .../network/utils/wwan/files/data/0421-062f | 6 + .../network/utils/wwan/files/data/0421-0638 | 6 + .../network/utils/wwan/files/data/05c6-0016 | 6 + .../network/utils/wwan/files/data/05c6-0023 | 5 + .../network/utils/wwan/files/data/05c6-00a0 | 6 + .../network/utils/wwan/files/data/05c6-6000 | 5 + .../network/utils/wwan/files/data/05c6-9000 | 5 + .../network/utils/wwan/files/data/07d1-3e01 | 5 + .../network/utils/wwan/files/data/07d1-3e02 | 5 + .../network/utils/wwan/files/data/07d1-7e11 | 6 + .../network/utils/wwan/files/data/0af0-4005 | 4 + .../network/utils/wwan/files/data/0af0-6901 | 5 + .../network/utils/wwan/files/data/0af0-7201 | 5 + .../network/utils/wwan/files/data/0af0-8120 | 4 + .../network/utils/wwan/files/data/0af0-9200 | 5 + .../network/utils/wwan/files/data/0b3c-c000 | 4 + .../network/utils/wwan/files/data/0b3c-c001 | 4 + .../network/utils/wwan/files/data/0b3c-c002 | 4 + .../network/utils/wwan/files/data/0b3c-c003 | 5 + .../network/utils/wwan/files/data/0b3c-c004 | 4 + .../network/utils/wwan/files/data/0b3c-c005 | 4 + .../network/utils/wwan/files/data/0b3c-c00a | 4 + .../network/utils/wwan/files/data/0b3c-c00b | 4 + .../network/utils/wwan/files/data/0bdb-1900 | 6 + .../network/utils/wwan/files/data/0bdb-1902 | 6 + .../network/utils/wwan/files/data/0bdb-190a | 6 + .../network/utils/wwan/files/data/0bdb-190d | 6 + .../network/utils/wwan/files/data/0bdb-1910 | 6 + .../network/utils/wwan/files/data/0c88-17da | 5 + .../network/utils/wwan/files/data/0c88-180a | 5 + .../network/utils/wwan/files/data/0f3d-68a2 | 4 + .../network/utils/wwan/files/data/0f3d-68aa | 5 + .../network/utils/wwan/files/data/1004-6124 | 6 + .../network/utils/wwan/files/data/1004-6141 | 6 + .../network/utils/wwan/files/data/1004-6157 | 6 + .../network/utils/wwan/files/data/1004-618f | 5 + .../network/utils/wwan/files/data/106c-3711 | 6 + .../network/utils/wwan/files/data/106c-3714 | 6 + .../network/utils/wwan/files/data/106c-3715 | 6 + .../network/utils/wwan/files/data/106c-3716 | 6 + .../network/utils/wwan/files/data/106c-3717 | 6 + .../network/utils/wwan/files/data/106c-3718 | 4 + .../network/utils/wwan/files/data/106c-3721 | 4 + .../network/utils/wwan/files/data/1199-0017 | 5 + .../network/utils/wwan/files/data/1199-0018 | 5 + .../network/utils/wwan/files/data/1199-0019 | 5 + .../network/utils/wwan/files/data/1199-0020 | 5 + .../network/utils/wwan/files/data/1199-0021 | 5 + .../network/utils/wwan/files/data/1199-0022 | 5 + .../network/utils/wwan/files/data/1199-0023 | 5 + .../network/utils/wwan/files/data/1199-0024 | 5 + .../network/utils/wwan/files/data/1199-0025 | 5 + .../network/utils/wwan/files/data/1199-0026 | 5 + .../network/utils/wwan/files/data/1199-0027 | 5 + .../network/utils/wwan/files/data/1199-0028 | 5 + .../network/utils/wwan/files/data/1199-0112 | 5 + .../network/utils/wwan/files/data/1199-0120 | 5 + .../network/utils/wwan/files/data/1199-0218 | 5 + .../network/utils/wwan/files/data/1199-0220 | 5 + .../network/utils/wwan/files/data/1199-0224 | 5 + .../network/utils/wwan/files/data/1199-0301 | 5 + .../network/utils/wwan/files/data/1199-6802 | 5 + .../network/utils/wwan/files/data/1199-6803 | 5 + .../network/utils/wwan/files/data/1199-6804 | 5 + .../network/utils/wwan/files/data/1199-6805 | 5 + .../network/utils/wwan/files/data/1199-6808 | 5 + .../network/utils/wwan/files/data/1199-6809 | 5 + .../network/utils/wwan/files/data/1199-6813 | 5 + .../network/utils/wwan/files/data/1199-6815 | 5 + .../network/utils/wwan/files/data/1199-6816 | 5 + .../network/utils/wwan/files/data/1199-6820 | 5 + .../network/utils/wwan/files/data/1199-6821 | 5 + .../network/utils/wwan/files/data/1199-6822 | 5 + .../network/utils/wwan/files/data/1199-6833 | 5 + .../network/utils/wwan/files/data/1199-6834 | 5 + .../network/utils/wwan/files/data/1199-6835 | 5 + .../network/utils/wwan/files/data/1199-6838 | 5 + .../network/utils/wwan/files/data/1199-6839 | 5 + .../network/utils/wwan/files/data/1199-683a | 5 + .../network/utils/wwan/files/data/1199-683b | 5 + .../network/utils/wwan/files/data/1199-6850 | 5 + .../network/utils/wwan/files/data/1199-6851 | 5 + .../network/utils/wwan/files/data/1199-6852 | 5 + .../network/utils/wwan/files/data/1199-6853 | 5 + .../network/utils/wwan/files/data/1199-6855 | 5 + .../network/utils/wwan/files/data/1199-6856 | 5 + .../network/utils/wwan/files/data/1199-6859 | 5 + .../network/utils/wwan/files/data/1199-685a | 5 + .../network/utils/wwan/files/data/1199-6880 | 5 + .../network/utils/wwan/files/data/1199-6890 | 5 + .../network/utils/wwan/files/data/1199-6891 | 5 + .../network/utils/wwan/files/data/1199-6892 | 5 + .../network/utils/wwan/files/data/1199-6893 | 5 + .../network/utils/wwan/files/data/1199-68a2 | 4 + .../network/utils/wwan/files/data/1199-68aa | 5 + .../network/utils/wwan/files/data/12d1-1035 | 5 + .../network/utils/wwan/files/data/12d1-1404 | 4 + .../network/utils/wwan/files/data/12d1-1406 | 5 + .../network/utils/wwan/files/data/12d1-140b | 5 + .../network/utils/wwan/files/data/12d1-140c | 4 + .../network/utils/wwan/files/data/12d1-1412 | 5 + .../network/utils/wwan/files/data/12d1-141b | 5 + .../network/utils/wwan/files/data/12d1-1433 | 5 + .../network/utils/wwan/files/data/12d1-1436 | 5 + .../network/utils/wwan/files/data/12d1-1444 | 5 + .../network/utils/wwan/files/data/12d1-144e | 5 + .../network/utils/wwan/files/data/12d1-1464 | 5 + .../network/utils/wwan/files/data/12d1-1465 | 5 + .../network/utils/wwan/files/data/12d1-1491 | 5 + .../network/utils/wwan/files/data/12d1-14a5 | 5 + .../network/utils/wwan/files/data/12d1-14a8 | 5 + .../network/utils/wwan/files/data/12d1-14ac | 4 + .../network/utils/wwan/files/data/12d1-14ae | 5 + .../network/utils/wwan/files/data/12d1-14c6 | 4 + .../network/utils/wwan/files/data/12d1-14c8 | 4 + .../network/utils/wwan/files/data/12d1-14c9 | 4 + .../network/utils/wwan/files/data/12d1-14ca | 4 + .../network/utils/wwan/files/data/12d1-14cb | 5 + .../network/utils/wwan/files/data/12d1-14cc | 4 + .../network/utils/wwan/files/data/12d1-14cf | 5 + .../network/utils/wwan/files/data/12d1-14d2 | 4 + .../network/utils/wwan/files/data/12d1-1506 | 5 + .../network/utils/wwan/files/data/12d1-150a | 4 + .../network/utils/wwan/files/data/12d1-150c | 4 + .../network/utils/wwan/files/data/12d1-150f | 4 + .../network/utils/wwan/files/data/12d1-151b | 4 + .../network/utils/wwan/files/data/12d1-151d | 5 + .../network/utils/wwan/files/data/12d1-156c | 5 + .../network/utils/wwan/files/data/12d1-1576 | 4 + .../network/utils/wwan/files/data/12d1-1577 | 4 + .../network/utils/wwan/files/data/12d1-1578 | 4 + .../network/utils/wwan/files/data/12d1-1589 | 4 + .../network/utils/wwan/files/data/12d1-1c05 | 5 + .../network/utils/wwan/files/data/12d1-1c07 | 5 + .../network/utils/wwan/files/data/12d1-1c08 | 5 + .../network/utils/wwan/files/data/12d1-1c10 | 5 + .../network/utils/wwan/files/data/12d1-1c12 | 5 + .../network/utils/wwan/files/data/12d1-1c1e | 4 + .../network/utils/wwan/files/data/12d1-1c1f | 4 + .../network/utils/wwan/files/data/12d1-1c23 | 5 + .../network/utils/wwan/files/data/12d1-1f16 | 4 + .../network/utils/wwan/files/data/1410-1400 | 5 + .../network/utils/wwan/files/data/1410-1410 | 5 + .../network/utils/wwan/files/data/1410-1420 | 5 + .../network/utils/wwan/files/data/1410-1430 | 5 + .../network/utils/wwan/files/data/1410-1450 | 5 + .../network/utils/wwan/files/data/1410-2100 | 5 + .../network/utils/wwan/files/data/1410-2110 | 5 + .../network/utils/wwan/files/data/1410-2120 | 5 + .../network/utils/wwan/files/data/1410-2130 | 5 + .../network/utils/wwan/files/data/1410-2400 | 5 + .../network/utils/wwan/files/data/1410-2410 | 5 + .../network/utils/wwan/files/data/1410-2420 | 5 + .../network/utils/wwan/files/data/1410-4100 | 5 + .../network/utils/wwan/files/data/1410-4400 | 5 + .../network/utils/wwan/files/data/1410-6000 | 5 + .../network/utils/wwan/files/data/1410-6001 | 5 + .../network/utils/wwan/files/data/1410-6002 | 5 + .../network/utils/wwan/files/data/1410-6010 | 5 + .../network/utils/wwan/files/data/1410-7001 | 5 + .../network/utils/wwan/files/data/1410-7003 | 5 + .../network/utils/wwan/files/data/1410-7030 | 5 + .../network/utils/wwan/files/data/1410-7031 | 6 + .../network/utils/wwan/files/data/1410-7041 | 5 + .../network/utils/wwan/files/data/1410-7042 | 5 + .../network/utils/wwan/files/data/1410-9011 | 4 + .../network/utils/wwan/files/data/1410-b001 | 4 + .../network/utils/wwan/files/data/1529-3100 | 6 + .../network/utils/wwan/files/data/16d5-6202 | 5 + .../network/utils/wwan/files/data/16d5-6501 | 5 + .../network/utils/wwan/files/data/16d5-6502 | 5 + .../network/utils/wwan/files/data/16d5-6603 | 6 + .../network/utils/wwan/files/data/16d5-900d | 6 + .../network/utils/wwan/files/data/16d8-5141 | 6 + .../network/utils/wwan/files/data/16d8-5533 | 6 + .../network/utils/wwan/files/data/16d8-5543 | 6 + .../network/utils/wwan/files/data/16d8-5553 | 6 + .../network/utils/wwan/files/data/16d8-6002 | 5 + .../network/utils/wwan/files/data/16d8-6006 | 5 + .../network/utils/wwan/files/data/16d8-6007 | 4 + .../network/utils/wwan/files/data/16d8-6008 | 4 + .../network/utils/wwan/files/data/16d8-6522 | 6 + .../network/utils/wwan/files/data/16d8-6523 | 6 + .../network/utils/wwan/files/data/16d8-6532 | 6 + .../network/utils/wwan/files/data/16d8-6533 | 6 + .../network/utils/wwan/files/data/16d8-6543 | 6 + .../network/utils/wwan/files/data/16d8-680a | 6 + .../network/utils/wwan/files/data/19d2-0001 | 5 + .../network/utils/wwan/files/data/19d2-0002 | 4 + .../network/utils/wwan/files/data/19d2-0015 | 5 + .../network/utils/wwan/files/data/19d2-0016 | 5 + .../network/utils/wwan/files/data/19d2-0017 | 4 + .../network/utils/wwan/files/data/19d2-0018 | 5 + .../network/utils/wwan/files/data/19d2-0019 | 4 + .../network/utils/wwan/files/data/19d2-0022 | 5 + .../network/utils/wwan/files/data/19d2-0024 | 5 + .../network/utils/wwan/files/data/19d2-0025 | 4 + .../network/utils/wwan/files/data/19d2-0031 | 4 + .../network/utils/wwan/files/data/19d2-0033 | 5 + .../network/utils/wwan/files/data/19d2-0037 | 5 + .../network/utils/wwan/files/data/19d2-0039 | 5 + .../network/utils/wwan/files/data/19d2-0042 | 4 + .../network/utils/wwan/files/data/19d2-0052 | 4 + .../network/utils/wwan/files/data/19d2-0055 | 4 + .../network/utils/wwan/files/data/19d2-0057 | 5 + .../network/utils/wwan/files/data/19d2-0063 | 4 + .../network/utils/wwan/files/data/19d2-0064 | 5 + .../network/utils/wwan/files/data/19d2-0066 | 5 + .../network/utils/wwan/files/data/19d2-0073 | 5 + .../network/utils/wwan/files/data/19d2-0079 | 5 + .../network/utils/wwan/files/data/19d2-0082 | 5 + .../network/utils/wwan/files/data/19d2-0086 | 5 + .../network/utils/wwan/files/data/19d2-0091 | 5 + .../network/utils/wwan/files/data/19d2-0094 | 5 + .../network/utils/wwan/files/data/19d2-0104 | 4 + .../network/utils/wwan/files/data/19d2-0108 | 5 + .../network/utils/wwan/files/data/19d2-0116 | 6 + .../network/utils/wwan/files/data/19d2-0117 | 5 + .../network/utils/wwan/files/data/19d2-0121 | 4 + .../network/utils/wwan/files/data/19d2-0124 | 4 + .../network/utils/wwan/files/data/19d2-0128 | 5 + .../network/utils/wwan/files/data/19d2-0142 | 6 + .../network/utils/wwan/files/data/19d2-0143 | 6 + .../network/utils/wwan/files/data/19d2-0152 | 5 + .../network/utils/wwan/files/data/19d2-0157 | 4 + .../network/utils/wwan/files/data/19d2-0167 | 4 + .../network/utils/wwan/files/data/19d2-0170 | 6 + .../network/utils/wwan/files/data/19d2-0199 | 4 + .../network/utils/wwan/files/data/19d2-0257 | 4 + .../network/utils/wwan/files/data/19d2-0265 | 4 + .../network/utils/wwan/files/data/19d2-0284 | 4 + .../network/utils/wwan/files/data/19d2-0326 | 4 + .../network/utils/wwan/files/data/19d2-1003 | 6 + .../network/utils/wwan/files/data/19d2-1008 | 4 + .../network/utils/wwan/files/data/19d2-1010 | 4 + .../network/utils/wwan/files/data/19d2-1015 | 6 + .../network/utils/wwan/files/data/19d2-1018 | 4 + .../network/utils/wwan/files/data/19d2-1172 | 6 + .../network/utils/wwan/files/data/19d2-1173 | 6 + .../network/utils/wwan/files/data/19d2-1176 | 4 + .../network/utils/wwan/files/data/19d2-1177 | 6 + .../network/utils/wwan/files/data/19d2-1181 | 6 + .../network/utils/wwan/files/data/19d2-1203 | 6 + .../network/utils/wwan/files/data/19d2-1208 | 6 + .../network/utils/wwan/files/data/19d2-1211 | 6 + .../network/utils/wwan/files/data/19d2-1212 | 6 + .../network/utils/wwan/files/data/19d2-1217 | 6 + .../network/utils/wwan/files/data/19d2-1218 | 6 + .../network/utils/wwan/files/data/19d2-1220 | 6 + .../network/utils/wwan/files/data/19d2-1222 | 6 + .../network/utils/wwan/files/data/19d2-1245 | 4 + .../network/utils/wwan/files/data/19d2-1252 | 4 + .../network/utils/wwan/files/data/19d2-1254 | 4 + .../network/utils/wwan/files/data/19d2-1256 | 4 + .../network/utils/wwan/files/data/19d2-1270 | 4 + .../network/utils/wwan/files/data/19d2-1401 | 4 + .../network/utils/wwan/files/data/19d2-1402 | 4 + .../network/utils/wwan/files/data/19d2-1426 | 4 + .../network/utils/wwan/files/data/19d2-1512 | 6 + .../network/utils/wwan/files/data/19d2-1515 | 6 + .../network/utils/wwan/files/data/19d2-1518 | 6 + .../network/utils/wwan/files/data/19d2-1519 | 6 + .../network/utils/wwan/files/data/19d2-1522 | 6 + .../network/utils/wwan/files/data/19d2-1525 | 6 + .../network/utils/wwan/files/data/19d2-1527 | 6 + .../network/utils/wwan/files/data/19d2-1537 | 6 + .../network/utils/wwan/files/data/19d2-1538 | 6 + .../network/utils/wwan/files/data/19d2-1544 | 6 + .../network/utils/wwan/files/data/19d2-2002 | 4 + .../network/utils/wwan/files/data/19d2-2003 | 5 + .../network/utils/wwan/files/data/19d2-ffdd | 5 + .../network/utils/wwan/files/data/19d2-ffe4 | 6 + .../network/utils/wwan/files/data/19d2-ffe9 | 5 + .../network/utils/wwan/files/data/19d2-fff1 | 5 + .../network/utils/wwan/files/data/19d2-fffb | 5 + .../network/utils/wwan/files/data/19d2-fffc | 5 + .../network/utils/wwan/files/data/19d2-fffd | 5 + .../network/utils/wwan/files/data/19d2-fffe | 5 + .../network/utils/wwan/files/data/19d2-ffff | 5 + .../network/utils/wwan/files/data/1a8d-1002 | 5 + .../network/utils/wwan/files/data/1a8d-1003 | 5 + .../network/utils/wwan/files/data/1a8d-1007 | 5 + .../network/utils/wwan/files/data/1a8d-1009 | 5 + .../network/utils/wwan/files/data/1a8d-100c | 5 + .../network/utils/wwan/files/data/1a8d-100d | 5 + .../network/utils/wwan/files/data/1a8d-2006 | 6 + .../network/utils/wwan/files/data/1bbb-0000 | 5 + .../network/utils/wwan/files/data/1bbb-0012 | 6 + .../network/utils/wwan/files/data/1bbb-0017 | 5 + .../network/utils/wwan/files/data/1bbb-0052 | 5 + .../network/utils/wwan/files/data/1bbb-00b7 | 5 + .../network/utils/wwan/files/data/1bbb-00ca | 6 + .../network/utils/wwan/files/data/1bbb-011e | 4 + .../network/utils/wwan/files/data/1bbb-0203 | 4 + .../network/utils/wwan/files/data/1c9e-6060 | 6 + .../network/utils/wwan/files/data/1c9e-6061 | 6 + .../network/utils/wwan/files/data/1c9e-9000 | 6 + .../network/utils/wwan/files/data/1c9e-9603 | 5 + .../network/utils/wwan/files/data/1c9e-9605 | 5 + .../network/utils/wwan/files/data/1c9e-9607 | 5 + .../network/utils/wwan/files/data/1c9e-9801 | 6 + .../network/utils/wwan/files/data/1c9e-9900 | 6 + .../network/utils/wwan/files/data/1e0e-9000 | 5 + .../network/utils/wwan/files/data/1e0e-9100 | 5 + .../network/utils/wwan/files/data/1e0e-9200 | 5 + .../network/utils/wwan/files/data/1e0e-ce16 | 5 + .../network/utils/wwan/files/data/1e0e-cefe | 6 + .../network/utils/wwan/files/data/2001-7d00 | 6 + .../network/utils/wwan/files/data/2001-7d01 | 5 + .../network/utils/wwan/files/data/2001-7d02 | 5 + .../network/utils/wwan/files/data/2001-7d03 | 5 + .../network/utils/wwan/files/data/211f-6801 | 5 + .../network/utils/wwan/files/data/2357-0201 | 4 + .../network/utils/wwan/files/data/2357-0202 | 4 + .../network/utils/wwan/files/data/2357-0203 | 4 + .../network/utils/wwan/files/data/2357-9000 | 4 + .../network/utils/wwan/files/data/413c-8114 | 5 + .../network/utils/wwan/files/data/413c-8115 | 5 + .../network/utils/wwan/files/data/413c-8116 | 5 + .../network/utils/wwan/files/data/413c-8117 | 5 + .../network/utils/wwan/files/data/413c-8118 | 5 + .../network/utils/wwan/files/data/413c-8128 | 5 + .../network/utils/wwan/files/data/413c-8129 | 5 + .../network/utils/wwan/files/data/413c-8133 | 5 + .../network/utils/wwan/files/data/413c-8134 | 5 + .../network/utils/wwan/files/data/413c-8135 | 5 + .../network/utils/wwan/files/data/413c-8136 | 5 + .../network/utils/wwan/files/data/413c-8137 | 5 + .../network/utils/wwan/files/data/413c-8138 | 5 + .../network/utils/wwan/files/data/413c-8147 | 6 + .../network/utils/wwan/files/data/413c-8180 | 5 + .../network/utils/wwan/files/data/413c-8181 | 5 + .../network/utils/wwan/files/data/413c-8182 | 5 + .../network/utils/wwan/files/data/413c-8186 | 4 + .../network/utils/wwan/files/data/413c-8194 | 4 + .../network/utils/wwan/files/data/413c-8195 | 4 + .../network/utils/wwan/files/data/413c-8196 | 4 + .../network/utils/wwan/files/data/413c-819b | 5 + package/network/utils/wwan/files/wwan.sh | 119 + package/network/utils/wwan/files/wwan.usb | 18 + package/network/utils/wwan/files/wwan.usbmisc | 27 + package/network/utils/xtables-addons/Makefile | 151 + .../002-fix-kernel-version-detection.patch | 11 + .../patches/100-add-rtsp-conntrack.patch | 1526 + .../patches/200-add-lua-packetscript.patch | 18158 +++++++++++ .../patches/201-fix-lua-packetscript.patch | 107 + .../patches/300-geoip-endian-detection.patch | 18 + package/system/ca-certificates/Makefile | 62 + package/system/fstools/Makefile | 110 + package/system/fstools/files/fstab.default | 2 + package/system/fstools/files/fstab.init | 16 + package/system/fstools/files/mount.hotplug | 1 + package/system/fstools/files/snapshot | 111 + package/system/fwtool/Makefile | 47 + package/system/fwtool/src/crc32.h | 48 + package/system/fwtool/src/fwimage.h | 39 + package/system/fwtool/src/fwtool.c | 443 + package/system/fwtool/src/utils.h | 116 + package/system/lede-keyring/Makefile | 40 + package/system/mountd/Makefile | 48 + package/system/mountd/files/mountd.config | 3 + package/system/mountd/files/mountd.init | 22 + package/system/mtd/Makefile | 49 + package/system/mtd/src/Makefile | 24 + package/system/mtd/src/crc32.c | 95 + package/system/mtd/src/crc32.h | 26 + package/system/mtd/src/fis.c | 262 + package/system/mtd/src/fis.h | 14 + package/system/mtd/src/imagetag.c | 410 + package/system/mtd/src/jffs2.c | 366 + package/system/mtd/src/jffs2.h | 216 + package/system/mtd/src/linksys_bootcount.c | 115 + package/system/mtd/src/md5.c | 307 + package/system/mtd/src/md5.h | 65 + package/system/mtd/src/mtd.c | 1027 + package/system/mtd/src/mtd.h | 32 + package/system/mtd/src/seama.c | 188 + package/system/mtd/src/seama.h | 108 + package/system/mtd/src/trx.c | 247 + package/system/mtd/src/wrgg.c | 190 + package/system/mtd/src/wrgg.h | 20 + package/system/opkg/Makefile | 198 + package/system/opkg/files/20_migrate-feeds | 9 + package/system/opkg/files/customfeeds.conf | 3 + package/system/opkg/files/opkg-key | 56 + package/system/opkg/files/opkg-smime.conf | 6 + package/system/opkg/files/opkg.conf | 4 + .../system/opkg/patches/001-ship-pkg-m4.patch | 168 + .../system/opkg/patches/002-no-shave.patch | 37 + .../system/opkg/patches/004-host_cpu.patch | 20 + .../opkg/patches/007-force_static.patch | 71 + .../opkg/patches/009-remove-upgrade-all.patch | 41 + .../patches/011-old-config-location.patch | 12 + ...-strip-trailing-conffiles-whitespace.patch | 23 + .../opkg/patches/014-errors-to-stderr.patch | 15 + .../opkg/patches/020-avoid_getline.patch | 317 + .../opkg/patches/030-fix-double-free.patch | 10 + .../040-wrap-descriptions-only-on-ttys.patch | 31 + .../050-add-case-insensitive-flag.patch | 169 + .../opkg/patches/060-add-find-command.patch | 58 + .../patches/070-use_gzipped_pkg_list.patch | 120 + .../080-suppress-blank-package-fields.patch | 16 + .../090-suppress-blank-provides-field.patch | 11 + .../opkg/patches/100-add-force-checksum.patch | 85 + package/system/opkg/patches/110-upgrade.patch | 50 + .../opkg/patches/200-usign_support.patch | 91 + .../patches/210-add-force-signature.patch | 70 + .../patches/220-drop-release-support.patch | 812 + .../opkg/patches/230-drop_md5_support.patch | 192 + .../240-fix-force-checksum-for-sha256.patch | 31 + .../patches/250-add-lists-dir-switch.patch | 39 + .../patches/260-add-print-package-size.patch | 74 + .../opkg/patches/270-fix-use-after-free.patch | 11 + ...-prerm-and-postrm-scripts-on-upgrade.patch | 73 + package/system/procd/Makefile | 156 + .../system/procd/files/hotplug-preinit.json | 18 + package/system/procd/files/hotplug.json | 69 + package/system/procd/files/nand-preinit.sh | 21 + package/system/procd/files/nand.sh | 366 + package/system/procd/files/procd.sh | 460 + package/system/procd/files/reload_config | 15 + package/system/rpcd/Makefile | 98 + package/system/rpcd/files/rpcd.config | 7 + package/system/rpcd/files/rpcd.init | 21 + package/system/ubox/Makefile | 49 + package/system/ubox/files/log.init | 100 + package/system/ubus/Makefile | 80 + package/system/uci/Makefile | 94 + package/system/uci/files/lib/config/uci.sh | 137 + package/system/usign/Makefile | 46 + package/system/zram-swap/Makefile | 46 + package/system/zram-swap/files/zram.init | 132 + package/utils/admswconfig/Makefile | 54 + package/utils/admswconfig/files/admswconfig | 68 + .../utils/admswconfig/files/admswswitch.sh | 28 + .../admswconfig/patches/001-matrix.patch | 15 + .../admswconfig/patches/002-fix-musl.patch | 11 + package/utils/bsdiff/Makefile | 79 + package/utils/bsdiff/patches/001-musl.patch | 84 + package/utils/busybox/Config-defaults.in | 2805 ++ package/utils/busybox/Config.in | 26 + package/utils/busybox/Makefile | 121 + package/utils/busybox/config/Config.in | 865 + .../utils/busybox/config/archival/Config.in | 379 + .../busybox/config/console-tools/Config.in | 176 + .../utils/busybox/config/coreutils/Config.in | 987 + .../busybox/config/debianutils/Config.in | 80 + .../utils/busybox/config/e2fsprogs/Config.in | 67 + .../config/e2fsprogs/old_e2fsprogs/Config.in | 69 + .../utils/busybox/config/editors/Config.in | 234 + .../utils/busybox/config/findutils/Config.in | 269 + package/utils/busybox/config/init/Config.in | 199 + package/utils/busybox/config/libbb/Config.in | 273 + .../utils/busybox/config/loginutils/Config.in | 338 + .../utils/busybox/config/mailutils/Config.in | 55 + .../utils/busybox/config/miscutils/Config.in | 792 + .../utils/busybox/config/modutils/Config.in | 266 + .../utils/busybox/config/networking/Config.in | 1165 + .../busybox/config/networking/udhcp/Config.in | 171 + .../utils/busybox/config/printutils/Config.in | 26 + package/utils/busybox/config/procps/Config.in | 273 + package/utils/busybox/config/runit/Config.in | 84 + .../utils/busybox/config/selinux/Config.in | 124 + package/utils/busybox/config/shell/Config.in | 444 + .../utils/busybox/config/sysklogd/Config.in | 166 + .../utils/busybox/config/util-linux/Config.in | 830 + .../config/util-linux/volume_id/Config.in | 312 + package/utils/busybox/convert_defaults.pl | 13 + package/utils/busybox/convert_menuconfig.pl | 76 + package/utils/busybox/files/cron | 38 + package/utils/busybox/files/ntpd-hotplug | 2 + package/utils/busybox/files/sysntpd | 86 + .../patches/001-resource_h_include.patch | 10 + ...om-do-not-require-that-to-should-hav.patch | 37 + .../busybox/patches/100-trylink_bash.patch | 8 + .../patches/101-gen_build_files_bash.patch | 8 + .../patches/102-trylink_mktemp_fix.patch | 20 + .../patches/110-no_static_libgcc.patch | 11 + .../patches/120-remove_uclibc_rpc_check.patch | 12 + .../patches/130-mconf_missing_sigwinch.patch | 13 + .../patches/200-udhcpc_reduce_msgs.patch | 18 + .../patches/201-udhcpc_changed_ifindex.patch | 15 + .../203-udhcpc_renew_no_deconfig.patch | 10 + .../busybox/patches/210-add_netmsg_util.patch | 103 + .../busybox/patches/220-add_lock_util.patch | 182 + .../busybox/patches/240-telnetd_intr.patch | 10 + .../busybox/patches/250-date-k-flag.patch | 91 + .../270-libbb_make_unicode_printable.patch | 20 + .../301-ip-link-fix-netlink-msg-size.patch | 11 + .../patches/302-netlink-alignment.patch | 100 + .../303-ip-route-fix-high-table-ids.patch | 486 + package/utils/bzip2/Makefile | 106 + package/utils/e2fsprogs/Makefile | 259 + package/utils/e2fsprogs/files/e2fsck.conf | 3 + package/utils/e2fsprogs/files/e2fsck.sh | 38 + .../patches/001-com_err_version.patch | 13 + .../patches/002-fix-subst-host-build.patch | 10 + package/utils/f2fs-tools/Makefile | 90 + .../f2fs-tools/patches/001-compile.patch | 19 + .../patches/010-include-byteswap-h.patch | 10 + .../f2fs-tools/patches/020-no_selinux.patch | 55 + package/utils/fbtest/Makefile | 39 + package/utils/fbtest/src/Makefile | 14 + package/utils/fbtest/src/fbtest.c | 446 + package/utils/fuse/Makefile | 101 + .../fuse/patches/100-missing_includes.patch | 10 + .../fuse/patches/112-no_break_on_mknod.patch | 11 + ...t_arm64_fuse_kernel_h_clean_includes.patch | 30 + package/utils/jsonfilter/Makefile | 34 + package/utils/lua/Makefile | 177 + .../010-lua-5.1.3-lnum-full-260308.patch | 3747 +++ .../patches-host/011-lnum-use-double.patch | 11 + ...2-lnum-fix-ltle-relational-operators.patch | 22 + .../patches-host/015-lnum-ppc-compat.patch | 11 + .../030-archindependent-bytecode.patch | 111 + .../lua/patches-host/100-no_readline.patch | 49 + .../010-lua-5.1.3-lnum-full-260308.patch | 3736 +++ .../lua/patches/011-lnum-use-double.patch | 11 + ...2-lnum-fix-ltle-relational-operators.patch | 22 + .../lua/patches/015-lnum-ppc-compat.patch | 11 + .../utils/lua/patches/020-shared_liblua.patch | 140 + .../030-archindependent-bytecode.patch | 111 + .../patches/040-use-symbolic-functions.patch | 11 + .../utils/lua/patches/050-honor-cflags.patch | 11 + .../utils/lua/patches/100-no_readline.patch | 49 + package/utils/lua/patches/200-lua-path.patch | 15 + .../lua/patches/300-opcode_performance.patch | 363 + package/utils/mdadm/Makefile | 62 + package/utils/mdadm/files/mdadm.config | 3 + package/utils/mdadm/files/mdadm.init | 34 + package/utils/mdadm/patches/000-compile.patch | 11 + .../mdadm/patches/100-cross_compile.patch | 19 + .../utils/mdadm/patches/200-reduce_size.patch | 25 + package/utils/mtd-utils/Makefile | 80 + .../mtd-utils/patches/010-fix-rpmatch.patch | 19 + .../mtd-utils/patches/100-fix_includes.patch | 10 + .../mtd-utils/patches/130-lzma_jffs2.patch | 5029 +++ package/utils/nvram/Makefile | 51 + package/utils/nvram/files/nvram.init | 98 + package/utils/nvram/src/Makefile | 7 + package/utils/nvram/src/cli.c | 246 + package/utils/nvram/src/crc.c | 69 + package/utils/nvram/src/nvram.c | 540 + package/utils/nvram/src/nvram.h | 123 + package/utils/nvram/src/sdinitvals.h | 30 + package/utils/osafeloader/Makefile | 38 + package/utils/osafeloader/src/Makefile | 7 + package/utils/osafeloader/src/md5.c | 296 + package/utils/osafeloader/src/md5.h | 45 + package/utils/osafeloader/src/osafeloader.c | 263 + package/utils/oseama/Makefile | 40 + package/utils/oseama/src/Makefile | 7 + package/utils/oseama/src/md5.c | 296 + package/utils/oseama/src/md5.h | 45 + package/utils/oseama/src/oseama.c | 556 + package/utils/otrx/Makefile | 40 + package/utils/otrx/src/Makefile | 7 + package/utils/otrx/src/otrx.c | 577 + package/utils/px5g-standalone/Makefile | 36 + package/utils/px5g-standalone/src/Makefile | 14 + .../px5g-standalone/src/library/base64.c | 264 + .../px5g-standalone/src/library/bignum.c | 2010 ++ .../utils/px5g-standalone/src/library/rsa.c | 750 + .../utils/px5g-standalone/src/library/sha1.c | 622 + .../px5g-standalone/src/library/timing.c | 265 + .../px5g-standalone/src/library/x509write.c | 1162 + .../px5g-standalone/src/polarssl/base64.h | 93 + .../px5g-standalone/src/polarssl/bignum.h | 437 + .../px5g-standalone/src/polarssl/bn_mul.h | 731 + .../px5g-standalone/src/polarssl/config.h | 329 + .../utils/px5g-standalone/src/polarssl/rsa.h | 309 + .../utils/px5g-standalone/src/polarssl/sha1.h | 150 + .../px5g-standalone/src/polarssl/timing.h | 81 + .../utils/px5g-standalone/src/polarssl/x509.h | 549 + package/utils/px5g-standalone/src/px5g.c | 213 + package/utils/px5g/Makefile | 63 + package/utils/px5g/px5g.c | 289 + package/utils/spidev_test/Makefile | 40 + package/utils/spidev_test/src/spidev_test.c | 318 + package/utils/ugps/Makefile | 51 + package/utils/ugps/files/gps.config | 3 + package/utils/ugps/files/ugps.init | 24 + package/utils/usbmode/Makefile | 71 + package/utils/usbmode/data/12d1-1f16 | 2 + package/utils/usbmode/files/usbmode.hotplug | 1 + package/utils/usbmode/files/usbmode.init | 12 + package/utils/usbreset/Makefile | 39 + package/utils/usbreset/src/usbreset.c | 235 + package/utils/usbutils/Makefile | 61 + package/utils/util-linux/Makefile | 701 + .../0001-fix-uClibc-ng-scanf-check.patch | 34 + .../patches/003-fix_pkgconfig_files.patch | 76 + package/utils/xfsprogs/Makefile | 89 + .../patches/001-automake-compat.patch | 78 + .../utils/xfsprogs/patches/100-no_aio.patch | 19 + .../patches/110-uclibc_no_ustat.patch | 32 + .../xfsprogs/patches/120-portability.patch | 45 + .../patches/130-uclibc_no_xattr.patch | 32 + .../utils/xfsprogs/patches/140-no_po.patch | 19 + .../xfsprogs/patches/150-include_fixes.patch | 72 + .../patches/160-format-security.patch | 29 + rules.mk | 401 + scripts/arm-magic.sh | 42 + scripts/brcmImage.pl | 162 + scripts/bundle-libraries.sh | 110 + scripts/checkpatch.pl | 3490 +++ scripts/clang-gcc-wrapper | 12 + scripts/clean-package.sh | 24 + scripts/cleanfile | 176 + scripts/cleanpatch | 258 + scripts/combined-ext-image.sh | 61 + scripts/combined-image.sh | 34 + scripts/config.guess | 1438 + scripts/config.rpath | 666 + scripts/config.sub | 1813 ++ scripts/config/.gitignore | 9 + scripts/config/Makefile | 52 + scripts/config/README | 2 + scripts/config/conf.c | 703 + scripts/config/confdata.c | 1252 + scripts/config/expr.c | 1206 + scripts/config/expr.h | 239 + scripts/config/list.h | 131 + scripts/config/lkc.h | 187 + scripts/config/lkc_proto.h | 53 + scripts/config/lxdialog/.gitignore | 2 + scripts/config/lxdialog/check-lxdialog.sh | 91 + scripts/config/lxdialog/checklist.c | 332 + scripts/config/lxdialog/dialog.h | 257 + scripts/config/lxdialog/inputbox.c | 301 + scripts/config/lxdialog/menubox.c | 437 + scripts/config/lxdialog/textbox.c | 408 + scripts/config/lxdialog/util.c | 713 + scripts/config/lxdialog/yesno.c | 114 + scripts/config/mconf.c | 1053 + scripts/config/menu.c | 697 + scripts/config/symbol.c | 1386 + scripts/config/util.c | 147 + scripts/config/zconf.gperf | 49 + scripts/config/zconf.hash.c_shipped | 250 + scripts/config/zconf.l | 427 + scripts/config/zconf.lex.c_shipped | 2474 ++ scripts/config/zconf.tab.c_shipped | 2478 ++ scripts/config/zconf.y | 754 + scripts/deptest.sh | 211 + scripts/diffconfig.sh | 16 + scripts/dl_cleanup.py | 237 + scripts/download.pl | 268 + scripts/env | 226 + scripts/ext-toolchain.sh | 581 + scripts/feeds | 825 + scripts/flashing/adam2flash-502T.pl | 342 + scripts/flashing/adam2flash-fritzbox.pl | 209 + scripts/flashing/adam2flash.pl | 174 + scripts/flashing/adsl2mue_flash.pl | 170 + scripts/flashing/flash.sh | 66 + scripts/flashing/jungo-image.py | 283 + scripts/gen-dependencies.sh | 33 + scripts/get_source_date_epoch.sh | 25 + scripts/getver.sh | 58 + scripts/ipkg-build | 160 + scripts/ipkg-make-index.sh | 34 + scripts/kconfig.pl | 182 + scripts/make-ipkg-dir.sh | 21 + scripts/md5sum | 2 + scripts/metadata.pm | 270 + scripts/mkits.sh | 117 + scripts/om-fwupgradecfg-gen.sh | 77 + scripts/openbsd.sh | 24 + scripts/package-metadata.pl | 662 + scripts/pad_image | 100 + scripts/patch-kernel.sh | 54 + scripts/patch-specs.sh | 90 + scripts/portable_date.sh | 11 + scripts/redboot-script.pl | 111 + scripts/relink-lib.sh | 14 + scripts/remote-gdb | 89 + scripts/rstrip.sh | 49 + scripts/slugimage.pl | 1217 + scripts/srecimage.pl | 57 + scripts/strip-kmod.sh | 55 + scripts/symlink-tree.sh | 51 + scripts/sysupgrade-tar.sh | 73 + scripts/target-metadata.pl | 440 + scripts/timestamp.pl | 69 + scripts/ubinize-image.sh | 139 + scripts/update-package-md5sum | 38 + target/Config.in | 207 + target/Makefile | 22 + target/imagebuilder/Config.in | 16 + target/imagebuilder/Makefile | 88 + target/imagebuilder/files/Makefile | 204 + target/imagebuilder/files/repositories.conf | 4 + target/linux/Makefile | 13 + target/linux/ar71xx/Makefile | 24 + .../ar71xx/base-files/etc/board.d/01_leds | 763 + .../ar71xx/base-files/etc/board.d/02_network | 477 + .../base-files/etc/board.d/03_gpio_switches | 32 + target/linux/ar71xx/base-files/etc/diag.sh | 475 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 147 + .../etc/hotplug.d/net/10-ar922x-led-fix | 51 + target/linux/ar71xx/base-files/etc/inittab | 3 + .../uci-defaults/03_network-switchX-migration | 109 + .../uci-defaults/03_network-vlan-migration | 13 + .../etc/uci-defaults/04_led_migration | 90 + .../etc/uci-defaults/09_fix-checksum | 28 + .../etc/uci-defaults/09_fix-seama-header | 17 + target/linux/ar71xx/base-files/lib/ar71xx.sh | 1246 + .../lib/preinit/03_preinit_do_ar71xx.sh | 9 + .../lib/preinit/05_set_iface_mac_ar71xx | 60 + .../lib/preinit/05_set_preinit_iface_ar71xx | 58 + .../ar71xx/base-files/lib/upgrade/allnet.sh | 162 + .../ar71xx/base-files/lib/upgrade/dir825.sh | 165 + .../base-files/lib/upgrade/merakinand.sh | 165 + .../ar71xx/base-files/lib/upgrade/openmesh.sh | 233 + .../ar71xx/base-files/lib/upgrade/platform.sh | 653 + target/linux/ar71xx/base-files/sbin/wget2nand | 85 + target/linux/ar71xx/config-4.4 | 443 + .../files/arch/mips/ath79/Kconfig.openwrt | 1803 ++ .../ar71xx/files/arch/mips/ath79/Makefile | 228 + .../files/arch/mips/ath79/dev-ap9x-pci.c | 185 + .../files/arch/mips/ath79/dev-ap9x-pci.h | 58 + .../ar71xx/files/arch/mips/ath79/dev-dsa.c | 41 + .../ar71xx/files/arch/mips/ath79/dev-dsa.h | 21 + .../ar71xx/files/arch/mips/ath79/dev-eth.c | 1262 + .../ar71xx/files/arch/mips/ath79/dev-eth.h | 53 + .../ar71xx/files/arch/mips/ath79/dev-m25p80.c | 126 + .../ar71xx/files/arch/mips/ath79/dev-m25p80.h | 18 + .../ar71xx/files/arch/mips/ath79/dev-nfc.c | 141 + .../ar71xx/files/arch/mips/ath79/dev-nfc.h | 34 + .../files/arch/mips/ath79/mach-alfa-ap120c.c | 147 + .../files/arch/mips/ath79/mach-alfa-ap96.c | 151 + .../files/arch/mips/ath79/mach-alfa-nx.c | 113 + .../files/arch/mips/ath79/mach-all0258n.c | 88 + .../files/arch/mips/ath79/mach-all0315n.c | 85 + .../files/arch/mips/ath79/mach-antminer-s1.c | 98 + .../files/arch/mips/ath79/mach-antminer-s3.c | 103 + .../files/arch/mips/ath79/mach-antrouter-r1.c | 98 + .../ar71xx/files/arch/mips/ath79/mach-ap113.c | 84 + .../ar71xx/files/arch/mips/ath79/mach-ap132.c | 189 + .../ar71xx/files/arch/mips/ath79/mach-ap143.c | 142 + .../ar71xx/files/arch/mips/ath79/mach-ap147.c | 125 + .../ar71xx/files/arch/mips/ath79/mach-ap152.c | 140 + .../ar71xx/files/arch/mips/ath79/mach-ap83.c | 275 + .../ar71xx/files/arch/mips/ath79/mach-ap90q.c | 201 + .../ar71xx/files/arch/mips/ath79/mach-ap96.c | 142 + .../files/arch/mips/ath79/mach-archer-c7.c | 302 + .../files/arch/mips/ath79/mach-arduino-yun.c | 157 + .../files/arch/mips/ath79/mach-aw-nr580.c | 107 + .../files/arch/mips/ath79/mach-bhr-4grv2.c | 171 + .../arch/mips/ath79/mach-bhu-bxu2000n2-a.c | 120 + .../ar71xx/files/arch/mips/ath79/mach-bsb.c | 83 + .../ar71xx/files/arch/mips/ath79/mach-c55.c | 132 + .../ar71xx/files/arch/mips/ath79/mach-c60.c | 200 + .../files/arch/mips/ath79/mach-cap324.c | 133 + .../files/arch/mips/ath79/mach-cap4200ag.c | 131 + .../files/arch/mips/ath79/mach-carambola2.c | 105 + .../files/arch/mips/ath79/mach-cf-e316n-v2.c | 462 + .../files/arch/mips/ath79/mach-cpe510.c | 131 + .../files/arch/mips/ath79/mach-cpe870.c | 152 + .../files/arch/mips/ath79/mach-cr3000.c | 161 + .../files/arch/mips/ath79/mach-cr5000.c | 176 + .../files/arch/mips/ath79/mach-dap-2695-a1.c | 191 + .../files/arch/mips/ath79/mach-dgl-5500-a1.c | 150 + .../files/arch/mips/ath79/mach-dhp-1565-a1.c | 170 + .../files/arch/mips/ath79/mach-dir-505-a1.c | 116 + .../files/arch/mips/ath79/mach-dir-600-a1.c | 159 + .../files/arch/mips/ath79/mach-dir-615-c1.c | 135 + .../files/arch/mips/ath79/mach-dir-615-i1.c | 133 + .../files/arch/mips/ath79/mach-dir-825-b1.c | 191 + .../files/arch/mips/ath79/mach-dir-825-c1.c | 241 + .../files/arch/mips/ath79/mach-dir-869-a1.c | 178 + .../files/arch/mips/ath79/mach-dlan-hotspot.c | 117 + .../arch/mips/ath79/mach-dlan-pro-1200-ac.c | 190 + .../arch/mips/ath79/mach-dlan-pro-500-wp.c | 203 + .../arch/mips/ath79/mach-domywifi-dw33d.c | 187 + .../ar71xx/files/arch/mips/ath79/mach-dr344.c | 184 + .../ar71xx/files/arch/mips/ath79/mach-dr531.c | 155 + .../files/arch/mips/ath79/mach-dragino2.c | 136 + .../files/arch/mips/ath79/mach-eap120.c | 126 + .../files/arch/mips/ath79/mach-eap300v2.c | 101 + .../files/arch/mips/ath79/mach-eap7660d.c | 181 + .../files/arch/mips/ath79/mach-el-m150.c | 112 + .../files/arch/mips/ath79/mach-el-mini.c | 86 + .../files/arch/mips/ath79/mach-epg5000.c | 177 + .../files/arch/mips/ath79/mach-esr1750.c | 176 + .../files/arch/mips/ath79/mach-esr900.c | 200 + .../files/arch/mips/ath79/mach-ew-dorin.c | 150 + .../files/arch/mips/ath79/mach-f9k1115v2.c | 189 + .../files/arch/mips/ath79/mach-gl-ar150.c | 125 + .../files/arch/mips/ath79/mach-gl-ar300.c | 103 + .../files/arch/mips/ath79/mach-gl-ar300m.c | 182 + .../files/arch/mips/ath79/mach-gl-domino.c | 136 + .../files/arch/mips/ath79/mach-gl-inet.c | 104 + .../files/arch/mips/ath79/mach-gl-mifi.c | 114 + .../arch/mips/ath79/mach-gs-minibox-v1.c | 85 + .../files/arch/mips/ath79/mach-gs-oolite.c | 103 + .../arch/mips/ath79/mach-hiwifi-hc6361.c | 115 + .../files/arch/mips/ath79/mach-hornet-ub.c | 142 + .../files/arch/mips/ath79/mach-ja76pf.c | 190 + .../files/arch/mips/ath79/mach-jwap003.c | 95 + .../files/arch/mips/ath79/mach-jwap230.c | 158 + .../files/arch/mips/ath79/mach-mc-mac1200r.c | 155 + .../ar71xx/files/arch/mips/ath79/mach-mr12.c | 114 + .../ar71xx/files/arch/mips/ath79/mach-mr16.c | 118 + .../files/arch/mips/ath79/mach-mr1750.c | 171 + .../ar71xx/files/arch/mips/ath79/mach-mr18.c | 297 + .../ar71xx/files/arch/mips/ath79/mach-mr600.c | 177 + .../ar71xx/files/arch/mips/ath79/mach-mr900.c | 181 + .../files/arch/mips/ath79/mach-mynet-n600.c | 202 + .../files/arch/mips/ath79/mach-mynet-n750.c | 226 + .../files/arch/mips/ath79/mach-mynet-rext.c | 208 + .../files/arch/mips/ath79/mach-mzk-w04nu.c | 124 + .../files/arch/mips/ath79/mach-mzk-w300nh.c | 115 + .../files/arch/mips/ath79/mach-nbg460n.c | 220 + .../files/arch/mips/ath79/mach-nbg6716.c | 380 + .../ar71xx/files/arch/mips/ath79/mach-om2p.c | 226 + .../ar71xx/files/arch/mips/ath79/mach-om5p.c | 218 + .../files/arch/mips/ath79/mach-om5pac.c | 193 + .../files/arch/mips/ath79/mach-om5pacv2.c | 221 + .../files/arch/mips/ath79/mach-omy-g1.c | 123 + .../files/arch/mips/ath79/mach-omy-x1.c | 106 + .../files/arch/mips/ath79/mach-onion-omega.c | 84 + .../ar71xx/files/arch/mips/ath79/mach-pb42.c | 83 + .../ar71xx/files/arch/mips/ath79/mach-pb92.c | 70 + .../files/arch/mips/ath79/mach-qihoo-c301.c | 166 + .../ar71xx/files/arch/mips/ath79/mach-r6100.c | 146 + .../files/arch/mips/ath79/mach-rb2011.c | 338 + .../ar71xx/files/arch/mips/ath79/mach-rb4xx.c | 470 + .../ar71xx/files/arch/mips/ath79/mach-rb750.c | 346 + .../ar71xx/files/arch/mips/ath79/mach-rb91x.c | 349 + .../ar71xx/files/arch/mips/ath79/mach-rb922.c | 236 + .../ar71xx/files/arch/mips/ath79/mach-rb95x.c | 258 + .../files/arch/mips/ath79/mach-rbsxtlite.c | 238 + .../files/arch/mips/ath79/mach-rw2458n.c | 91 + .../files/arch/mips/ath79/mach-smart-300.c | 135 + .../files/arch/mips/ath79/mach-som9331.c | 125 + .../mips/ath79/mach-tellstick-znet-lite.c | 129 + .../files/arch/mips/ath79/mach-tew-632brp.c | 111 + .../files/arch/mips/ath79/mach-tew-673gru.c | 198 + .../files/arch/mips/ath79/mach-tew-712br.c | 153 + .../files/arch/mips/ath79/mach-tew-732br.c | 127 + .../files/arch/mips/ath79/mach-tew-823dru.c | 181 + .../files/arch/mips/ath79/mach-tl-mr11u.c | 183 + .../files/arch/mips/ath79/mach-tl-mr13u.c | 107 + .../files/arch/mips/ath79/mach-tl-mr3020.c | 126 + .../files/arch/mips/ath79/mach-tl-mr3x20.c | 147 + .../arch/mips/ath79/mach-tl-wa701nd-v2.c | 116 + .../arch/mips/ath79/mach-tl-wa7210n-v2.c | 125 + .../arch/mips/ath79/mach-tl-wa801nd-v3.c | 136 + .../arch/mips/ath79/mach-tl-wa830re-v2.c | 132 + .../arch/mips/ath79/mach-tl-wa901nd-v2.c | 104 + .../arch/mips/ath79/mach-tl-wa901nd-v4.c | 112 + .../files/arch/mips/ath79/mach-tl-wa901nd.c | 127 + .../files/arch/mips/ath79/mach-tl-wax50re.c | 313 + .../arch/mips/ath79/mach-tl-wdr3320-v2.c | 146 + .../files/arch/mips/ath79/mach-tl-wdr3500.c | 169 + .../files/arch/mips/ath79/mach-tl-wdr4300.c | 206 + .../arch/mips/ath79/mach-tl-wdr6500-v2.c | 142 + .../files/arch/mips/ath79/mach-tl-wpa8630.c | 172 + .../arch/mips/ath79/mach-tl-wr1041n-v2.c | 138 + .../arch/mips/ath79/mach-tl-wr1043nd-v2.c | 215 + .../files/arch/mips/ath79/mach-tl-wr1043nd.c | 141 + .../files/arch/mips/ath79/mach-tl-wr2543n.c | 156 + .../files/arch/mips/ath79/mach-tl-wr703n.c | 118 + .../files/arch/mips/ath79/mach-tl-wr720n-v3.c | 108 + .../arch/mips/ath79/mach-tl-wr741nd-v4.c | 187 + .../files/arch/mips/ath79/mach-tl-wr741nd.c | 130 + .../files/arch/mips/ath79/mach-tl-wr802n.c | 98 + .../files/arch/mips/ath79/mach-tl-wr810n.c | 135 + .../files/arch/mips/ath79/mach-tl-wr841n-v8.c | 286 + .../files/arch/mips/ath79/mach-tl-wr841n-v9.c | 308 + .../files/arch/mips/ath79/mach-tl-wr841n.c | 140 + .../arch/mips/ath79/mach-tl-wr941nd-v6.c | 149 + .../files/arch/mips/ath79/mach-tl-wr941nd.c | 121 + .../files/arch/mips/ath79/mach-tube2h.c | 118 + .../files/arch/mips/ath79/mach-ubnt-unifiac.c | 179 + .../files/arch/mips/ath79/mach-ubnt-xm.c | 718 + .../ar71xx/files/arch/mips/ath79/mach-ubnt.c | 205 + .../ar71xx/files/arch/mips/ath79/mach-weio.c | 140 + .../files/arch/mips/ath79/mach-whr-hp-g300n.c | 155 + .../files/arch/mips/ath79/mach-wlae-ag300n.c | 114 + .../files/arch/mips/ath79/mach-wlr8100.c | 205 + .../files/arch/mips/ath79/mach-wndap360.c | 105 + .../files/arch/mips/ath79/mach-wndr3700.c | 172 + .../files/arch/mips/ath79/mach-wndr4300.c | 210 + .../files/arch/mips/ath79/mach-wnr2000-v3.c | 636 + .../files/arch/mips/ath79/mach-wnr2000-v4.c | 214 + .../files/arch/mips/ath79/mach-wnr2000.c | 145 + .../files/arch/mips/ath79/mach-wnr2200.c | 246 + .../ar71xx/files/arch/mips/ath79/mach-wp543.c | 109 + .../ar71xx/files/arch/mips/ath79/mach-wpe72.c | 97 + .../files/arch/mips/ath79/mach-wpj342.c | 178 + .../files/arch/mips/ath79/mach-wpj344.c | 176 + .../files/arch/mips/ath79/mach-wpj531.c | 143 + .../files/arch/mips/ath79/mach-wpj558.c | 177 + .../files/arch/mips/ath79/mach-wrt160nl.c | 126 + .../files/arch/mips/ath79/mach-wrt400n.c | 161 + .../files/arch/mips/ath79/mach-wrtnode2q.c | 126 + .../files/arch/mips/ath79/mach-wzr-450hp2.c | 221 + .../arch/mips/ath79/mach-wzr-hp-ag300h.c | 205 + .../arch/mips/ath79/mach-wzr-hp-g300nh.c | 279 + .../arch/mips/ath79/mach-wzr-hp-g300nh2.c | 170 + .../files/arch/mips/ath79/mach-wzr-hp-g450h.c | 165 + .../ar71xx/files/arch/mips/ath79/mach-z1.c | 164 + .../files/arch/mips/ath79/mach-zbt-we1526.c | 153 + .../files/arch/mips/ath79/mach-zcn-1523h.c | 154 + .../ar71xx/files/arch/mips/ath79/machtypes.h | 291 + .../ar71xx/files/arch/mips/ath79/nvram.c | 80 + .../ar71xx/files/arch/mips/ath79/nvram.h | 19 + .../files/arch/mips/ath79/pci-ath9k-fixup.c | 126 + .../files/arch/mips/ath79/pci-ath9k-fixup.h | 6 + .../ar71xx/files/arch/mips/ath79/routerboot.c | 358 + .../ar71xx/files/arch/mips/ath79/routerboot.h | 63 + .../mips/include/asm/fw/myloader/myloader.h | 34 + .../include/asm/mach-ath79/ag71xx_platform.h | 66 + .../mips/include/asm/mach-ath79/mach-rb750.h | 84 + .../mips/include/asm/mach-ath79/rb4xx_cpld.h | 48 + .../ar71xx/files/drivers/gpio/gpio-latch.c | 220 + .../files/drivers/gpio/gpio-nxp-74hc153.c | 251 + .../ar71xx/files/drivers/leds/leds-nu801.c | 396 + .../ar71xx/files/drivers/leds/leds-rb750.c | 144 + .../files/drivers/leds/leds-wndr3700-usb.c | 76 + .../ar71xx/files/drivers/mtd/cybertan_part.c | 201 + .../files/drivers/mtd/nand/ar934x_nfc.c | 1502 + .../files/drivers/mtd/nand/rb4xx_nand.c | 305 + .../files/drivers/mtd/nand/rb750_nand.c | 354 + .../files/drivers/mtd/nand/rb91x_nand.c | 377 + .../ar71xx/files/drivers/mtd/tplinkpart.c | 222 + .../ar71xx/files/drivers/net/dsa/mv88e6063.c | 311 + .../net/ethernet/atheros/ag71xx/Kconfig | 33 + .../net/ethernet/atheros/ag71xx/Makefile | 15 + .../net/ethernet/atheros/ag71xx/ag71xx.h | 493 + .../ethernet/atheros/ag71xx/ag71xx_ar7240.c | 1229 + .../ethernet/atheros/ag71xx/ag71xx_ar8216.c | 44 + .../ethernet/atheros/ag71xx/ag71xx_debugfs.c | 287 + .../ethernet/atheros/ag71xx/ag71xx_ethtool.c | 131 + .../net/ethernet/atheros/ag71xx/ag71xx_main.c | 1478 + .../net/ethernet/atheros/ag71xx/ag71xx_mdio.c | 318 + .../net/ethernet/atheros/ag71xx/ag71xx_phy.c | 235 + .../linux/ar71xx/files/drivers/spi/spi-ap83.c | 283 + .../ar71xx/files/drivers/spi/spi-rb4xx-cpld.c | 441 + .../ar71xx/files/drivers/spi/spi-rb4xx.c | 507 + .../ar71xx/files/drivers/spi/spi-vsc7385.c | 621 + .../ar71xx/files/include/linux/leds-nu801.h | 38 + .../ar71xx/files/include/linux/nxp_74hc153.h | 24 + .../files/include/linux/platform/ar934x_nfc.h | 39 + .../include/linux/platform_data/gpio-latch.h | 14 + .../include/linux/platform_data/rb91x_nand.h | 16 + .../ar71xx/files/include/linux/spi/vsc7385.h | 19 + target/linux/ar71xx/files/net/dsa/mv88e6063.c | 294 + target/linux/ar71xx/generic/config-default | 1 + .../ar71xx/generic/profiles/00-default.mk | 18 + target/linux/ar71xx/generic/target.mk | 8 + target/linux/ar71xx/image/Makefile | 109 + target/linux/ar71xx/image/generic.mk | 612 + target/linux/ar71xx/image/legacy-devices.mk | 611 + target/linux/ar71xx/image/legacy.mk | 1065 + .../linux/ar71xx/image/lzma-loader/Makefile | 66 + .../ar71xx/image/lzma-loader/src/LzmaDecode.c | 584 + .../ar71xx/image/lzma-loader/src/LzmaDecode.h | 113 + .../ar71xx/image/lzma-loader/src/LzmaTypes.h | 45 + .../ar71xx/image/lzma-loader/src/Makefile | 106 + .../image/lzma-loader/src/ar71xx_regs.h | 725 + .../ar71xx/image/lzma-loader/src/board.c | 56 + .../ar71xx/image/lzma-loader/src/cache.c | 43 + .../ar71xx/image/lzma-loader/src/cache.h | 17 + .../ar71xx/image/lzma-loader/src/cacheops.h | 85 + .../ar71xx/image/lzma-loader/src/config.h | 31 + .../ar71xx/image/lzma-loader/src/cp0regdef.h | 39 + .../linux/ar71xx/image/lzma-loader/src/head.S | 121 + .../ar71xx/image/lzma-loader/src/loader.c | 264 + .../ar71xx/image/lzma-loader/src/loader.lds | 35 + .../ar71xx/image/lzma-loader/src/loader2.lds | 10 + .../image/lzma-loader/src/lzma-data.lds | 8 + .../ar71xx/image/lzma-loader/src/printf.c | 350 + .../ar71xx/image/lzma-loader/src/printf.h | 18 + target/linux/ar71xx/image/nand.mk | 78 + target/linux/ar71xx/image/tp-link.mk | 855 + target/linux/ar71xx/image/ubinize-nbg6716.ini | 24 + .../linux/ar71xx/image/ubinize-wndr4300.ini | 26 + target/linux/ar71xx/mikrotik/config-default | 176 + .../ar71xx/mikrotik/profiles/01-minimal.mk | 17 + .../ar71xx/mikrotik/profiles/02-ath5k.mk | 17 + target/linux/ar71xx/mikrotik/target.mk | 9 + target/linux/ar71xx/modules.mk | 69 + target/linux/ar71xx/nand/config-default | 118 + .../linux/ar71xx/nand/profiles/00-default.mk | 18 + target/linux/ar71xx/nand/target.mk | 7 + .../001-revert_spi_device_tree_support.patch | 83 + .../002-add_back_gpio_function_select.patch | 92 + .../004-register_gpio_driver_earlier.patch | 15 + ...Avoid-using-unitialized-reg-variable.patch | 42 + ...ath79_ddr_ctrl_init-compatible-for-n.patch | 31 + ...egression-in-PCI-window-initializati.patch | 37 + ...egister-address-in-ath79_ddr_wb_flus.patch | 23 + ...200-MIPS-ath79-fix-ar933x-wmac-reset.patch | 31 + .../201-ar913x_wmac_external_reset.patch | 31 + .../202-MIPS-ath79-ar934x-wmac-revision.patch | 11 + .../203-MIPS-ath79-fix-restart.patch | 20 + ...-make-chipselect-logic-more-flexible.patch | 199 + .../220-add_cpu_feature_overrides.patch | 28 + ...0-MIPS-add-MIPS_MACHINE_NONAME-macro.patch | 21 + .../310-lib-add-rle-decompression.patch | 124 + .../401-mtd-physmap-add-lock-unlock.patch | 94 + .../402-mtd-SST39VF6401B-support.patch | 29 + ...mtd_fix_cfi_cmdset_0002_status_check.patch | 69 + .../404-mtd-cybertan-trx-parser.patch | 25 + .../405-mtd-tp-link-partition-parser.patch | 25 + ...o-pass-probe-types-via-platform-data.patch | 23 + .../408-mtd-redboot_partition_scan.patch | 44 + .../409-mtd-rb4xx_nand_driver.patch | 21 + .../410-mtd-rb750-nand-driver.patch | 21 + ...mtd-cfi_cmdset_0002-force-word-write.patch | 61 + ...td-m25p80-zero-partition-parser-data.patch | 10 + .../413-mtd-ar934x-nand-driver.patch | 25 + .../414-mtd-rb91x-nand-driver.patch | 23 + .../420-net-ar71xx_mac_driver.patch | 28 + .../423-dsa-add-88e6063-driver.patch | 24 + .../430-drivers-link-spi-before-mtd.patch | 12 + .../431-spi-add-various-flags.patch | 19 + .../432-spi-rb4xx-spi-driver.patch | 25 + .../433-spi-rb4xx-cpld-driver.patch | 26 + .../434-spi-ap83_spi_controller.patch | 27 + .../patches-4.4/435-spi-vsc7385_driver.patch | 24 + .../440-leds-wndr3700-usb-led-driver.patch | 26 + .../441-leds-rb750-led-driver.patch | 23 + ...50-gpio-nxp-74hc153-gpio-chip-driver.patch | 25 + ...x164-improve-platform-device-support.patch | 109 + .../452-gpio-add-gpio-latch-driver.patch | 22 + ...-spi-bitbang-export-spi_bitbang_bufs.patch | 28 + ...1-spi-add-type-field-to-spi_transfer.patch | 23 + ...462-mtd-m25p80-set-spi-transfer-type.patch | 15 + .../463-spi-ath79-add-fast-flash-read.patch | 185 + .../464-spi-ath79-fix-fast-flash-read.patch | 35 + ...ath79-swizzle-pci-address-for-ar71xx.patch | 111 + ...490-usb-ehci-add-quirks-for-qca-socs.patch | 103 + .../patches-4.4/500-MIPS-fw-myloader.patch | 22 + ...-mac-argument-to-ath79_register_wmac.patch | 81 + ...MIPS-ath79-add-flash-acquire-release.patch | 37 + ...IPS-ath79-add-ath79_device_reset_get.patch | 45 + ...ath79-add-ath79_gpio_function_select.patch | 39 + ...6-MIPS-ath79-prom-parse-redboot-args.patch | 42 + ...MIPS-ath79-prom-add-myloader-support.patch | 55 + ...S-ath79-prom-image-command-line-hack.patch | 73 + ...PS-ath79-process-board-kernel-option.patch | 11 + ...S-ath79-init-gpio-pin-of-wmac-device.patch | 14 + .../520-MIPS-ath79-enable-UART-function.patch | 18 + ...S-ath79-enable-UART-for-early_serial.patch | 61 + ...dd-ath79_wmac_register_simple-helper.patch | 21 + .../523-MIPS-ath79-OTP-support.patch | 166 + ...add-ath79_wmac_disable_25ghz-helpers.patch | 31 + ...525-MIPS-ath79-enable-qca-usb-quirks.patch | 101 + ...MIPS-ath79-add-more-register-defines.patch | 455 + .../602-MIPS-ath79-add-openwrt-stuff.patch | 49 + .../603-MIPS-ath79-ap121-fixes.patch | 149 + .../604-MIPS-ath79-ap81-fixes.patch | 84 + .../605-MIPS-ath79-db120-fixes.patch | 204 + .../606-MIPS-ath79-pb44-fixes.patch | 153 + .../607-MIPS-ath79-ubnt-xm-fixes.patch | 14 + ...8-MIPS-ath79-ubnt-xm-add-more-boards.patch | 20 + .../609-MIPS-ath79-ap136-fixes.patch | 300 + .../611-MIPS-ath79-wdt-timeout.patch | 25 + .../612-MIPS-ath79-set-buffalo-txgain.patch | 24 + ...ath79_wmac_setup_ext_lna_gpio-helper.patch | 76 + ...IPS-ath79-ap83-remove-mtd-partitions.patch | 44 + ...PS-ath79-add-support-for-QCA953x-SoC.patch | 705 + ...PS-ath79-add-support-for-QCA956x-SoC.patch | 717 + ...0-MIPS-ath79-fix-chained-irq-disable.patch | 102 + ...1-MIPS-ath79-wmac-enable-set-led-pin.patch | 24 + ...MIPS-ath79-gpio-enable-set-direction.patch | 32 + ...ath79-ar724x-clock-calculation-fixes.patch | 22 + ...40-MIPS-ath79-add-QCA955x-wmac-reset.patch | 82 + .../700-MIPS-ath79-add-openwrt-Kconfig.patch | 11 + ...MIPS-ath79-add-routerboard-detection.patch | 19 + ...d-gpio-func-register-for-QCA955x-SoC.patch | 38 + ...0-MIPS-ath79-add-PCI-for-QCA953x-SoC.patch | 44 + .../818-MIPS-ath79-add-nu801-led-driver.patch | 26 + ...-MIPS-ath79-add_gpio_function2_setup.patch | 67 + ...support-for-boot-console-with-arbitr.patch | 76 + .../900-mdio_bitbang_ignore_ta_value.patch | 23 + ...-prevent-rescheduling-during-command.patch | 61 + .../902-at803x-add-reset-gpio-pdata.patch | 68 + .../910-unaligned_access_hacks.patch | 931 + target/linux/generic/PATCHES | 20 + target/linux/generic/base-files/init | 4 + target/linux/generic/config-3.18 | 4646 +++ target/linux/generic/config-4.1 | 4821 +++ target/linux/generic/config-4.4 | 4825 +++ .../Documentation/networking/adm6996.txt | 110 + .../files/arch/mips/fw/myloader/Makefile | 5 + .../files/arch/mips/fw/myloader/myloader.c | 63 + .../files/drivers/leds/ledtrig-netdev.c | 444 + .../generic/files/drivers/misc/owl-loader.c | 246 + .../files/drivers/mtd/mtdsplit/Kconfig | 66 + .../files/drivers/mtd/mtdsplit/Makefile | 11 + .../files/drivers/mtd/mtdsplit/mtdsplit.c | 130 + .../files/drivers/mtd/mtdsplit/mtdsplit.h | 67 + .../drivers/mtd/mtdsplit/mtdsplit_brnimage.c | 104 + .../files/drivers/mtd/mtdsplit/mtdsplit_eva.c | 96 + .../files/drivers/mtd/mtdsplit/mtdsplit_fit.c | 140 + .../drivers/mtd/mtdsplit/mtdsplit_lzma.c | 96 + .../drivers/mtd/mtdsplit/mtdsplit_seama.c | 110 + .../drivers/mtd/mtdsplit/mtdsplit_squashfs.c | 72 + .../drivers/mtd/mtdsplit/mtdsplit_tplink.c | 169 + .../files/drivers/mtd/mtdsplit/mtdsplit_trx.c | 147 + .../drivers/mtd/mtdsplit/mtdsplit_uimage.c | 359 + .../drivers/mtd/mtdsplit/mtdsplit_wrgg.c | 109 + .../generic/files/drivers/mtd/myloader.c | 182 + .../generic/files/drivers/net/phy/adm6996.c | 1215 + .../generic/files/drivers/net/phy/adm6996.h | 186 + .../generic/files/drivers/net/phy/ar8216.c | 2313 ++ .../generic/files/drivers/net/phy/ar8216.h | 643 + .../generic/files/drivers/net/phy/ar8327.c | 1443 + .../generic/files/drivers/net/phy/ar8327.h | 319 + .../generic/files/drivers/net/phy/b53/Kconfig | 37 + .../files/drivers/net/phy/b53/Makefile | 10 + .../files/drivers/net/phy/b53/b53_common.c | 1526 + .../files/drivers/net/phy/b53/b53_mdio.c | 445 + .../files/drivers/net/phy/b53/b53_mmap.c | 241 + .../files/drivers/net/phy/b53/b53_phy_fixup.c | 55 + .../files/drivers/net/phy/b53/b53_priv.h | 331 + .../files/drivers/net/phy/b53/b53_regs.h | 348 + .../files/drivers/net/phy/b53/b53_spi.c | 330 + .../files/drivers/net/phy/b53/b53_srab.c | 378 + .../generic/files/drivers/net/phy/ip17xx.c | 1410 + .../generic/files/drivers/net/phy/mvsw61xx.c | 943 + .../generic/files/drivers/net/phy/mvsw61xx.h | 289 + .../generic/files/drivers/net/phy/mvswitch.c | 433 + .../generic/files/drivers/net/phy/mvswitch.h | 145 + .../generic/files/drivers/net/phy/psb6970.c | 438 + .../generic/files/drivers/net/phy/rtl8306.c | 1060 + .../files/drivers/net/phy/rtl8366_smi.c | 1449 + .../files/drivers/net/phy/rtl8366_smi.h | 152 + .../generic/files/drivers/net/phy/rtl8366rb.c | 1496 + .../generic/files/drivers/net/phy/rtl8366s.c | 1148 + .../generic/files/drivers/net/phy/rtl8367.c | 1835 ++ .../generic/files/drivers/net/phy/rtl8367b.c | 1602 + .../generic/files/drivers/net/phy/swconfig.c | 1236 + .../files/drivers/net/phy/swconfig_leds.c | 439 + target/linux/generic/files/fs/yaffs2/Kconfig | 171 + target/linux/generic/files/fs/yaffs2/Makefile | 18 + .../generic/files/fs/yaffs2/NOTE.openwrt | 4 + .../generic/files/fs/yaffs2/yaffs_allocator.c | 357 + .../generic/files/fs/yaffs2/yaffs_allocator.h | 30 + .../generic/files/fs/yaffs2/yaffs_attribs.c | 132 + .../generic/files/fs/yaffs2/yaffs_attribs.h | 28 + .../generic/files/fs/yaffs2/yaffs_bitmap.c | 97 + .../generic/files/fs/yaffs2/yaffs_bitmap.h | 33 + .../generic/files/fs/yaffs2/yaffs_checkptrw.c | 466 + .../generic/files/fs/yaffs2/yaffs_checkptrw.h | 33 + .../linux/generic/files/fs/yaffs2/yaffs_ecc.c | 281 + .../linux/generic/files/fs/yaffs2/yaffs_ecc.h | 44 + .../files/fs/yaffs2/yaffs_getblockinfo.h | 35 + .../generic/files/fs/yaffs2/yaffs_guts.c | 5140 +++ .../generic/files/fs/yaffs2/yaffs_guts.h | 1010 + .../generic/files/fs/yaffs2/yaffs_linux.h | 48 + .../generic/files/fs/yaffs2/yaffs_mtdif.c | 310 + .../generic/files/fs/yaffs2/yaffs_mtdif.h | 25 + .../generic/files/fs/yaffs2/yaffs_nameval.c | 208 + .../generic/files/fs/yaffs2/yaffs_nameval.h | 28 + .../generic/files/fs/yaffs2/yaffs_nand.c | 122 + .../generic/files/fs/yaffs2/yaffs_nand.h | 39 + .../files/fs/yaffs2/yaffs_packedtags1.c | 56 + .../files/fs/yaffs2/yaffs_packedtags1.h | 39 + .../files/fs/yaffs2/yaffs_packedtags2.c | 197 + .../files/fs/yaffs2/yaffs_packedtags2.h | 47 + .../generic/files/fs/yaffs2/yaffs_summary.c | 312 + .../generic/files/fs/yaffs2/yaffs_summary.h | 37 + .../files/fs/yaffs2/yaffs_tagscompat.c | 381 + .../files/fs/yaffs2/yaffs_tagscompat.h | 44 + .../files/fs/yaffs2/yaffs_tagsmarshall.c | 199 + .../files/fs/yaffs2/yaffs_tagsmarshall.h | 22 + .../generic/files/fs/yaffs2/yaffs_trace.h | 57 + .../generic/files/fs/yaffs2/yaffs_verify.c | 529 + .../generic/files/fs/yaffs2/yaffs_verify.h | 43 + .../linux/generic/files/fs/yaffs2/yaffs_vfs.c | 3665 +++ .../generic/files/fs/yaffs2/yaffs_yaffs1.c | 422 + .../generic/files/fs/yaffs2/yaffs_yaffs1.h | 22 + .../generic/files/fs/yaffs2/yaffs_yaffs2.c | 1532 + .../generic/files/fs/yaffs2/yaffs_yaffs2.h | 39 + .../linux/generic/files/fs/yaffs2/yportenv.h | 85 + .../files/include/linux/ar8216_platform.h | 133 + .../files/include/linux/ath5k_platform.h | 30 + .../files/include/linux/ath9k_platform.h | 61 + .../generic/files/include/linux/myloader.h | 121 + .../linux/platform_data/adm6996-gpio.h | 30 + .../files/include/linux/platform_data/b53.h | 36 + .../generic/files/include/linux/routerboot.h | 106 + .../files/include/linux/rt2x00_platform.h | 23 + .../generic/files/include/linux/rtl8366.h | 40 + .../generic/files/include/linux/rtl8367.h | 60 + .../generic/files/include/linux/switch.h | 179 + .../generic/files/include/uapi/linux/switch.h | 119 + target/linux/generic/image/Makefile | 12 + .../generic/image/initramfs-base-files.txt | 9 + .../linux/generic/image/lzma-loader/Makefile | 46 + .../image/lzma-loader/src/LzmaDecode.c | 590 + .../image/lzma-loader/src/LzmaDecode.h | 131 + .../generic/image/lzma-loader/src/Makefile | 68 + .../image/lzma-loader/src/decompress.c | 157 + .../image/lzma-loader/src/lzma-copy.lds.in | 20 + .../generic/image/lzma-loader/src/lzma.lds.in | 24 + .../generic/image/lzma-loader/src/print.c | 324 + .../generic/image/lzma-loader/src/print.h | 36 + .../generic/image/lzma-loader/src/printf.c | 35 + .../generic/image/lzma-loader/src/printf.h | 18 + .../generic/image/lzma-loader/src/start.S | 160 + .../generic/image/lzma-loader/src/uart16550.c | 86 + .../generic/image/lzma-loader/src/uart16550.h | 47 + target/linux/generic/image/relocate/Makefile | 75 + .../linux/generic/image/relocate/cacheops.h | 85 + .../linux/generic/image/relocate/cp0regdef.h | 39 + target/linux/generic/image/relocate/head.S | 159 + .../linux/generic/image/relocate/loader.lds | 16 + .../generic/patches-3.18/020-ssb_update.patch | 134 + .../generic/patches-3.18/021-ssb_sprom.patch | 32 + .../patches-3.18/025-bcma_backport.patch | 286 + .../patches-3.18/026-bcma-from-3.20.patch | 527 + .../patches-3.18/027-bcma-from-4.1.patch | 680 + .../patches-3.18/028-bcma-from-4.2.patch | 86 + .../patches-3.18/029-bcma-from-4.4.patch | 26 + .../030-backport_bcm47xx_nvram.patch | 52 + ...11-Allow-set-network-namespace-by-fd.patch | 21 + .../patches-3.18/031-bcma-from-4.5.patch | 49 + .../patches-3.18/032-bcma-from-4.6.patch | 716 + ...-mtd-bcm47xxpart-backports-from-3.19.patch | 50 + ...-mtd-bcm47xxpart-backports-from-3.20.patch | 95 + ...GD25Q128B_support_backport_from_3.19.patch | 15 + .../044-backport-m25p80-jedec-probe.patch | 39 + .../050-backport_netfilter_rtcache.patch | 509 + ...ting-hash_max-multicast_router-if-in.patch | 99 + .../060-mips_decompressor_memmove.patch | 22 + ...gmac-register-napi-before-the-device.patch | 44 + ...rqs-only-if-there-is-nothing-to-poll.patch | 30 + ...-initialization-on-Northstar-SoCs-co.patch | 40 + .../073-bgmac-Clean-warning-messages.patch | 50 + ...ixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch | 76 + ...mac-allow-enabling-on-ARCH_BCM_5301X.patch | 28 + ...76-net-phy-export-fixed_phy_register.patch | 30 + ...scriptor-frame-start-end-definitions.patch | 24 + ...gmac-implement-GRO-and-use-build_skb.patch | 189 + ...mac-implement-scatter-gather-support.patch | 267 + ...gmac-simplify-tx-ring-index-handling.patch | 125 + ...rrupts-disabled-as-long-as-there-is-.patch | 87 + ...received-skb-headroom-to-NET_SKB_PAD.patch | 66 + ...bgmac-simplify-rx-DMA-error-handling.patch | 130 + ...gmac-add-check-for-oversized-packets.patch | 27 + ...ncrease-rx-ring-size-from-511-to-512.patch | 23 + ...7-10-bgmac-simplify-dma-init-cleanup.patch | 184 + .../077-11-bgmac-fix-DMA-rx-corruption.patch | 88 + .../077-12-bgmac-drop-ring-num_slots.patch | 132 + ...enable-Ethernet-core-before-using-it.patch | 31 + ...fix-MAC-soft-reset-bit-for-corerev-4.patch | 34 + ...c-net-fib_trie-when-CONFIG_IP_MULTIP.patch | 46 + ...e-balancing-issue-if-new-node-pushes.patch | 72 + ...usage-stats-to-be-percpu-instead-of-.patch | 200 + ...rie-Make-leaf-and-tnode-more-uniform.patch | 421 + ...node_free-and-leaf_free-into-node_fr.patch | 209 + ...80-05-fib_trie-Merge-leaf-into-tnode.patch | 928 + ...e-fib_table_lookup-to-avoid-wasting-.patch | 343 + ...0-07-fib_trie-Optimize-fib_find_node.patch | 64 + ...8-fib_trie-Optimize-fib_table_insert.patch | 276 + ...meaning-of-pos-to-represent-unchecke.patch | 346 + ...igned-long-for-anything-dealing-with.patch | 186 + ...Push-rcu_read_lock-unlock-to-callers.patch | 403 + ...e-Move-resize-to-after-inflate-halve.patch | 345 + ...ctions-should_inflate-and-should_hal.patch | 250 + ...signment-of-child-to-parent-down-int.patch | 336 + ...tnode-flushing-down-to-inflate-halve.patch | 237 + ...-halve-nodes-in-a-more-RCU-friendly-.patch | 345 + ...checks-for-index-tnode_child_length-.patch | 95 + ...Add-tracking-value-for-suffix-length.patch | 234 + ...ex-0ul-n-bits-instead-of-index-n-bit.patch | 52 + ...-bug-and-merge-similar-bits-of-infla.patch | 267 + ...ck-to-slen-update-on-inflate-halve-f.patch | 61 + ...llapse-and-should_collapse-to-resize.patch | 206 + ...ty_children-instead-of-counting-empt.patch | 34 + ...b_find_alias-to-file-where-it-is-use.patch | 79 + ...-Various-clean-ups-for-handling-slen.patch | 116 + ...eue-to-die-properly-when-a-PADT-is-r.patch | 89 + ...02-pppoe-Lacks-DST-MAC-address-check.patch | 25 + ...poe-device-in-pppoe_unbind_sock_work.patch | 28 + ..._state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch | 45 + ...ppp-remove-PPPOX_ZOMBIE-socket-state.patch | 51 + ...ry-corruption-in-padt-work-structure.patch | 82 + ...ment-fix-headroom-tests-and-skb-leak.patch | 101 + ...ncrease-headroom-on-received-packets.patch | 54 + ...layfs-fallback-to-readonly-when-full.patch | 109 + ...mtd-spi-nor-add-support-Spansion_S25FL164K | 10 + ...-if-the-device-is-processing-a-messa.patch | 47 + ...rs-inside-calling-context-for-spi_sy.patch | 184 + ...e-message-pump-in-the-worker-kthread.patch | 83 + ...ility-of-linux-in.h-with-netinet-in..patch | 146 + ...ags-FOLL_WRITE-games-from-__get_user.patch | 90 + ...ing_init-new-hook-for-archs-before-m.patch | 182 + .../patches-3.18/102-ehci_hcd_ignore_oc.patch | 82 + ...ame2-and-add-RENAME_WHITEOUT-support.patch | 86 + ...11-jffs2-add-RENAME_EXCHANGE-support.patch | 58 + ...ge_allow_receiption_on_disabled_port.patch | 54 + .../132-mips_inline_dma_ops.patch | 688 + ...-__arch_swab-16-32-64-when-using-MIP.patch | 53 + ...-generic-parsing-of-linux-part-probe.patch | 175 + ...limit-scanned-flash-area-on-BCM47XX-.patch | 33 + ...part-don-t-fail-because-of-bit-flips.patch | 92 + ...ci-make-USB_XHCI_PLATFORM-selectable.patch | 41 + ...t_for_moving_ndp_to_end_of_ncm_frame.patch | 228 + ...ehci-orion-fix-probe-for-GENERIC_PHY.patch | 35 + ...-support-for-Quectel-EC20-Mini-PCIe-.patch | 114 + ...-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch | 96 + .../patches-3.18/200-fix_localversion.patch | 11 + .../patches-3.18/201-extra_optimization.patch | 14 + .../patches-3.18/202-reduce_module_size.patch | 11 + .../203-kallsyms_uncompressed.patch | 108 + .../patches-3.18/204-module_strip.patch | 194 + .../205-backtrace_module_info.patch | 36 + .../210-darwin_scripts_include.patch | 3088 ++ .../212-byteshift_portability.patch | 51 + .../213-x86_vdso_portability.patch | 13 + .../214-spidev_h_portability.patch | 11 + .../patches-3.18/220-gc_sections.patch | 531 + .../patches-3.18/221-module_exports.patch | 88 + .../230-openwrt_lzma_options.patch | 58 + .../patches-3.18/250-netfilter_depends.patch | 18 + .../patches-3.18/251-sound_kconfig.patch | 18 + .../patches-3.18/252-mv_cesa_depends.patch | 10 + .../patches-3.18/253-ssb_b43_default_on.patch | 29 + .../254-textsearch_kconfig_hacks.patch | 23 + .../255-lib80211_kconfig_hacks.patch | 31 + .../256-crypto_add_kconfig_prompts.patch | 47 + .../257-wireless_ext_kconfig_hack.patch | 22 + .../258-netfilter_netlink_kconfig_hack.patch | 11 + .../patches-3.18/259-regmap_dynamic.patch | 80 + .../260-crypto_test_dependencies.patch | 37 + ...libc-specific-inclusion-of-sysinfo.h.patch | 34 + ...bc-compat.h-do-not-rely-on-__GLIBC__.patch | 81 + ...prevent-redefinition-of-struct-ethhd.patch | 67 + .../300-mips_expose_boot_raw.patch | 39 + .../301-mips_image_cmdline_hack.patch | 28 + .../302-mips_no_branch_likely.patch | 11 + .../patches-3.18/304-mips_disable_fpu.patch | 105 + .../patches-3.18/305-mips_module_reloc.patch | 353 + .../306-mips_mem_functions_performance.patch | 83 + .../307-mips_highmem_offset.patch | 17 + .../310-arm_module_unresolved_weak_sym.patch | 13 + .../320-ppc4xx_optimization.patch | 31 + .../321-powerpc_crtsavres_prereq.patch | 10 + ...t-command-line-parameters-from-users.patch | 298 + .../400-mtd-add-rootfs-split-support.patch | 171 + ...for-different-partition-parser-types.patch | 113 + ...arsers-for-rootfs-and-firmware-split.patch | 72 + .../403-mtd-hook-mtdsplit-to-Kbuild.patch | 22 + .../404-mtd-add-more-helper-functions.patch | 101 + ...405-mtd-old-firmware-uimage-splitter.patch | 70 + ...406-mtd-old-rootfs-squashfs-splitter.patch | 76 + ...rward-declaration-of-struct-mtd_info.patch | 18 + .../411-mtd-partial_eraseblock_write.patch | 142 + .../412-mtd-partial_eraseblock_unlock.patch | 18 + .../patches-3.18/420-mtd-redboot_space.patch | 30 + ...30-mtd-add-myloader-partition-parser.patch | 35 + ...check-for-bad-blocks-when-calculatin.patch | 100 + ...bcm47xxpart-detect-T_Meter-partition.patch | 42 + .../patches-3.18/440-block2mtd_init.patch | 107 + .../patches-3.18/441-block2mtd_probe.patch | 110 + ...-to-use-platform-specific-chip-fixup.patch | 37 + ...n-code-of-nand_correct_data-function.patch | 11 + ...mtd-cfi_cmdset_0002-no-erase_suspend.patch | 11 + ...et_0002-add-buffer-write-cmd-timeout.patch | 18 + ...add-support-for-Winbond-W25X05-flash.patch | 20 + ...support-for-the-Macronix-MX25L512E-S.patch | 21 + ...support-for-the-ISSI-SI25CD512-SPI-f.patch | 22 + ...mtd-spi-nor-add-macronix-mx25u25635f.patch | 10 + .../480-mtd-set-rootfs-to-be-root-dev.patch | 26 + ...mtd-device-named-ubi-or-data-on-boot.patch | 76 + ...to-create-ubiblock-device-for-rootfs.patch | 69 + ...ting-ubi0-rootfs-in-init-do_mounts.c.patch | 54 + ...ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 37 + .../494-mtd-ubi-add-EOF-marker-support.patch | 51 + .../500-yaffs-Kbuild-integration.patch | 18 + .../502-yaffs-fix-compat-tags-handling.patch | 239 + ...3-yaffs-add-tags-9bytes-mount-option.patch | 115 + .../504-yaffs-3.16-new-fops.patch | 25 + .../530-jffs2_make_lzma_available.patch | 5142 +++ .../patches-3.18/531-debloat_lzma.patch | 1024 + .../patches-3.18/532-jffs2_eofdetect.patch | 56 + .../540-crypto-xz-decompression-support.patch | 146 + .../541-ubifs-xz-decompression-support.patch | 92 + .../550-ubifs-symlink-xattr-support.patch | 55 + ...fs-fix-default-compression-selection.patch | 29 + .../600-netfilter_conntrack_flush.patch | 86 + ...etfilter_match_bypass_default_checks.patch | 84 + ...netfilter_match_bypass_default_table.patch | 94 + ...netfilter_match_reduce_memory_access.patch | 16 + ...-netfilter_optional_tcp_window_check.patch | 36 + .../615-netfilter_add_xt_id_match.patch | 95 + .../616-net_optimize_xfrm_calls.patch | 12 + .../patches-3.18/621-sched_act_connmark.patch | 161 + .../patches-3.18/630-packet_socket_type.patch | 134 + .../640-bridge_no_eap_forward.patch | 23 + .../641-bridge_always_accept_eap.patch | 17 + .../642-bridge_port_isolate.patch | 107 + .../645-bridge_multicast_to_unicast.patch | 390 + .../patches-3.18/650-pppoe_header_pad.patch | 20 + .../651-wireless_mesh_header.patch | 11 + .../653-disable_netlink_trim.patch | 30 + .../patches-3.18/655-increase_skb_pad.patch | 11 + .../656-skb_reduce_truesize-helper.patch | 41 + .../657-qdisc_reduce_truesize.patch | 63 + .../patches-3.18/660-fq_codel_defaults.patch | 13 + .../661-fq_codel_keep_dropped_stats.patch | 10 + .../662-use_fq_codel_by_default.patch | 95 + .../patches-3.18/663-remove_pfifo_fast.patch | 143 + ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 481 + ...urce-specific-default-route-handling.patch | 96 + ...ng-with-source-address-failed-policy.patch | 249 + ...nes-for-_POLICY_FAILED-until-all-cod.patch | 53 + ...T-skip-GRO-for-foreign-MAC-addresses.patch | 160 + .../681-NET-add-of_get_mac_address_mtd.patch | 88 + .../generic/patches-3.18/700-swconfig.patch | 39 + .../patches-3.18/701-phy_extension.patch | 63 + .../702-phy_add_aneg_done_function.patch | 27 + ...detach-callback-to-struct-phy_driver.patch | 27 + .../704-phy-no-genphy-soft-reset.patch | 29 + ...710-phy-add-mdio_register_board_info.patch | 192 + .../patches-3.18/720-phy_adm6996.patch | 26 + .../patches-3.18/721-phy_packets.patch | 161 + .../patches-3.18/722-phy_mvswitch.patch | 23 + .../generic/patches-3.18/723-phy_ip175c.patch | 23 + .../generic/patches-3.18/724-phy_ar8216.patch | 24 + .../patches-3.18/725-phy_rtl8306.patch | 23 + .../patches-3.18/726-phy_rtl8366.patch | 45 + .../patches-3.18/727-phy-rtl8367.patch | 23 + .../patches-3.18/728-phy-rtl8367b.patch | 23 + .../generic/patches-3.18/729-phy-tantos.patch | 21 + .../generic/patches-3.18/730-phy_b53.patch | 21 + .../732-phy-ar8216-led-support.patch | 13 + .../patches-3.18/733-phy_mvsw61xx.patch | 23 + ...-at803x-allow-to-configure-via-pdata.patch | 180 + ...net-phy-at803x-fix-at8033-sgmii-mode.patch | 96 + .../760-8139cp-fixes-from-4.3.patch | 365 + .../773-bgmac-add-srab-switch.patch | 72 + .../785-hso-support-0af0-9300.patch | 25 + .../810-pci_disable_common_quirks.patch | 51 + .../811-pci_disable_usb_common_quirks.patch | 101 + .../patches-3.18/821-usb-dwc2-dualrole.patch | 146 + .../patches-3.18/831-ledtrig_netdev.patch | 21 + .../patches-3.18/834-ledtrig-libata.patch | 153 + .../generic/patches-3.18/840-rtc7301.patch | 250 + .../patches-3.18/841-rtc_pt7c4338.patch | 247 + .../861-04_spi_gpio_implement_spi_delay.patch | 58 + .../patches-3.18/862-gpio_spi_driver.patch | 373 + .../generic/patches-3.18/863-gpiommc.patch | 844 + .../864-gpiommc_configfs_locking.patch | 58 + .../patches-3.18/870-hifn795x_byteswap.patch | 17 + .../880-gateworks_system_controller.patch | 339 + .../890-8250_optional_sysrq.patch | 24 + .../patches-3.18/901-debloat_sock_diag.patch | 65 + .../patches-3.18/902-debloat_proc.patch | 341 + .../patches-3.18/903-debloat_direct_io.patch | 83 + .../patches-3.18/904-debloat_dma_buf.patch | 44 + .../patches-3.18/910-kobject_uevent.patch | 21 + .../911-kobject_add_broadcast_uevent.patch | 65 + .../921-use_preinit_as_init.patch | 12 + ...ays-create-console-node-in-initramfs.patch | 30 + .../generic/patches-3.18/930-crashlog.patch | 276 + ...e-filenames-from-deps_initramfs-list.patch | 29 + .../980-arm_openwrt_machtypes.patch | 32 + .../generic/patches-3.18/990-gpio_wdt.patch | 360 + .../patches-3.18/995-mangle_bootargs.patch | 58 + .../997-device_tree_cmdline.patch | 24 + ...able_wilink_platform_without_drivers.patch | 15 + .../patches-3.18/999-seccomp_log.patch | 34 + ...e-config.detected-into-OUTPUT-direct.patch | 54 + ...s-Fix-makefile-generation-under-dash.patch | 27 + .../patches-4.1/020-ssb-backport.patch | 686 + .../generic/patches-4.1/021-ssb_sprom.patch | 32 + .../patches-4.1/022-bcma-from-4.2.patch | 86 + .../patches-4.1/023-bcma-from-4.4.patch | 26 + .../patches-4.1/024-bcma-from-4.5.patch | 49 + .../patches-4.1/025-bcma-from-4.6.patch | 716 + .../030-backport_bcm47xx_nvram.patch | 37 + .../040-fs-overlay-fix-stacking.patch | 33 + ...nce-error-output-if-MS_SILENT-is-set.patch | 32 + ...ence-early-error-if-MS_SILENT-is-set.patch | 54 + .../050-backport_netfilter_rtcache.patch | 505 + .../060-mips_decompressor_memmove.patch | 22 + ...fix-MAC-soft-reset-bit-for-corerev-4.patch | 24 + ...bgmac-reset-all-4-GMAC-cores-on-init.patch | 28 + ...ment-fix-headroom-tests-and-skb-leak.patch | 101 + ...ncrease-headroom-on-received-packets.patch | 54 + ...ore-Introduce-a-USB-port-LED-trigger.patch | 464 + .../090-m25p80_spi-nor_update_to_4.4rc1.patch | 1129 + ...ility-of-linux-in.h-with-netinet-in..patch | 146 + ...ags-FOLL_WRITE-games-from-__get_user.patch | 90 + .../patches-4.1/102-ehci_hcd_ignore_oc.patch | 82 + ...ame2-and-add-RENAME_WHITEOUT-support.patch | 86 + ...11-jffs2-add-RENAME_EXCHANGE-support.patch | 58 + ...ge_allow_receiption_on_disabled_port.patch | 54 + .../patches-4.1/132-mips_inline_dma_ops.patch | 697 + ...-__arch_swab-16-32-64-when-using-MIP.patch | 53 + ...-generic-parsing-of-linux-part-probe.patch | 175 + ...or-disable-protection-for-Winbond-fl.patch | 35 + ...ude-mtd.h-header-for-struct-mtd_info.patch | 38 + ...limit-scanned-flash-area-on-BCM47XX-.patch | 33 + ...part-don-t-fail-because-of-bit-flips.patch | 92 + ...ci-make-USB_XHCI_PLATFORM-selectable.patch | 41 + ...t_for_moving_ndp_to_end_of_ncm_frame.patch | 232 + ...-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch | 96 + .../patches-4.1/200-fix_localversion.patch | 11 + .../patches-4.1/201-extra_optimization.patch | 14 + .../patches-4.1/202-reduce_module_size.patch | 11 + .../203-kallsyms_uncompressed.patch | 108 + .../patches-4.1/204-module_strip.patch | 194 + .../205-backtrace_module_info.patch | 36 + .../210-darwin_scripts_include.patch | 3088 ++ .../212-byteshift_portability.patch | 51 + .../214-spidev_h_portability.patch | 11 + .../generic/patches-4.1/220-gc_sections.patch | 536 + .../patches-4.1/221-module_exports.patch | 88 + ...ld-Do-not-fail-on-missing-Build-file.patch | 57 + .../230-openwrt_lzma_options.patch | 58 + .../patches-4.1/250-netfilter_depends.patch | 18 + .../patches-4.1/251-sound_kconfig.patch | 18 + .../patches-4.1/252-mv_cesa_depends.patch | 10 + .../patches-4.1/253-ssb_b43_default_on.patch | 29 + .../254-textsearch_kconfig_hacks.patch | 23 + .../255-lib80211_kconfig_hacks.patch | 31 + .../256-crypto_add_kconfig_prompts.patch | 47 + .../257-wireless_ext_kconfig_hack.patch | 22 + .../258-netfilter_netlink_kconfig_hack.patch | 11 + .../patches-4.1/259-regmap_dynamic.patch | 87 + .../260-crypto_test_dependencies.patch | 37 + ...libc-specific-inclusion-of-sysinfo.h.patch | 34 + ...bc-compat.h-do-not-rely-on-__GLIBC__.patch | 81 + ...prevent-redefinition-of-struct-ethhd.patch | 67 + .../300-mips_expose_boot_raw.patch | 39 + .../301-mips_image_cmdline_hack.patch | 28 + .../302-mips_no_branch_likely.patch | 11 + .../patches-4.1/304-mips_disable_fpu.patch | 106 + .../patches-4.1/305-mips_module_reloc.patch | 352 + .../306-mips_mem_functions_performance.patch | 83 + .../patches-4.1/307-mips_highmem_offset.patch | 17 + .../310-arm_module_unresolved_weak_sym.patch | 13 + .../patches-4.1/320-ppc4xx_optimization.patch | 31 + .../321-powerpc_crtsavres_prereq.patch | 10 + ...t-command-line-parameters-from-users.patch | 298 + .../400-mtd-add-rootfs-split-support.patch | 146 + ...for-different-partition-parser-types.patch | 113 + ...arsers-for-rootfs-and-firmware-split.patch | 72 + .../403-mtd-hook-mtdsplit-to-Kbuild.patch | 22 + .../404-mtd-add-more-helper-functions.patch | 101 + ...405-mtd-old-firmware-uimage-splitter.patch | 70 + ...rward-declaration-of-struct-mtd_info.patch | 18 + .../411-mtd-partial_eraseblock_write.patch | 142 + .../412-mtd-partial_eraseblock_unlock.patch | 18 + .../patches-4.1/420-mtd-redboot_space.patch | 30 + ...30-mtd-add-myloader-partition-parser.patch | 35 + ...check-for-bad-blocks-when-calculatin.patch | 100 + ...bcm47xxpart-detect-T_Meter-partition.patch | 42 + .../patches-4.1/440-block2mtd_init.patch | 108 + .../patches-4.1/441-block2mtd_probe.patch | 39 + ...-to-use-platform-specific-chip-fixup.patch | 37 + ...n-code-of-nand_correct_data-function.patch | 11 + ...mtd-cfi_cmdset_0002-no-erase_suspend.patch | 11 + ...et_0002-add-buffer-write-cmd-timeout.patch | 18 + ...25p80-mx-disable-software-protection.patch | 14 + .../480-mtd-set-rootfs-to-be-root-dev.patch | 26 + ...mtd-device-named-ubi-or-data-on-boot.patch | 76 + ...to-create-ubiblock-device-for-rootfs.patch | 69 + ...ting-ubi0-rootfs-in-init-do_mounts.c.patch | 54 + ...ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 37 + .../494-mtd-ubi-add-EOF-marker-support.patch | 51 + .../500-yaffs-Kbuild-integration.patch | 18 + .../502-yaffs-fix-compat-tags-handling.patch | 239 + ...3-yaffs-add-tags-9bytes-mount-option.patch | 115 + .../patches-4.1/504-yaffs-3.16-new-fops.patch | 29 + .../505-yaffs-3.19-f_dentry-remove.patch | 95 + .../530-jffs2_make_lzma_available.patch | 5142 +++ .../patches-4.1/531-debloat_lzma.patch | 1024 + .../patches-4.1/532-jffs2_eofdetect.patch | 56 + .../540-crypto-xz-decompression-support.patch | 146 + .../541-ubifs-xz-decompression-support.patch | 92 + ...fs-fix-default-compression-selection.patch | 29 + .../600-netfilter_conntrack_flush.patch | 86 + ...etfilter_match_bypass_default_checks.patch | 84 + ...netfilter_match_bypass_default_table.patch | 94 + ...netfilter_match_reduce_memory_access.patch | 16 + ...-netfilter_optional_tcp_window_check.patch | 36 + .../615-netfilter_add_xt_id_match.patch | 95 + .../616-net_optimize_xfrm_calls.patch | 12 + .../patches-4.1/630-packet_socket_type.patch | 134 + .../640-bridge_no_eap_forward.patch | 23 + .../641-bridge_always_accept_eap.patch | 17 + .../patches-4.1/642-bridge_port_isolate.patch | 107 + .../645-bridge_multicast_to_unicast.patch | 397 + .../patches-4.1/650-pppoe_header_pad.patch | 20 + .../651-wireless_mesh_header.patch | 11 + .../653-disable_netlink_trim.patch | 30 + .../patches-4.1/655-increase_skb_pad.patch | 11 + .../656-skb_reduce_truesize-helper.patch | 41 + .../657-qdisc_reduce_truesize.patch | 63 + .../patches-4.1/660-fq_codel_defaults.patch | 13 + .../661-fq_codel_keep_dropped_stats.patch | 10 + .../662-use_fq_codel_by_default.patch | 75 + .../patches-4.1/663-remove_pfifo_fast.patch | 143 + .../patches-4.1/664-codel_fix_3_12.patch | 22 + ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 495 + ...ng-with-source-address-failed-policy.patch | 249 + ...nes-for-_POLICY_FAILED-until-all-cod.patch | 53 + ...T-skip-GRO-for-foreign-MAC-addresses.patch | 160 + .../681-NET-add-of_get_mac_address_mtd.patch | 88 + .../generic/patches-4.1/700-swconfig.patch | 39 + .../patches-4.1/701-phy_extension.patch | 63 + .../702-phy_add_aneg_done_function.patch | 27 + ...detach-callback-to-struct-phy_driver.patch | 27 + .../704-phy-no-genphy-soft-reset.patch | 29 + ...710-phy-add-mdio_register_board_info.patch | 193 + .../generic/patches-4.1/720-phy_adm6996.patch | 26 + .../generic/patches-4.1/721-phy_packets.patch | 161 + .../patches-4.1/722-phy_mvswitch.patch | 23 + .../generic/patches-4.1/723-phy_ip175c.patch | 23 + .../generic/patches-4.1/724-phy_ar8216.patch | 24 + .../generic/patches-4.1/725-phy_rtl8306.patch | 23 + .../generic/patches-4.1/726-phy_rtl8366.patch | 45 + .../generic/patches-4.1/727-phy-rtl8367.patch | 23 + .../patches-4.1/728-phy-rtl8367b.patch | 23 + .../generic/patches-4.1/729-phy-tantos.patch | 21 + .../generic/patches-4.1/730-phy_b53.patch | 21 + .../732-phy-ar8216-led-support.patch | 13 + .../patches-4.1/733-phy_mvsw61xx.patch | 23 + ...-at803x-allow-to-configure-via-pdata.patch | 180 + ...net-phy-at803x-fix-at8033-sgmii-mode.patch | 96 + .../760-8139cp-fixes-from-4.3.patch | 365 + .../761-8139cp-fixes-from-4.4.patch | 103 + .../773-bgmac-add-srab-switch.patch | 72 + .../785-hso-support-0af0-9300.patch | 25 + .../810-pci_disable_common_quirks.patch | 51 + .../811-pci_disable_usb_common_quirks.patch | 101 + .../patches-4.1/831-ledtrig_netdev.patch | 21 + .../patches-4.1/834-ledtrig-libata.patch | 153 + .../generic/patches-4.1/840-rtc7301.patch | 250 + .../patches-4.1/841-rtc_pt7c4338.patch | 247 + .../861-04_spi_gpio_implement_spi_delay.patch | 58 + .../patches-4.1/862-gpio_spi_driver.patch | 373 + .../generic/patches-4.1/863-gpiommc.patch | 844 + .../864-gpiommc_configfs_locking.patch | 58 + .../patches-4.1/870-hifn795x_byteswap.patch | 17 + .../880-gateworks_system_controller.patch | 339 + .../patches-4.1/890-8250_optional_sysrq.patch | 24 + .../patches-4.1/901-debloat_sock_diag.patch | 65 + .../patches-4.1/902-debloat_proc.patch | 385 + .../patches-4.1/903-debloat_direct_io.patch | 80 + .../patches-4.1/904-debloat_dma_buf.patch | 44 + .../patches-4.1/910-kobject_uevent.patch | 21 + .../911-kobject_add_broadcast_uevent.patch | 65 + .../patches-4.1/921-use_preinit_as_init.patch | 12 + ...ays-create-console-node-in-initramfs.patch | 30 + .../generic/patches-4.1/930-crashlog.patch | 276 + ...e-filenames-from-deps_initramfs-list.patch | 29 + .../980-arm_openwrt_machtypes.patch | 32 + .../patches-4.1/995-mangle_bootargs.patch | 58 + .../patches-4.1/997-device_tree_cmdline.patch | 24 + ...able_wilink_platform_without_drivers.patch | 15 + ...dcode-path-to-awk-in-scripts-ld-vers.patch | 24 + .../patches-4.4/020-bcma-from-4.5.patch | 49 + .../patches-4.4/021-bcma-from-4.6.patch | 761 + .../patches-4.4/022-bcma-from-4.8.patch | 52 + .../patches-4.4/023-bcma-from-4.9.patch | 82 + ...l-add-batch-ability-to-fq_codel_drop.patch | 189 + ...odel-add-memory-limitation-per-queue.patch | 182 + ...fq_codel-fix-memory-limitation-drift.patch | 40 + ...35-fq_codel-fix-NET_XMIT_CN-behavior.patch | 70 + ...limit-scanned-flash-area-on-BCM47XX-.patch | 35 + ...part-don-t-fail-because-of-bit-flips.patch | 93 + ...h-use-ioremap_cache-instead-of-KSEG0.patch | 138 + ...endency-for-MTD_BCM47XXSFLASH-symbol.patch | 41 + ...h-use-uncached-MMIO-access-for-BCM53.patch | 59 + ...fix-parsing-first-block-after-aligne.patch | 40 + ...mx25l3205d-mx25l6405d-append-SECT_4K.patch | 27 + ...80-add-support-for-mmap-read-request.patch | 46 + ...nce-error-output-if-MS_SILENT-is-set.patch | 32 + ...ence-early-error-if-MS_SILENT-is-set.patch | 54 + .../050-backport_netfilter_rtcache.patch | 531 + ...001-ovl-rename-is_merge-to-is_lowest.patch | 72 + ...ds-with-the-ones-from-the-superblock.patch | 336 + ...1-0005-ovl-proper-cleanup-of-workdir.patch | 131 + .../052-01-ubifs-Implement-O_TMPFILE.patch | 99 + ...2-02-ubifs-Implement-RENAME_WHITEOUT.patch | 343 + ...2-03-ubifs-Implement-RENAME_EXCHANGE.patch | 267 + ...fs-Use-move-variable-in-ubifs_rename.patch | 30 + .../060-mips_decompressor_memmove.patch | 22 + ...061-softirq-let-ksoftirqd-do-its-job.patch | 83 + ...ac-fix-a-missing-check-for-build_skb.patch | 28 + ...ersed-test-of-build_skb-return-value.patch | 22 + ...bgmac-clarify-CONFIG_BCMA-dependency.patch | 46 + ...-checking-for-BCM4707-BCM53018-chip-.patch | 106 + ...port-Ethernet-device-on-BCM47094-SoC.patch | 39 + ...enable-Ethernet-core-before-using-it.patch | 31 + ...fix-MAC-soft-reset-bit-for-corerev-4.patch | 34 + ...device-with-backing-device-structure.patch | 25 + ...c-Add-support-for-ethtool-statistics.patch | 175 + ...gmac-Maintain-some-netdev-statistics.patch | 68 + ...ac-use-phydev-from-struct-net_device.patch | 105 + ...-0001-net-bgmac-Fix-SOF-bit-checking.patch | 37 + ...c-Start-transmit-queue-in-bgmac_open.patch | 28 + ...c-Remove-superflous-netif_carrier_on.patch | 28 + ...ac-change-bgmac_-prints-to-dev_-prin.patch | 407 + ...t-ethernet-bgmac-add-dma_dev-pointer.patch | 112 + ...ac-move-BCMA-MDIO-Phy-code-into-a-se.patch | 676 + ...ernet-bgmac-convert-to-feature-flags.patch | 384 + ...et-bgmac-Add-platform-device-support.patch | 1260 + ...ac-Fix-return-value-check-in-bgmac_p.patch | 26 + ...ac-Remove-redundant-dev_err-call-in-.patch | 42 + ...versed-check-for-MII-registration-er.patch | 28 + ...pport-Ethernet-core-on-BCM53573-SoCs.patch | 161 + ...t-clear-when-setting-interface-type-.patch | 31 + ...-bgmac-Fix-errant-feature-flag-check.patch | 33 + ...pelling-mistake-connecton-connection.patch | 25 + ...celerated-read-support-for-spi-flash.patch | 179 + ...spi_flash_read-callback-for-MMIO-bas.patch | 157 + ...core-let-USB-device-know-device-node.patch | 179 + ...usb_alloc_dev-fix-setting-of-portnum.patch | 108 + ...vm_-clk_hw_-register-unregister-APIs.patch | 182 + ...0002-clk-Add-clk_hw-OF-clk-providers.patch | 234 + ...ore-Introduce-a-USB-port-LED-trigger.patch | 465 + ...-Use-proper-LED-API-to-fix-potential.patch | 70 + ...-Set-of_node-for-created-LED-devices.patch | 53 + ...e-IPI-calls-for-CM-indexed-cache-ops.patch | 317 + ...4k-Exclude-sibling-CPUs-in-SMP-calls.patch | 37 + ...appended-dtb-to-the-end-of-the-kerne.patch | 132 + ...e-appended-dtb-address-in-a-variable.patch | 132 + .../096-arc-add-model-property-in-dts.patch | 163 + .../097-MIPS-io.h-Define-ioremap_cache.patch | 29 + ...fix-cache-flushing-for-highmem-pages.patch | 31 + .../patches-4.4/102-ehci_hcd_ignore_oc.patch | 82 + ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 86 + ...of_scan_flat_dt-before-accessing-ini.patch | 30 + ...ame2-and-add-RENAME_WHITEOUT-support.patch | 86 + ...11-jffs2-add-RENAME_EXCHANGE-support.patch | 58 + ...ge_allow_receiption_on_disabled_port.patch | 54 + .../patches-4.4/132-mips_inline_dma_ops.patch | 778 + ...-generic-parsing-of-linux-part-probe.patch | 183 + ...ude-mtd.h-header-for-struct-mtd_info.patch | 38 + ...support-for-ESMT_f25l32qa-and-ESMT_f.patch | 21 + ...dget-udc-net2280-add-usb2380-support.patch | 253 + ...versed-checks-for-clock-control-flag.patch | 32 + .../patches-4.4/200-fix_localversion.patch | 11 + .../patches-4.4/201-extra_optimization.patch | 18 + .../patches-4.4/202-reduce_module_size.patch | 11 + .../203-kallsyms_uncompressed.patch | 108 + .../patches-4.4/204-module_strip.patch | 194 + .../205-backtrace_module_info.patch | 36 + .../patches-4.4/206-mips-disable-vdso.patch | 21 + ...-mips-vdso-dbg-rebuild-after-genvdso.patch | 29 + .../210-darwin_scripts_include.patch | 3088 ++ .../patches-4.4/211-sign-file-libressl.patch | 16 + .../212-byteshift_portability.patch | 51 + .../214-spidev_h_portability.patch | 11 + .../generic/patches-4.4/220-gc_sections.patch | 536 + .../patches-4.4/221-module_exports.patch | 88 + .../patches-4.4/222-arm_zimage_none.patch | 133 + .../230-openwrt_lzma_options.patch | 58 + .../patches-4.4/250-netfilter_depends.patch | 18 + .../patches-4.4/251-sound_kconfig.patch | 18 + .../patches-4.4/252-mv_cesa_depends.patch | 10 + .../patches-4.4/253-ssb_b43_default_on.patch | 29 + .../254-textsearch_kconfig_hacks.patch | 23 + .../255-lib80211_kconfig_hacks.patch | 31 + .../256-crypto_add_kconfig_prompts.patch | 47 + .../257-wireless_ext_kconfig_hack.patch | 22 + .../258-netfilter_netlink_kconfig_hack.patch | 11 + .../patches-4.4/259-regmap_dynamic.patch | 87 + .../260-crypto_test_dependencies.patch | 48 + ...libc-specific-inclusion-of-sysinfo.h.patch | 34 + ...bc-compat.h-do-not-rely-on-__GLIBC__.patch | 94 + ...prevent-redefinition-of-struct-ethhd.patch | 67 + .../patches-4.4/280-rfkill-stubs.patch | 79 + .../300-mips_expose_boot_raw.patch | 39 + .../301-mips_image_cmdline_hack.patch | 28 + .../302-mips_no_branch_likely.patch | 11 + .../patches-4.4/304-mips_disable_fpu.patch | 106 + .../patches-4.4/305-mips_module_reloc.patch | 352 + .../306-mips_mem_functions_performance.patch | 83 + .../patches-4.4/307-mips_highmem_offset.patch | 17 + .../patches-4.4/308-mips32r2_tune.patch | 17 + .../310-arm_module_unresolved_weak_sym.patch | 13 + .../patches-4.4/320-ppc4xx_optimization.patch | 31 + .../321-powerpc_crtsavres_prereq.patch | 10 + ...t-command-line-parameters-from-users.patch | 298 + ...31-arc-remove-dependency-on-DEVTMPFS.patch | 31 + .../332-arc-add-OWRTDTB-section.patch | 82 + ...able-unaligned-access-in-kernel-mode.patch | 26 + .../400-mtd-add-rootfs-split-support.patch | 113 + ...for-different-partition-parser-types.patch | 113 + ...arsers-for-rootfs-and-firmware-split.patch | 71 + .../403-mtd-hook-mtdsplit-to-Kbuild.patch | 22 + .../404-mtd-add-more-helper-functions.patch | 101 + ...rward-declaration-of-struct-mtd_info.patch | 18 + .../411-mtd-partial_eraseblock_write.patch | 142 + .../412-mtd-partial_eraseblock_unlock.patch | 18 + .../patches-4.4/420-mtd-redboot_space.patch | 30 + ...30-mtd-add-myloader-partition-parser.patch | 35 + ...check-for-bad-blocks-when-calculatin.patch | 100 + ...bcm47xxpart-detect-T_Meter-partition.patch | 42 + .../patches-4.4/440-block2mtd_init.patch | 108 + .../patches-4.4/441-block2mtd_probe.patch | 39 + ...-to-use-platform-specific-chip-fixup.patch | 37 + ...n-code-of-nand_correct_data-function.patch | 11 + ...mtd-cfi_cmdset_0002-no-erase_suspend.patch | 11 + ...et_0002-add-buffer-write-cmd-timeout.patch | 18 + ...25p80-mx-disable-software-protection.patch | 14 + ...mtd-spi-nor-add-macronix-mx25u25635f.patch | 10 + .../476-mtd-spi-nor-add-eon-en25q128.patch | 10 + .../477-mtd-add-spi-nor-add-mx25u3235f.patch | 10 + .../480-mtd-set-rootfs-to-be-root-dev.patch | 26 + ...mtd-device-named-ubi-or-data-on-boot.patch | 76 + ...to-create-ubiblock-device-for-rootfs.patch | 69 + ...ting-ubi0-rootfs-in-init-do_mounts.c.patch | 54 + ...ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 37 + .../494-mtd-ubi-add-EOF-marker-support.patch | 51 + .../500-yaffs-Kbuild-integration.patch | 18 + .../502-yaffs-fix-compat-tags-handling.patch | 239 + ...3-yaffs-add-tags-9bytes-mount-option.patch | 115 + .../patches-4.4/504-yaffs-3.16-new-fops.patch | 29 + .../505-yaffs-3.19-f_dentry-remove.patch | 95 + ...2-using-new-follow_link-and-put_link.patch | 47 + .../530-jffs2_make_lzma_available.patch | 5142 +++ .../patches-4.4/531-debloat_lzma.patch | 1024 + .../patches-4.4/532-jffs2_eofdetect.patch | 56 + .../540-crypto-xz-decompression-support.patch | 146 + .../541-ubifs-xz-decompression-support.patch | 94 + ...fs-fix-default-compression-selection.patch | 29 + .../600-netfilter_conntrack_flush.patch | 86 + ...etfilter_match_bypass_default_checks.patch | 84 + ...netfilter_match_bypass_default_table.patch | 111 + ...netfilter_match_reduce_memory_access.patch | 16 + ...-netfilter_optional_tcp_window_check.patch | 36 + .../615-netfilter_add_xt_id_match.patch | 95 + .../616-net_optimize_xfrm_calls.patch | 12 + .../patches-4.4/630-packet_socket_type.patch | 134 + .../640-bridge_no_eap_forward.patch | 23 + .../641-bridge_always_accept_eap.patch | 17 + .../patches-4.4/642-bridge_port_isolate.patch | 107 + .../645-bridge_multicast_to_unicast.patch | 420 + .../patches-4.4/650-pppoe_header_pad.patch | 20 + .../651-wireless_mesh_header.patch | 11 + .../653-disable_netlink_trim.patch | 30 + .../patches-4.4/655-increase_skb_pad.patch | 11 + .../patches-4.4/660-fq_codel_defaults.patch | 11 + .../661-fq_codel_keep_dropped_stats.patch | 10 + .../662-use_fq_codel_by_default.patch | 95 + .../patches-4.4/663-remove_pfifo_fast.patch | 142 + ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 496 + ...ng-with-source-address-failed-policy.patch | 249 + ...nes-for-_POLICY_FAILED-until-all-cod.patch | 53 + ...T-skip-GRO-for-foreign-MAC-addresses.patch | 160 + .../681-NET-add-of_get_mac_address_mtd.patch | 128 + .../generic/patches-4.4/700-swconfig.patch | 39 + .../patches-4.4/701-phy_extension.patch | 63 + .../702-phy_add_aneg_done_function.patch | 27 + ...detach-callback-to-struct-phy_driver.patch | 27 + .../704-phy-no-genphy-soft-reset.patch | 29 + ...710-phy-add-mdio_register_board_info.patch | 193 + .../generic/patches-4.4/720-phy_adm6996.patch | 26 + .../generic/patches-4.4/721-phy_packets.patch | 161 + .../patches-4.4/722-phy_mvswitch.patch | 23 + .../generic/patches-4.4/723-phy_ip175c.patch | 23 + .../generic/patches-4.4/724-phy_ar8216.patch | 24 + .../generic/patches-4.4/725-phy_rtl8306.patch | 23 + .../generic/patches-4.4/726-phy_rtl8366.patch | 45 + .../generic/patches-4.4/727-phy-rtl8367.patch | 23 + .../patches-4.4/728-phy-rtl8367b.patch | 23 + .../generic/patches-4.4/729-phy-tantos.patch | 21 + .../generic/patches-4.4/730-phy_b53.patch | 21 + .../732-phy-ar8216-led-support.patch | 13 + .../patches-4.4/733-phy_mvsw61xx.patch | 23 + ...-at803x-allow-to-configure-via-pdata.patch | 180 + ...net-phy-at803x-fix-at8033-sgmii-mode.patch | 96 + .../736-at803x-fix-reset-handling.patch | 43 + ...equest-reset-GPIO-only-for-AT8030-PH.patch | 42 + ...nly-the-AT8030-needs-a-hardware-rese.patch | 81 + ...et-phy-at803x-add-support-for-AT8032.patch | 65 + .../773-bgmac-add-srab-switch.patch | 88 + .../785-hso-support-0af0-9300.patch | 25 + .../810-pci_disable_common_quirks.patch | 51 + .../811-pci_disable_usb_common_quirks.patch | 101 + ...ove-annoying-warning-about-bogus-URB.patch | 78 + .../patches-4.4/831-ledtrig_netdev.patch | 21 + .../patches-4.4/834-ledtrig-libata.patch | 153 + .../patches-4.4/835-misc-owl_loader.patch | 31 + .../generic/patches-4.4/840-rtc7301.patch | 250 + .../patches-4.4/841-rtc_pt7c4338.patch | 247 + .../861-04_spi_gpio_implement_spi_delay.patch | 58 + .../patches-4.4/862-gpio_spi_driver.patch | 373 + .../generic/patches-4.4/863-gpiommc.patch | 844 + .../864-gpiommc_configfs_locking.patch | 58 + .../patches-4.4/870-hifn795x_byteswap.patch | 17 + .../880-gateworks_system_controller.patch | 339 + .../patches-4.4/890-uart_optional_sysrq.patch | 25 + .../patches-4.4/901-debloat_sock_diag.patch | 79 + .../patches-4.4/902-debloat_proc.patch | 385 + .../patches-4.4/903-debloat_direct_io.patch | 80 + .../patches-4.4/904-debloat_dma_buf.patch | 44 + .../patches-4.4/910-kobject_uevent.patch | 21 + .../911-kobject_add_broadcast_uevent.patch | 65 + .../patches-4.4/921-use_preinit_as_init.patch | 12 + ...ays-create-console-node-in-initramfs.patch | 30 + .../generic/patches-4.4/930-crashlog.patch | 317 + ...e-filenames-from-deps_initramfs-list.patch | 29 + .../980-arm_openwrt_machtypes.patch | 32 + .../patches-4.4/995-mangle_bootargs.patch | 58 + ...able_wilink_platform_without_drivers.patch | 15 + target/linux/sunxi/Makefile | 32 + .../sunxi/base-files/etc/board.d/02_network | 26 + target/linux/sunxi/base-files/etc/inittab | 5 + .../lib/firmware/brcm/brcmfmac4329-sdio.txt | 57 + .../lib/firmware/brcm/brcmfmac43362-sdio.txt | 51 + .../lib/preinit/01_preinit_sunxi.sh | 9 + .../base-files/lib/preinit/02_b53_hack.sh | 17 + target/linux/sunxi/base-files/lib/sunxi.sh | 150 + target/linux/sunxi/config-4.4 | 533 + target/linux/sunxi/image/Config.in | 5 + target/linux/sunxi/image/Makefile | 121 + .../linux/sunxi/image/gen_sunxi_sdcard_img.sh | 35 + target/linux/sunxi/modules.mk | 125 + ...100-clk-sunxi-add-dram-gates-support.patch | 39 + .../101-dt-sun4i-add-dram-gates.patch | 88 + .../102-dt-sun7i-add-dram-gates.patch | 77 + .../103-clk-sunxi-add-h3-clksupport.patch | 180 + .../104-1-dt-sunxi-add-h3-dtsi.patch | 515 + .../104-2-dt-sun8i-add-orangepi-plus.patch | 111 + .../105-phy-use_of_match_node.patch | 218 + .../patches-4.4/106-phy-add-h3-usbphys.patch | 124 + .../107-clk-sunxi-add-h3-usbphy-clocks.patch | 47 + .../110-clk-sunxi-add-ve-for-sun457i.patch | 226 + .../111-1-dt-sun4i-add-ve-clock-module.patch | 32 + .../111-2-dt-sun7i-add-ve-clock-module.patch | 32 + .../115-musb-ignore-vbus-errors.patch | 26 + .../130-pinctrl-sunxi-add-h3-pio.patch | 568 + .../patches-4.4/131-reset-add-h3-resets.patch | 92 + .../132-dt-sun8i-add-h3-usbclocks.patch | 34 + ...-sun8i-add-usbphy-usbhost-ctrl-nodes.patch | 123 + ...dt-sun8i-orangepiplus-enable-usbhost.patch | 77 + .../135-clk-sunxi-fix-signedness-bug.patch | 25 + ...et-add-of_reset_control_get_by_index.patch | 109 + .../141-reset-fix-of_reset_control_get.patch | 39 + ...reset-use-ENOTSUPP-instead-of-ENOSYS.patch | 87 + ...eset-add-shared-resetcontrol-asserts.patch | 265 + ...lat-support-multiple-reset-ctrllines.patch | 127 + ...lat-support-multiple-reset-ctrllines.patch | 128 + ...50-dt-sun7i-enable-codec-on-pcduino3.patch | 27 + .../200-dt-sun7i-add-lamobo-r1.patch | 330 + target/linux/sunxi/profiles/01-default.mk | 17 + target/linux/sunxi/profiles/a10-olinuxino.mk | 19 + target/linux/sunxi/profiles/a13-olimex-som.mk | 18 + target/linux/sunxi/profiles/a13-olinuxino.mk | 18 + target/linux/sunxi/profiles/a20-olinuxino.mk | 33 + target/linux/sunxi/profiles/bananapi.mk | 18 + target/linux/sunxi/profiles/bananapro.mk | 19 + target/linux/sunxi/profiles/cubieboard.mk | 19 + target/linux/sunxi/profiles/cubieboard2.mk | 19 + target/linux/sunxi/profiles/cubietruck.mk | 19 + target/linux/sunxi/profiles/lamobo-r1.mk | 19 + target/linux/sunxi/profiles/mele_m9.mk | 18 + target/linux/sunxi/profiles/orangepi_plus.mk | 18 + target/linux/sunxi/profiles/pcduino.mk | 18 + target/linux/sunxi/profiles/pcduino3.mk | 19 + target/linux/uml/Makefile | 42 + target/linux/uml/README | 45 + target/linux/uml/base-files/etc/inittab | 4 + target/linux/uml/config/i386 | 178 + target/linux/uml/config/x86_64 | 153 + target/linux/uml/image/Makefile | 24 + .../uml/patches-4.4/101-mconsole-exec.patch | 211 + .../patches-4.4/102-pseudo-random-mac.patch | 124 + target/linux/x86/64/config-default | 271 + target/linux/x86/64/profiles/000-Generic.mk | 15 + target/linux/x86/64/target.mk | 7 + target/linux/x86/Makefile | 28 + target/linux/x86/base-files/etc/inittab | 4 + .../lib/preinit/15_essential_fs_x86 | 8 + .../x86/base-files/lib/preinit/20_check_iso | 5 + .../x86/base-files/lib/preinit/20_sysinfo | 28 + .../x86/base-files/lib/preinit/79_move_config | 17 + .../x86/base-files/lib/upgrade/platform.sh | 163 + target/linux/x86/config-4.4 | 450 + target/linux/x86/generic/config-default | 345 + .../linux/x86/generic/profiles/000-Generic.mk | 18 + target/linux/x86/generic/target.mk | 11 + target/linux/x86/geode/config-default | 76 + target/linux/x86/geode/target.mk | 14 + target/linux/x86/image/Makefile | 194 + target/linux/x86/image/gen_image_generic.sh | 37 + target/linux/x86/image/grub-early.cfg | 1 + target/linux/x86/image/grub-iso.cfg | 10 + target/linux/x86/image/grub.cfg | 13 + target/linux/x86/legacy/config-default | 215 + .../linux/x86/legacy/profiles/000-Generic.mk | 18 + target/linux/x86/legacy/target.mk | 7 + .../patches-4.4/011-tune_lzma_options.patch | 22 + .../patches-4.4/100-fix_cs5535_clockevt.patch | 12 + .../linux/x86/xen_domu/base-files/etc/inittab | 5 + .../base-files/lib/preinit/45_mount_xenfs | 11 + target/linux/x86/xen_domu/config-default | 100 + .../x86/xen_domu/profiles/000-Generic.mk | 15 + target/linux/x86/xen_domu/target.mk | 4 + target/linux/xburst/Makefile | 25 + .../xburst/base-files/etc/board.d/01_system | 12 + .../linux/xburst/base-files/etc/config/fstab | 6 + .../xburst/base-files/etc/config/network | 13 + target/linux/xburst/config-3.18 | 354 + target/linux/xburst/image/Makefile | 51 + target/linux/xburst/image/ubinize.cfg | 14 + target/linux/xburst/modules.mk | 40 + ...e-vid-header-instead-of-the-whole-pa.patch | 20 + ...-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch | 43 + ...-for-subpage-reads-for-NAND_ECC_HW_O.patch | 104 + ...y-activation-of-the-DAC-to-work-arou.patch | 33 + ...it-the-regulator-register-on-startup.patch | 55 + .../006-Add-ili8960-lcd-driver.patch | 309 + ...e-3-wire-spi-mode-for-the-display-fo.patch | 21 + target/linux/xburst/qi_lb60/config-default | 33 + target/linux/xburst/qi_lb60/target.mk | 1 + target/sdk/Config.in | 9 + target/sdk/Makefile | 136 + target/sdk/convert-config.pl | 59 + target/sdk/files/Config.in | 31 + target/sdk/files/Makefile | 59 + target/sdk/files/README.SDK | 11 + target/sdk/files/include/prepare.mk | 17 + target/toolchain/Config.in | 8 + target/toolchain/Makefile | 72 + target/toolchain/files/README.TOOLCHAIN | 2 + target/toolchain/files/wrapper.sh | 95 + toolchain/Config.in | 337 + toolchain/Makefile | 91 + toolchain/binutils/Config.in | 32 + toolchain/binutils/Config.version | 17 + toolchain/binutils/Makefile | 127 + .../2.25.1/300-001_ld_makefile_patch.patch | 22 + .../300-012_check_ldrunpath_length.patch | 20 + .../400-mips_no_dynamic_linking_sym.patch | 18 + ...e-default-emulation-for-mips64-linux.patch | 37 + .../2.27/300-001_ld_makefile_patch.patch | 22 + .../2.27/300-012_check_ldrunpath_length.patch | 20 + .../400-mips_no_dynamic_linking_sym.patch | 18 + ...e-default-emulation-for-mips64-linux.patch | 37 + .../arc-2016.03/200-arc-fix-target-mask.patch | 13 + toolchain/fortify-headers/Makefile | 28 + toolchain/gcc/Config.in | 80 + toolchain/gcc/Config.version | 13 + toolchain/gcc/common.mk | 221 + toolchain/gcc/files/alternate-arch-cc.in | 3 + toolchain/gcc/final/Makefile | 87 + toolchain/gcc/initial/Makefile | 36 + toolchain/gcc/minimal/Makefile | 29 + .../001-revert_register_mode_search.patch | 65 + .../patches/5.4.0/002-case_insensitive.patch | 14 + .../gcc/patches/5.4.0/010-documentation.patch | 23 + .../patches/5.4.0/020-no-plt-backport.patch | 28 + .../5.4.0/040-fix-mips-ICE-PR-68400.patch | 23 + .../gcc/patches/5.4.0/100-uclibc-conf.patch | 33 + .../gcc/patches/5.4.0/200-musl_config.patch | 309 + .../gcc/patches/5.4.0/201-musl_arm.patch | 43 + .../gcc/patches/5.4.0/202-musl_mips.patch | 35 + .../gcc/patches/5.4.0/203-musl_powerpc.patch | 209 + toolchain/gcc/patches/5.4.0/204-musl_sh.patch | 39 + .../gcc/patches/5.4.0/205-musl_x86.patch | 41 + .../gcc/patches/5.4.0/206-musl_aarch64.patch | 31 + .../patches/5.4.0/207-musl_fixincludes.patch | 30 + .../patches/5.4.0/209-musl_libstdc++.patch | 72 + .../gcc/patches/5.4.0/230-musl_libssp.patch | 13 + .../patches/5.4.0/240-musl-libitm-fixes.patch | 61 + .../gcc/patches/5.4.0/250-add-musl.patch | 120 + .../5.4.0/260-musl-add-unwind-fix.patch | 34 + .../270-musl-add-powerpc-softfloat-fix.patch | 24 + .../280-musl-disable-ifunc-by-default.patch | 38 + .../300-mips_Os_cpu_rtx_cost_model.patch | 14 + .../5.4.0/800-arm_v5te_no_ldrd_strd.patch | 11 + .../5.4.0/810-arm-softfloat-libgcc.patch | 25 + .../gcc/patches/5.4.0/820-libgcc_pic.patch | 36 + .../5.4.0/830-arm_unbreak_armv4t.patch | 13 + .../5.4.0/840-armv4_pass_fix-v4bx_to_ld.patch | 19 + .../patches/5.4.0/850-use_shared_libgcc.patch | 47 + .../patches/5.4.0/851-libgcc_no_compat.patch | 12 + .../patches/5.4.0/870-ppc_no_crtsavres.patch | 11 + .../patches/5.4.0/880-no_java_section.patch | 11 + .../patches/5.4.0/900-bad-mips16-crt.patch | 9 + .../gcc/patches/5.4.0/910-mbsd_multi.patch | 222 + .../5.4.0/920-specs_nonfatal_getenv.patch | 15 + .../5.4.0/930-fix-mips-noexecstack.patch | 111 + .../931-fix-MIPS-softfloat-build-issue.patch | 174 + .../5.4.0/940-no-clobber-stamp-bits.patch | 11 + .../5.4.0/950-cpp_file_path_translation.patch | 182 + toolchain/gcc/patches/5.4.0/960-go_libm.patch | 11 + .../gcc/patches/5.4.0/970-warn_bug.patch | 11 + .../001-revert_register_mode_search.patch | 65 + .../patches/6.2.0/002-case_insensitive.patch | 14 + .../gcc/patches/6.2.0/010-documentation.patch | 23 + .../gcc/patches/6.2.0/100-uclibc-conf.patch | 33 + .../gcc/patches/6.2.0/230-musl_libssp.patch | 13 + .../280-musl-disable-ifunc-by-default.patch | 38 + .../300-mips_Os_cpu_rtx_cost_model.patch | 11 + .../6.2.0/800-arm_v5te_no_ldrd_strd.patch | 11 + .../6.2.0/810-arm-softfloat-libgcc.patch | 25 + .../gcc/patches/6.2.0/820-libgcc_pic.patch | 36 + .../6.2.0/830-arm_unbreak_armv4t.patch | 13 + .../6.2.0/840-armv4_pass_fix-v4bx_to_ld.patch | 19 + .../patches/6.2.0/850-use_shared_libgcc.patch | 47 + .../patches/6.2.0/851-libgcc_no_compat.patch | 12 + .../patches/6.2.0/870-ppc_no_crtsavres.patch | 11 + .../patches/6.2.0/880-no_java_section.patch | 11 + .../patches/6.2.0/900-bad-mips16-crt.patch | 9 + .../gcc/patches/6.2.0/910-mbsd_multi.patch | 222 + .../6.2.0/920-specs_nonfatal_getenv.patch | 15 + .../6.2.0/930-fix-mips-noexecstack.patch | 111 + .../6.2.0/940-no-clobber-stamp-bits.patch | 11 + .../6.2.0/950-cpp_file_path_translation.patch | 182 + .../001-revert_register_mode_search.patch | 65 + .../arc-2016.03/002-weak_data_fix.patch | 42 + .../003-universal_initializer.patch | 94 + .../arc-2016.03/004-case_insensitive.patch | 14 + .../arc-2016.03/010-documentation.patch | 23 + .../arc-2016.03/020-no-plt-backport.patch | 28 + .../patches/arc-2016.03/100-uclibc-conf.patch | 33 + ...210-disable_libsanitizer_off_t_check.patch | 11 + .../arc-2016.03/800-arc-disablelibgmon.patch | 18 + .../patches/arc-2016.03/820-libgcc_pic.patch | 36 + .../arc-2016.03/850-use_shared_libgcc.patch | 47 + .../arc-2016.03/851-libgcc_no_compat.patch | 12 + .../arc-2016.03/860-use_eh_frame.patch | 42 + .../arc-2016.03/870-ppc_no_crtsavres.patch | 11 + .../arc-2016.03/880-no_java_section.patch | 11 + .../patches/arc-2016.03/910-mbsd_multi.patch | 253 + .../920-specs_nonfatal_getenv.patch | 14 + .../940-no-clobber-stamp-bits.patch | 11 + .../950-fix-building-with-gcc6.patch | 153 + toolchain/gdb/Makefile | 68 + .../patches-arc/100-no_extern_inline.patch | 32 + .../gdb/patches-arc/110-no_testsuite.patch | 21 + .../120-fix-compile-flag-mismatch.patch | 11 + .../gdb/patches/100-no_extern_inline.patch | 32 + toolchain/gdb/patches/110-no_testsuite.patch | 21 + .../120-fix-compile-flag-mismatch.patch | 11 + toolchain/glibc/Config.in | 12 + toolchain/glibc/Config.version | 11 + toolchain/glibc/Makefile | 31 + toolchain/glibc/common.mk | 107 + toolchain/glibc/headers/Makefile | 28 + toolchain/glibc/include/libintl.h | 6 + .../patches/2.24/100-fix_cross_rpcgen.patch | 52 + .../2.24/200-add-dl-search-paths.patch | 14 + toolchain/info.mk | 6 + toolchain/insight/Makefile | 54 + .../600-fix-compile-flag-mismatch.patch | 31 + toolchain/kernel-headers/Makefile | 101 + toolchain/musl/Config.version | 8 + toolchain/musl/Makefile | 31 + toolchain/musl/common.mk | 59 + toolchain/musl/include/bits/wordsize.h | 1 + toolchain/musl/include/features.h | 48 + toolchain/musl/include/sgidefs.h | 73 + toolchain/musl/include/sys/cdefs.h | 378 + toolchain/musl/include/sys/glibc-types.h | 35 + toolchain/musl/include/sys/queue.h | 574 + ...ssion-in-tcsetattr-on-all-mips-archs.patch | 67 + ...ribute-to-some-function-declarations.patch | 197 + .../musl/patches/100-add_glob_onlydir.patch | 11 + .../patches/110-read_timezone_from_fs.patch | 28 + .../patches/200-add_libssp_nonshared.patch | 50 + toolchain/musl/patches/300-relative.patch | 11 + .../patches/400-fix_quoted_timezone.patch | 11 + .../musl/patches/900-iconv_size_hack.patch | 68 + .../musl/patches/901-crypt_size_hack.patch | 60 + toolchain/uClibc/Config.in | 6 + toolchain/uClibc/Config.version | 9 + toolchain/uClibc/Makefile | 41 + toolchain/uClibc/common.mk | 97 + toolchain/uClibc/config/arc | 10 + toolchain/uClibc/config/archs | 10 + toolchain/uClibc/config/arm | 9 + toolchain/uClibc/config/armeb | 9 + toolchain/uClibc/config/common | 226 + toolchain/uClibc/config/debug | 6 + toolchain/uClibc/config/i386 | 21 + toolchain/uClibc/config/i686 | 21 + toolchain/uClibc/config/m68k | 6 + toolchain/uClibc/config/mips | 18 + toolchain/uClibc/config/mips64 | 18 + toolchain/uClibc/config/mips64.32 | 19 + toolchain/uClibc/config/mips64.64 | 19 + toolchain/uClibc/config/mips64.n32 | 19 + toolchain/uClibc/config/mips64el | 18 + toolchain/uClibc/config/mips64el.32 | 19 + toolchain/uClibc/config/mips64el.64 | 19 + toolchain/uClibc/config/mips64el.n32 | 19 + toolchain/uClibc/config/mipsel | 18 + toolchain/uClibc/config/mipsel.cobalt | 18 + toolchain/uClibc/config/powerpc | 6 + toolchain/uClibc/config/powerpc.e500 | 6 + toolchain/uClibc/config/sparc | 8 + toolchain/uClibc/config/sparc.leon | 8 + toolchain/uClibc/config/x86_64 | 6 + toolchain/uClibc/headers/Makefile | 27 + toolchain/uClibc/utils/Makefile | 24 + toolchain/wrapper/Makefile | 62 + toolchain/yasm/Makefile | 63 + tools/Makefile | 143 + tools/autoconf/Makefile | 37 + tools/autoconf/patches/000-relocatable.patch | 229 + tools/autoconf/patches/001-no_emacs_lib.patch | 22 + .../patches/002-musl_host_fixup.patch | 24 + tools/automake/Makefile | 50 + tools/automake/files/aclocal | 2 + tools/automake/patches/000-relocatable.patch | 96 + ...clocal-skip-not-existing-directories.patch | 15 + .../200-do-not-override-silent-rules.patch | 13 + tools/bc/Makefile | 21 + tools/bc/patches/001-no_doc.patch | 23 + tools/bison/Makefile | 30 + .../bison/patches/010-intl-stub-compat.patch | 15 + .../bison/patches/100-fix-gets-removal.patch | 16 + tools/bison/scripts/yacc | 2 + tools/ccache/Makefile | 35 + tools/ccache/files/ccache_cc | 2 + tools/ccache/files/ccache_cxx | 2 + tools/ccache/patches/100-honour-copts.patch | 12 + .../110-disable-assembler-support.patch | 32 + tools/cloog/Makefile | 41 + tools/cmake/Makefile | 29 + .../cmake/patches/100-disable_qt_tests.patch | 31 + tools/cmake/patches/110-freebsd-compat.patch | 39 + .../patches/120-alpine_musl-compat.patch | 17 + ...am-libarchive-openssl-compat-headers.patch | 190 + ...eam-libarchive-openssl-1.1.x-support.patch | 379 + .../150-libarchive-fix-libressl-compat.patch | 22 + tools/coreutils/Makefile | 36 + tools/dosfstools/Makefile | 26 + ...64-32-heads-sectors-for-targets-smal.patch | 34 + ..._CHECK_LIB-for-iconv-library-linking.patch | 27 + tools/e2fsprogs/Makefile | 49 + .../001-exit_0_on_corrected_errors.patch | 11 + .../patches/002-dont-build-e4defrag.patch | 11 + .../patches/003-openbsd-compat.patch | 12 + .../patches/004-freebsd-compat.patch | 12 + .../e2fsprogs/patches/005-darwin-compat.patch | 22 + .../e2fsprogs/patches/010-old-libmagic.patch | 25 + tools/elftosb/Makefile | 26 + tools/elftosb/patches/001-libm.patch | 11 + .../elftosb/patches/002-fix-header-path.patch | 19 + tools/elftosb/patches/003-use-ldflags.patch | 26 + tools/expat/Makefile | 25 + tools/findutils/Makefile | 20 + tools/firmware-utils/Makefile | 88 + tools/firmware-utils/src/add_header.c | 138 + tools/firmware-utils/src/addpattern.c | 333 + tools/firmware-utils/src/asustrx.c | 256 + tools/firmware-utils/src/bcm_tag.h | 70 + tools/firmware-utils/src/bcmalgo.c | 248 + tools/firmware-utils/src/bcmalgo.h | 83 + tools/firmware-utils/src/buffalo-enc.c | 304 + tools/firmware-utils/src/buffalo-lib.c | 480 + tools/firmware-utils/src/buffalo-lib.h | 121 + tools/firmware-utils/src/buffalo-tag.c | 374 + tools/firmware-utils/src/buffalo-tftp.c | 177 + tools/firmware-utils/src/csysimg.h | 79 + tools/firmware-utils/src/cyg_crc.h | 109 + tools/firmware-utils/src/cyg_crc16.c | 110 + tools/firmware-utils/src/cyg_crc32.c | 172 + tools/firmware-utils/src/dgfirmware.c | 377 + tools/firmware-utils/src/dgn3500sum.c | 167 + tools/firmware-utils/src/edimax_fw_header.c | 386 + tools/firmware-utils/src/encode_crc.c | 151 + tools/firmware-utils/src/fix-u-media-header.c | 354 + tools/firmware-utils/src/fw.h | 70 + tools/firmware-utils/src/hcsmakeimage.c | 181 + tools/firmware-utils/src/imagetag.c | 492 + tools/firmware-utils/src/imagetag.ggo | 46 + tools/firmware-utils/src/imagetag_cmdline.c | 1193 + tools/firmware-utils/src/imagetag_cmdline.h | 275 + tools/firmware-utils/src/jcgimage.c | 403 + tools/firmware-utils/src/lzma2eva.c | 190 + tools/firmware-utils/src/makeamitbin.c | 316 + tools/firmware-utils/src/md5.c | 296 + tools/firmware-utils/src/md5.h | 45 + tools/firmware-utils/src/mkbrncmdline.c | 168 + tools/firmware-utils/src/mkbrnimg.c | 189 + tools/firmware-utils/src/mkbuffaloimg.c | 223 + tools/firmware-utils/src/mkcameofw.c | 433 + tools/firmware-utils/src/mkcasfw.c | 1030 + tools/firmware-utils/src/mkchkimg.c | 327 + tools/firmware-utils/src/mkcsysimg.c | 1157 + tools/firmware-utils/src/mkdapimg.c | 226 + tools/firmware-utils/src/mkdcs932.c | 39 + tools/firmware-utils/src/mkdniimg.c | 208 + tools/firmware-utils/src/mkedimaximg.c | 259 + tools/firmware-utils/src/mkfwimage.c | 471 + tools/firmware-utils/src/mkfwimage2.c | 451 + tools/firmware-utils/src/mkheader_gemtek.c | 211 + tools/firmware-utils/src/mkhilinkfw.c | 323 + tools/firmware-utils/src/mkmerakifw-old.c | 369 + tools/firmware-utils/src/mkmerakifw.c | 320 + tools/firmware-utils/src/mkmylofw.c | 1297 + tools/firmware-utils/src/mkplanexfw.c | 269 + tools/firmware-utils/src/mkporayfw.c | 791 + tools/firmware-utils/src/mkrtn56uimg.c | 294 + tools/firmware-utils/src/mksenaofw.c | 420 + tools/firmware-utils/src/mktitanimg.c | 1040 + tools/firmware-utils/src/mktitanimg.h | 171 + tools/firmware-utils/src/mktplinkfw.c | 885 + tools/firmware-utils/src/mktplinkfw2.c | 1001 + tools/firmware-utils/src/mkwrggimg.c | 283 + tools/firmware-utils/src/mkwrgimg.c | 240 + tools/firmware-utils/src/mkzcfw.c | 408 + tools/firmware-utils/src/mkzynfw.c | 1131 + tools/firmware-utils/src/motorola-bin.c | 227 + tools/firmware-utils/src/myloader.h | 176 + tools/firmware-utils/src/nand_ecc.c | 204 + tools/firmware-utils/src/osbridge-crc.c | 309 + tools/firmware-utils/src/oseama.c | 556 + tools/firmware-utils/src/pc1crypt.c | 361 + tools/firmware-utils/src/ptgen.c | 248 + tools/firmware-utils/src/seama.c | 529 + tools/firmware-utils/src/seama.h | 108 + tools/firmware-utils/src/sha1.c | 443 + tools/firmware-utils/src/sha1.h | 57 + tools/firmware-utils/src/spw303v.c | 243 + tools/firmware-utils/src/srec2bin.c | 524 + tools/firmware-utils/src/tplink-safeloader.c | 783 + tools/firmware-utils/src/trx.c | 418 + tools/firmware-utils/src/trx2edips.c | 171 + tools/firmware-utils/src/trx2usr.c | 186 + tools/firmware-utils/src/wrt400n.c | 336 + tools/firmware-utils/src/xorimage.c | 135 + tools/firmware-utils/src/zyimage.c | 148 + tools/firmware-utils/src/zynos.h | 225 + tools/firmware-utils/src/zyxbcm.c | 260 + tools/flex/Makefile | 27 + .../flex/patches/100-disable-tests-docs.patch | 13 + tools/flock/Makefile | 25 + tools/flock/src/flock.c | 342 + tools/genext2fs/Makefile | 51 + tools/genext2fs/patches/100-c99_scanf.patch | 21 + tools/genext2fs/patches/200-autoconf.patch | 13 + .../patches/300-blocksize-creator.patch | 558 + .../genext2fs/patches/400-byteswap_fix.patch | 44 + tools/gengetopt/Makefile | 30 + .../patches/100-dependency_fix.patch | 11 + .../gengetopt/patches/200-no_docs_tests.patch | 13 + tools/gmp/Makefile | 35 + tools/include/byteswap.h | 5 + tools/include/elf.h | 3007 ++ tools/include/endian.h | 40 + tools/include/getline.h | 72 + tools/include/sys/sysmacros.h | 56 + tools/isl/Makefile | 27 + tools/kernel2minor/Makefile | 31 + tools/libelf/Makefile | 51 + tools/libressl/Makefile | 24 + tools/libtool/Makefile | 41 + tools/libtool/files/libtool-v1.5.patch | 118 + tools/libtool/files/libtool-v2.2.patch | 123 + tools/libtool/files/libtool-v2.4.patch | 160 + tools/libtool/patches/000-relocatable.patch | 141 + .../libtool/patches/001-fix-func_append.patch | 22 + tools/libtool/patches/100-libdir-fixes.patch | 94 + ...10-dont-use-target-dir-for-relinking.patch | 20 + .../120-strip-unsafe-dirs-for-relinking.patch | 24 + tools/libtool/patches/150-trailingslash.patch | 49 + .../libtool/patches/160-passthrough-ssp.patch | 12 + .../patches/200-openwrt-branding.patch | 112 + tools/lzma-old/Makefile | 36 + tools/lzma-old/patches/100-lzma_zlib.patch | 404 + tools/lzma-old/patches/110-ranlib.patch | 10 + tools/lzma/Makefile | 36 + tools/lzma/patches/001-large_files.patch | 13 + tools/lzma/patches/002-lzmp.patch | 1059 + tools/lzma/patches/003-compile_fixes.patch | 26 + tools/lzma/patches/100-static_library.patch | 70 + .../101-move-copyright-to-usage-info.patch | 20 + tools/m4/Makefile | 28 + tools/m4/patches/100-fix-gets-removal.patch | 17 + tools/make-ext4fs/Makefile | 40 + tools/missing-macros/Makefile | 28 + tools/missing-macros/src/README | 100 + tools/missing-macros/src/bin/help2man | 29 + tools/missing-macros/src/bin/makeinfo | 112 + tools/missing-macros/src/m4/as-ac-expand.m4 | 43 + .../missing-macros/src/m4/as-compiler-flag.m4 | 62 + .../src/m4/as-unaligned-access.m4 | 41 + tools/missing-macros/src/m4/as-version.m4 | 71 + tools/missing-macros/src/m4/dnet.m4 | 322 + .../src/m4/fake-gtk-doc-check.m4 | 13 + tools/missing-macros/src/m4/fake-intltool.m4 | 16 + tools/missing-macros/src/m4/glibc2.m4 | 30 + tools/missing-macros/src/m4/glibc21.m4 | 30 + tools/missing-macros/src/m4/intdiv0.m4 | 84 + tools/missing-macros/src/m4/intmax.m4 | 33 + tools/missing-macros/src/m4/inttypes-pri.m4 | 36 + tools/missing-macros/src/m4/inttypes_h.m4 | 26 + tools/missing-macros/src/m4/lib-ld.m4 | 110 + tools/missing-macros/src/m4/lib-link.m4 | 774 + tools/missing-macros/src/m4/lib-prefix.m4 | 224 + tools/missing-macros/src/m4/mfx_acc.m4 | 163 + tools/missing-macros/src/m4/mfx_cppflags.m4 | 41 + tools/missing-macros/src/m4/mfx_limits.m4 | 154 + tools/missing-macros/src/m4/progtest.m4 | 92 + tools/missing-macros/src/m4/stdint_h.m4 | 26 + tools/missing-macros/src/m4/uintmax_t.m4 | 30 + tools/missing-macros/src/m4/va_copy.m4 | 111 + tools/missing-macros/src/m4/wint_t.m4 | 28 + tools/mkimage/Makefile | 46 + .../patches/010-freebsd-ulong-fix.patch | 13 + .../patches/020-include_compile_fix.patch | 10 + .../030-allow-to-use-different-magic.patch | 63 + tools/mkimage/patches/040-include_order.patch | 11 + .../patches/050-image_h_portability.patch | 31 + .../patches/060-remove_kernel_includes.patch | 35 + .../070-socfpgaimage_portability.patch | 52 + .../patches/080-remove_compiler_check.patch | 16 + .../090-reproducible-SOURCE_DATE_EPOCH.patch | 82 + .../mkimage/patches/100-freebsd-compat.patch | 14 + .../patches/200-compiler-support.patch | 702 + .../patches/210-openssl-1.1.x-compat.patch | 97 + tools/mklibs/Makefile | 34 + tools/mklibs/include/elf.h | 2559 ++ tools/mklibs/patches/001-compile.patch | 8 + .../patches/002-disable_symbol_checks.patch | 20 + tools/mklibs/patches/003-no_copy.patch | 50 + .../mklibs/patches/004-libpthread_link.patch | 28 + tools/mklibs/patches/005-duplicate_syms.patch | 35 + tools/mklibs/patches/006-uclibc_init.patch | 14 + tools/mklibs/patches/007-gc_sections.patch | 11 + .../patches/008-uclibc_libgcc_link.patch | 37 + .../009-uclibc_libpthread_symbols.patch | 63 + .../patches/010-remove_STT_GNU_IFUNC.patch | 20 + .../mklibs/patches/011-remove_multiarch.patch | 10 + tools/mm-macros/Makefile | 31 + tools/mpc/Makefile | 28 + tools/mpfr/Makefile | 27 + tools/mpfr/patches/001-only_src.patch | 22 + tools/mpfr/patches/100-freebsd-compat.patch | 10 + tools/mtd-utils/Makefile | 59 + tools/mtd-utils/include/fls.h | 2 + tools/mtd-utils/include/linux/types.h | 18 + tools/mtd-utils/patches/100-sscanf_fix.patch | 11 + tools/mtd-utils/patches/110-portability.patch | 170 + tools/mtd-utils/patches/130-lzma_jffs2.patch | 5030 +++ .../patches/134-freebsd_loff_t.patch | 14 + .../patches/135-mkubifs_optional_lzo.patch | 119 + .../patches/136-mkfs.ubifs-xz-support.patch | 378 + ...add-ubigen_write_terminator-function.patch | 89 + .../201-ubinize-add-terminator-support.patch | 77 + .../310-add-static-linking-option.patch | 43 + tools/mtools/Makefile | 38 + tools/mtools/patches/100-compile_fix.patch | 19 + tools/padjffs2/Makefile | 36 + tools/padjffs2/src/Makefile | 15 + tools/padjffs2/src/padjffs2.c | 210 + tools/patch-image/Makefile | 28 + tools/patch-image/src/patch-cmdline.c | 85 + tools/patch-image/src/patch-dtb.c | 107 + tools/patch/Makefile | 23 + tools/patchelf/Makefile | 26 + tools/pkg-config/Makefile | 39 + tools/pkg-config/files/pkg-config | 3 + ...ppress-string-format-literal-warning.patch | 18 + tools/ppl/Makefile | 37 + .../patches/001-disable-serial-tests.patch | 44 + tools/qemu/Makefile | 40 + tools/quilt/Makefile | 36 + tools/quilt/patches/000-relocatable.patch | 170 + tools/quilt/patches/001-fix_compile.patch | 18 + tools/scons/Makefile | 35 + tools/scons/files/pywrap.sh | 15 + tools/scons/patches/001-platform_env.patch | 11 + tools/sdimage/Makefile | 37 + tools/sed/Makefile | 43 + tools/sed/patches/001-musl_host_fixup.patch | 24 + tools/sparse/Makefile | 25 + tools/squashfs/Makefile | 39 + tools/squashfs/patches/100-lzma.patch | 22 + .../patches/110-no_nonstatic_inline.patch | 11 + .../120-add-fixed-timestamp-support.patch | 79 + tools/squashfs4/Makefile | 42 + tools/squashfs4/patches/100-portability.patch | 40 + .../patches/110-allow_static_liblzma.patch | 30 + .../squashfs4/patches/120-cygwin_fixes.patch | 153 + .../squashfs4/patches/150-freebsd_fixes.patch | 10 + .../patches/160-expose_lzma_xz_options.patch | 929 + ..._support_for_LZMA_MAGIC_to_unsqashfs.patch | 72 + .../patches/180-openbsd_compat.patch | 24 + .../patches/190-no_nonstatic_inline.patch | 36 + .../200-add-fixed-timestamp-option.patch | 82 + tools/sstrip/Makefile | 25 + tools/sstrip/src/sstrip.c | 465 + tools/tar/Makefile | 30 + tools/upslug2/Makefile | 36 + tools/upslug2/patches/100-libpcap_fix.patch | 153 + .../patches/110-wrt350nv2_support.patch | 279 + tools/upx/Makefile | 36 + tools/upx/patches/100-lzmaonly.patch | 156 + tools/wrt350nv2-builder/Makefile | 41 + tools/wrt350nv2-builder/src/crypt.h | 132 + tools/wrt350nv2-builder/src/ioapi.c | 177 + tools/wrt350nv2-builder/src/ioapi.h | 75 + tools/wrt350nv2-builder/src/md5.c | 381 + tools/wrt350nv2-builder/src/md5.h | 91 + tools/wrt350nv2-builder/src/upgrade.h | 77 + .../wrt350nv2-builder/src/wrt350nv2-builder.c | 1126 + tools/xz/Makefile | 40 + tools/yaffs2/Makefile | 39 + tools/yaffs2/patches/100-compile.patch | 125 + tools/yaffs2/patches/110-openbsd-compat.patch | 14 + 3612 files changed, 607433 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 BSDmakefile create mode 100644 Config.in create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 config/Config-build.in create mode 100644 config/Config-devel.in create mode 100644 config/Config-images.in create mode 100644 config/Config-kernel.in create mode 100644 feeds.conf.default create mode 100644 include/autotools.mk create mode 100644 include/cmake.mk create mode 100644 include/debug.mk create mode 100644 include/depends.mk create mode 100644 include/device_table.txt create mode 100644 include/download.mk create mode 100644 include/feeds.mk create mode 100644 include/hardening.mk create mode 100644 include/host-build.mk create mode 100644 include/host.mk create mode 100644 include/image-commands.mk create mode 100644 include/image-legacy.mk create mode 100644 include/image.mk create mode 100644 include/kernel-build.mk create mode 100644 include/kernel-defaults.mk create mode 100644 include/kernel-version.mk create mode 100644 include/kernel.mk create mode 100644 include/netfilter.mk create mode 100644 include/nls.mk create mode 100644 include/package-bin.mk create mode 100644 include/package-defaults.mk create mode 100644 include/package-dumpinfo.mk create mode 100644 include/package-ipkg.mk create mode 100644 include/package-seccomp.mk create mode 100644 include/package.mk create mode 100644 include/prereq-build.mk create mode 100644 include/prereq.mk create mode 100644 include/quilt.mk create mode 100644 include/rootfs.mk create mode 100644 include/scan.awk create mode 100644 include/scan.mk create mode 100644 include/scons.mk create mode 100644 include/shell.sh create mode 100644 include/site/aarch64 create mode 100644 include/site/aarch64_be create mode 100644 include/site/arc create mode 100644 include/site/arm create mode 100644 include/site/armeb create mode 100644 include/site/i386 create mode 100644 include/site/i486 create mode 100644 include/site/i686 create mode 100644 include/site/linux create mode 100644 include/site/m68k create mode 100644 include/site/mips create mode 100644 include/site/mips64 create mode 100644 include/site/mips64el create mode 100644 include/site/mipsel create mode 100644 include/site/powerpc create mode 100644 include/site/sparc create mode 100644 include/site/x86_64 create mode 100644 include/subdir.mk create mode 100644 include/target.mk create mode 100644 include/toolchain-build.mk create mode 100644 include/toplevel.mk create mode 100644 include/uclibc++.mk create mode 100644 include/unpack.mk create mode 100644 include/verbose.mk create mode 100644 include/version.mk create mode 100644 package/Makefile create mode 100644 package/base-files/Makefile create mode 100755 package/base-files/files/bin/board_detect create mode 100755 package/base-files/files/bin/config_generate create mode 100755 package/base-files/files/bin/ipcalc.sh create mode 100644 package/base-files/files/etc/banner create mode 100644 package/base-files/files/etc/banner.failsafe create mode 100755 package/base-files/files/etc/board.d/99-default_network create mode 100644 package/base-files/files/etc/device_info create mode 100644 package/base-files/files/etc/diag.sh create mode 100644 package/base-files/files/etc/fstab create mode 100644 package/base-files/files/etc/group create mode 100644 package/base-files/files/etc/hosts create mode 100644 package/base-files/files/etc/hotplug.d/net/00-sysctl create mode 100755 package/base-files/files/etc/init.d/boot create mode 100755 package/base-files/files/etc/init.d/done create mode 100755 package/base-files/files/etc/init.d/gpio_switch create mode 100755 package/base-files/files/etc/init.d/led create mode 100755 package/base-files/files/etc/init.d/sysctl create mode 100755 package/base-files/files/etc/init.d/sysfixtime create mode 100755 package/base-files/files/etc/init.d/system create mode 100755 package/base-files/files/etc/init.d/umount create mode 100755 package/base-files/files/etc/init.d/urandom_seed create mode 100644 package/base-files/files/etc/inittab create mode 100644 package/base-files/files/etc/iproute2/rt_tables create mode 100644 package/base-files/files/etc/openwrt_release create mode 100644 package/base-files/files/etc/openwrt_version create mode 120000 package/base-files/files/etc/os-release create mode 100644 package/base-files/files/etc/passwd create mode 100755 package/base-files/files/etc/preinit create mode 100644 package/base-files/files/etc/profile create mode 100644 package/base-files/files/etc/protocols create mode 100755 package/base-files/files/etc/rc.button/failsafe create mode 100755 package/base-files/files/etc/rc.button/power create mode 100755 package/base-files/files/etc/rc.button/reset create mode 100755 package/base-files/files/etc/rc.button/rfkill create mode 100755 package/base-files/files/etc/rc.common create mode 100644 package/base-files/files/etc/rc.local create mode 100644 package/base-files/files/etc/services create mode 100644 package/base-files/files/etc/shadow create mode 100644 package/base-files/files/etc/shells create mode 100644 package/base-files/files/etc/sysctl.conf create mode 100644 package/base-files/files/etc/sysctl.d/local.conf create mode 100644 package/base-files/files/etc/sysupgrade.conf create mode 100644 package/base-files/files/etc/uci-defaults/10_migrate-shadow create mode 100644 package/base-files/files/etc/uci-defaults/11_migrate-sysctl create mode 100644 package/base-files/files/etc/uci-defaults/12_network-generate-ula create mode 100644 package/base-files/files/etc/uci-defaults/13_fix_group_user create mode 100755 package/base-files/files/lib/functions.sh create mode 100644 package/base-files/files/lib/functions/leds.sh create mode 100644 package/base-files/files/lib/functions/network.sh create mode 100644 package/base-files/files/lib/functions/preinit.sh create mode 100644 package/base-files/files/lib/functions/service.sh create mode 100644 package/base-files/files/lib/functions/system.sh create mode 100755 package/base-files/files/lib/functions/uci-defaults.sh create mode 100644 package/base-files/files/lib/preinit/02_default_set_state create mode 100644 package/base-files/files/lib/preinit/10_indicate_failsafe create mode 100644 package/base-files/files/lib/preinit/10_indicate_preinit create mode 100644 package/base-files/files/lib/preinit/10_sysinfo create mode 100644 package/base-files/files/lib/preinit/30_failsafe_wait create mode 100644 package/base-files/files/lib/preinit/40_run_failsafe_hook create mode 100644 package/base-files/files/lib/preinit/50_indicate_regular_preinit create mode 100644 package/base-files/files/lib/preinit/70_initramfs_test create mode 100644 package/base-files/files/lib/preinit/80_mount_root create mode 100644 package/base-files/files/lib/preinit/81_urandom_seed create mode 100644 package/base-files/files/lib/preinit/99_10_failsafe_login create mode 100644 package/base-files/files/lib/preinit/99_10_run_init create mode 100644 package/base-files/files/lib/upgrade/common.sh create mode 100644 package/base-files/files/lib/upgrade/fwtool.sh create mode 100644 package/base-files/files/lib/upgrade/keep.d/base-files-essential create mode 100644 package/base-files/files/rom/note create mode 100755 package/base-files/files/sbin/firstboot create mode 100755 package/base-files/files/sbin/hotplug-call create mode 100755 package/base-files/files/sbin/led.sh create mode 100755 package/base-files/files/sbin/sysupgrade create mode 100755 package/base-files/files/sbin/urandom_seed create mode 100755 package/base-files/files/sbin/wifi create mode 100644 package/base-files/files/usr/lib/os-release create mode 100755 package/base-files/files/usr/libexec/login.sh create mode 100644 package/base-files/image-config.in create mode 100644 package/boot/fconfig/Makefile create mode 100644 package/boot/grub2/Makefile create mode 100644 package/boot/grub2/patches/100-grub_setup_root.patch create mode 100644 package/boot/grub2/patches/100-musl-compat.patch create mode 100644 package/boot/grub2/patches/200-fix-gets-removal.patch create mode 100644 package/boot/grub2/patches/210-fix_serial_rtscts.patch create mode 100644 package/boot/kexec-tools/Config.in create mode 100644 package/boot/kexec-tools/Makefile create mode 100644 package/boot/kexec-tools/patches/0001-Fix-zlib-lzma-decompression.patch create mode 100644 package/boot/kexec-tools/patches/0002-configure.ac-apply-necessary-quotes-to-result-of-mac.patch create mode 100644 package/boot/kexec-tools/patches/0003-mips-fix-compiler-warning-on-printing-64-bit-integer.patch create mode 100644 package/boot/kexec-tools/patches/0004-mips-remove-unused-variable.patch create mode 100644 package/boot/kexec-tools/patches/0005-mips-fix-warning-about-implicit-type-conversion.patch create mode 100644 package/boot/uboot-ar71xx/Makefile create mode 100644 package/boot/uboot-ar71xx/files/board/zyxel/nbg460n/Makefile create mode 100644 package/boot/uboot-ar71xx/files/board/zyxel/nbg460n/config.mk create mode 100644 package/boot/uboot-ar71xx/files/board/zyxel/nbg460n/lowlevel_init.S create mode 100644 package/boot/uboot-ar71xx/files/board/zyxel/nbg460n/nbg460n.c create mode 100644 package/boot/uboot-ar71xx/files/board/zyxel/nbg460n/u-boot.lds create mode 100644 package/boot/uboot-ar71xx/files/cpu/mips/ar71xx_serial.c create mode 100644 package/boot/uboot-ar71xx/files/drivers/net/ag71xx.c create mode 100644 package/boot/uboot-ar71xx/files/drivers/net/ag71xx.h create mode 100644 package/boot/uboot-ar71xx/files/drivers/net/phy/rtl8366.h create mode 100644 package/boot/uboot-ar71xx/files/drivers/net/phy/rtl8366_mii.c create mode 100644 package/boot/uboot-ar71xx/files/drivers/spi/ar71xx_spi.c create mode 100644 package/boot/uboot-ar71xx/files/include/asm-mips/ar71xx.h create mode 100644 package/boot/uboot-ar71xx/files/include/asm-mips/ar71xx_gpio.h create mode 100644 package/boot/uboot-ar71xx/files/include/configs/nbg460n.h create mode 100644 package/boot/uboot-ar71xx/patches/0001-upstream-Reproducible-U-Boot-build-support-using-SOURCE_DATE_.patch create mode 100644 package/boot/uboot-ar71xx/patches/0002-upstream-Makefile-Reproducible-U-Boot-build-support.patch create mode 100644 package/boot/uboot-ar71xx/patches/001-ar71xx.patch create mode 100644 package/boot/uboot-ar71xx/patches/002-ar71xx-spi.patch create mode 100644 package/boot/uboot-ar71xx/patches/010-enet-ag71xx.patch create mode 100644 package/boot/uboot-ar71xx/patches/011-switch-rtl8366sr.patch create mode 100644 package/boot/uboot-ar71xx/patches/020-freebsd-compat.patch create mode 100644 package/boot/uboot-ar71xx/patches/021-darwin_compat.patch create mode 100644 package/boot/uboot-ar71xx/patches/022-getline_backport.patch create mode 100644 package/boot/uboot-ar71xx/patches/030-no_examples.patch create mode 100644 package/boot/uboot-ar71xx/patches/040-no_extern_inline.patch create mode 100644 package/boot/uboot-ar71xx/patches/041-no_weak_alias.patch create mode 100644 package/boot/uboot-envtools/Config.in create mode 100644 package/boot/uboot-envtools/Makefile create mode 100644 package/boot/uboot-envtools/files/ar71xx create mode 100644 package/boot/uboot-envtools/files/cns3xxx create mode 100644 package/boot/uboot-envtools/files/imx6 create mode 100755 package/boot/uboot-envtools/files/ipq create mode 100644 package/boot/uboot-envtools/files/kirkwood create mode 100644 package/boot/uboot-envtools/files/lantiq create mode 100644 package/boot/uboot-envtools/files/mvebu create mode 100644 package/boot/uboot-envtools/files/mxs create mode 100644 package/boot/uboot-envtools/files/oxnas create mode 100644 package/boot/uboot-envtools/files/ramips create mode 100644 package/boot/uboot-envtools/files/uboot-envtools.sh create mode 100644 package/boot/uboot-envtools/patches/001-compile.patch create mode 100644 package/boot/uboot-envtools/patches/200-fw_env_no_aes.patch create mode 100644 package/boot/uboot-envtools/patches/300-support-env-in-ubivol-chardev.patch create mode 100644 package/boot/uboot-envtools/patches/400-u-boot-2015.10-stdint.patch create mode 100644 package/boot/uboot-sunxi/Makefile create mode 100644 package/boot/uboot-sunxi/patches/001-use-dtc-in-kernel.patch create mode 100644 package/boot/uboot-sunxi/patches/002-add-olimex-a13-som.patch create mode 100644 package/boot/uboot-sunxi/patches/003-add-theobroma-a31-pangolin.patch create mode 100644 package/boot/uboot-sunxi/patches/010-dt-sync-files-with-kernel.patch create mode 100644 package/boot/uboot-sunxi/patches/011-dt-sync-dts-files-with-kernel.patch create mode 100644 package/boot/uboot-sunxi/patches/012-sun6i-fix-clock_twi_onoff.patch create mode 100644 package/boot/uboot-sunxi/patches/013-enable-realtek-phy.patch create mode 100644 package/boot/uboot-sunxi/patches/014-fix-gmac-init.patch create mode 100644 package/boot/uboot-sunxi/patches/015-fix-2nd-usb-ctrler-on-sun47i.patch create mode 100644 package/boot/uboot-sunxi/patches/016-spl-print-mmc-slot.patch create mode 100644 package/boot/uboot-sunxi/patches/017-usb-add-support-for-usb3-vbus-pin.patch create mode 100644 package/boot/uboot-sunxi/patches/018-usb-specify-vbus-pins-on-orangepis.patch create mode 100644 package/boot/uboot-sunxi/patches/019-sid-add-efuse-support-for-h3-a83t.patch create mode 100644 package/boot/uboot-sunxi/patches/020-boot-display-board-model-on-startup.patch create mode 100644 package/boot/uboot-sunxi/patches/091-sun6i-sync-PLL1-multdiv-with-Boot1.patch create mode 100644 package/boot/uboot-sunxi/patches/093-sun6i-fix-PLL-LDO-voltselect.patch create mode 100644 package/boot/uboot-sunxi/patches/100-sun6i-alternate-on-UART2.patch create mode 100644 package/boot/uboot-sunxi/patches/101-sun6i-support-console-on-UART2.patch create mode 100644 package/boot/uboot-sunxi/patches/102-sunxi-make_CONS_INDEX-configurable.patch create mode 100644 package/boot/uboot-sunxi/uEnv-default.txt create mode 100644 package/boot/uboot-sunxi/uEnv-pangolin.txt create mode 100644 package/boot/uboot-xburst/Makefile create mode 100644 package/boot/uboot-xburst/patches/0001-qi_lb60-add-nand-spl-support.patch create mode 100644 package/boot/uboot-xburst/patches/0002-qi_lb60-add-software-usbboot-support.patch create mode 100644 package/boot/uboot-xburst/patches/0003-add-mmc-support.patch create mode 100644 package/boot/uboot-xburst/patches/0004-add-more-boot-options-F1-F2-F3-F4-M-S.patch create mode 100644 package/boot/uboot-xburst/patches/0005-add-nanonote-lcd-support.patch create mode 100644 package/boot/uboot-xburst/patches/0006-enable-silent-console.patch create mode 100644 package/boot/yamonenv/Makefile create mode 100644 package/boot/yamonenv/patches/001-yamonenv_mtd_partition.patch create mode 100644 package/devel/binutils/Makefile create mode 100644 package/devel/gdb-arc/Makefile create mode 100644 package/devel/gdb-arc/patches/100-no_extern_inline.patch create mode 100644 package/devel/gdb-arc/patches/110-no_testsuite.patch create mode 100644 package/devel/gdb-arc/patches/120-fix-compile-flag-mismatch.patch create mode 100644 package/devel/gdb/Makefile create mode 100644 package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch create mode 100644 package/devel/gdb/patches/002-remove-arguments.patch create mode 100644 package/devel/gdb/patches/100-musl_fix.patch create mode 100644 package/devel/perf/Makefile create mode 100644 package/devel/perf/musl-compat.h create mode 100644 package/devel/perf/musl-include/asm/errno.h create mode 100644 package/devel/perf/musl-include/string.h create mode 100644 package/devel/strace/Makefile create mode 100644 package/devel/strace/patches/100-workaround--pt-reg-collisions-ppc.patch create mode 100644 package/devel/trace-cmd/Makefile create mode 100644 package/devel/trace-cmd/patches/110-mac80211_tracepoint.patch create mode 100644 package/devel/valgrind/Makefile create mode 100644 package/devel/valgrind/files/default.supp create mode 100644 package/devel/valgrind/patches/100-fix_configure_check.patch create mode 100644 package/devel/valgrind/patches/130-fix_arm_arch_detection.patch create mode 100644 package/devel/valgrind/patches/200-musl_fix.patch create mode 100644 package/kernel/avila-wdt/Makefile create mode 100644 package/kernel/avila-wdt/src/Makefile create mode 100644 package/kernel/avila-wdt/src/avila-wdt.c create mode 100644 package/kernel/button-hotplug/Makefile create mode 100644 package/kernel/button-hotplug/src/Kconfig create mode 100644 package/kernel/button-hotplug/src/Makefile create mode 100644 package/kernel/button-hotplug/src/button-hotplug.c create mode 100644 package/kernel/gpio-button-hotplug/Makefile create mode 100644 package/kernel/gpio-button-hotplug/src/Makefile create mode 100644 package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c create mode 100644 package/kernel/i2c-gpio-custom/Makefile create mode 100644 package/kernel/i2c-gpio-custom/src/Kconfig create mode 100644 package/kernel/i2c-gpio-custom/src/Makefile create mode 100644 package/kernel/i2c-gpio-custom/src/i2c-gpio-custom.c create mode 100644 package/kernel/kmod-sched-cake/Makefile create mode 100644 package/kernel/linux/Makefile create mode 100644 package/kernel/linux/modules/001-depends.mk create mode 100644 package/kernel/linux/modules/block.mk create mode 100644 package/kernel/linux/modules/can.mk create mode 100644 package/kernel/linux/modules/crypto.mk create mode 100644 package/kernel/linux/modules/firewire.mk create mode 100644 package/kernel/linux/modules/fs.mk create mode 100644 package/kernel/linux/modules/hwmon.mk create mode 100644 package/kernel/linux/modules/i2c.mk create mode 100644 package/kernel/linux/modules/input.mk create mode 100644 package/kernel/linux/modules/leds.mk create mode 100644 package/kernel/linux/modules/lib.mk create mode 100644 package/kernel/linux/modules/netdevices.mk create mode 100644 package/kernel/linux/modules/netfilter.mk create mode 100644 package/kernel/linux/modules/netsupport.mk create mode 100644 package/kernel/linux/modules/nls.mk create mode 100644 package/kernel/linux/modules/other.mk create mode 100644 package/kernel/linux/modules/pcmcia.mk create mode 100644 package/kernel/linux/modules/sound.mk create mode 100644 package/kernel/linux/modules/spi.mk create mode 100644 package/kernel/linux/modules/usb.mk create mode 100644 package/kernel/linux/modules/video.mk create mode 100644 package/kernel/linux/modules/virt.mk create mode 100644 package/kernel/linux/modules/w1.mk create mode 100644 package/kernel/linux/modules/wpan.mk create mode 100644 package/kernel/mac80211/Makefile create mode 100644 package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh create mode 100644 package/kernel/mac80211/files/lib/wifi/mac80211.sh create mode 100644 package/kernel/mac80211/files/mac80211.hotplug create mode 100644 package/kernel/mac80211/files/regdb.txt create mode 100644 package/kernel/mac80211/patches/000-fix_kconfig.patch create mode 100644 package/kernel/mac80211/patches/001-fix_build.patch create mode 100644 package/kernel/mac80211/patches/002-change_allconfig.patch create mode 100644 package/kernel/mac80211/patches/003-remove_bogus_modparams.patch create mode 100644 package/kernel/mac80211/patches/004-fix_duplicate_skcipher_backport.patch create mode 100644 package/kernel/mac80211/patches/005-backport_skb_get_hash_perturb.patch create mode 100644 package/kernel/mac80211/patches/010-disable_rfkill.patch create mode 100644 package/kernel/mac80211/patches/050-lib80211_option.patch create mode 100644 package/kernel/mac80211/patches/060-no_local_ssb_bcma.patch create mode 100644 package/kernel/mac80211/patches/070-ath_common_config.patch create mode 100644 package/kernel/mac80211/patches/100-remove-cryptoapi-dependencies.patch create mode 100644 package/kernel/mac80211/patches/110-mac80211_keep_keys_on_stop_ap.patch create mode 100644 package/kernel/mac80211/patches/120-cfg80211_allow_perm_addr_change.patch create mode 100644 package/kernel/mac80211/patches/130-mac80211-hwsim-hrtimer-clock.patch create mode 100644 package/kernel/mac80211/patches/150-disable_addr_notifier.patch create mode 100644 package/kernel/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch create mode 100644 package/kernel/mac80211/patches/210-ap_scan.patch create mode 100644 package/kernel/mac80211/patches/300-ath9k-Switch-to-using-mac80211-intermediate-software.patch create mode 100644 package/kernel/mac80211/patches/301-ath9k-force-rx_clear-when-disabling-rx.patch create mode 100644 package/kernel/mac80211/patches/302-ath9k-limit-retries-for-powersave-response-frames.patch create mode 100644 package/kernel/mac80211/patches/303-Revert-ath9k-interpret-requested-txpower-in-EIRP-dom.patch create mode 100644 package/kernel/mac80211/patches/304-mac80211-add-hdrlen-to-ieee80211_tx_data.patch create mode 100644 package/kernel/mac80211/patches/305-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch create mode 100644 package/kernel/mac80211/patches/306-mac80211-minstrel-Enable-STBC-and-LDPC-for-VHT-Rates.patch create mode 100644 package/kernel/mac80211/patches/307-ath9k-fix-moredata-bit-in-PS-buffered-frame-release.patch create mode 100644 package/kernel/mac80211/patches/308-ath9k-clear-potentially-stale-EOSP-status-bit-in-int.patch create mode 100644 package/kernel/mac80211/patches/309-ath9k-report-tx-status-on-EOSP.patch create mode 100644 package/kernel/mac80211/patches/310-ath9k-fix-block-ack-window-tracking-issues.patch create mode 100644 package/kernel/mac80211/patches/312-mac80211-Use-rhltable-instead-of-rhashtable.patch create mode 100644 package/kernel/mac80211/patches/313-mac80211-fix-sequence-number-allocation-regression.patch create mode 100644 package/kernel/mac80211/patches/314-ath9k_hw-reset-AHB-WMAC-interface-on-AR91xx.patch create mode 100644 package/kernel/mac80211/patches/315-ath9k_hw-issue-external-reset-for-QCA955x.patch create mode 100644 package/kernel/mac80211/patches/316-ath9k_hw-set-spectral-scan-enable-bit-on-trigger-for.patch create mode 100644 package/kernel/mac80211/patches/317-Revert-ath9k_hw-implement-temperature-compensation-s.patch create mode 100644 package/kernel/mac80211/patches/318-mac80211-fix-up-mismerge-of-ieee80211_tx_dequeue.patch create mode 100644 package/kernel/mac80211/patches/319-mac80211-avoid-extra-memcpy-in-A-MSDU-head-creation.patch create mode 100644 package/kernel/mac80211/patches/320-mac80211-fix-A-MSDU-outer-SA-DA.patch create mode 100644 package/kernel/mac80211/patches/321-Revert-mac80211-allow-using-AP_LINK_PS-with-mac80211.patch create mode 100644 package/kernel/mac80211/patches/322-mac80211-update-A-MPDU-flag-on-tx-dequeue.patch create mode 100644 package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch create mode 100644 package/kernel/mac80211/patches/324-mac80211-fix-A-MSDU-aggregation-with-fast-xmit-txq.patch create mode 100644 package/kernel/mac80211/patches/325-ath9k-fix-ath9k_hw_gpio_get-to-return-0-or-1-on-succ.patch create mode 100644 package/kernel/mac80211/patches/326-Documentation-dt-net-add-ath9k-wireless-device-bindi.patch create mode 100644 package/kernel/mac80211/patches/327-ath9k-add-a-helper-to-get-the-string-representation-.patch create mode 100644 package/kernel/mac80211/patches/328-ath9k-parse-the-device-configuration-from-an-OF-node.patch create mode 100644 package/kernel/mac80211/patches/400-ath_move_debug_code.patch create mode 100644 package/kernel/mac80211/patches/401-ath9k_blink_default.patch create mode 100644 package/kernel/mac80211/patches/402-ath_regd_optional.patch create mode 100644 package/kernel/mac80211/patches/403-world_regd_fixup.patch create mode 100644 package/kernel/mac80211/patches/404-regd_no_assoc_hints.patch create mode 100644 package/kernel/mac80211/patches/405-ath_regd_us.patch create mode 100644 package/kernel/mac80211/patches/406-ath_relax_default_regd.patch create mode 100644 package/kernel/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch create mode 100644 package/kernel/mac80211/patches/411-ath5k_allow_adhoc_and_ap.patch create mode 100644 package/kernel/mac80211/patches/420-ath5k_disable_fast_cc.patch create mode 100644 package/kernel/mac80211/patches/430-add_ath5k_platform.patch create mode 100644 package/kernel/mac80211/patches/431-add_platform_eeprom_support_to_ath5k.patch create mode 100644 package/kernel/mac80211/patches/432-ath5k_add_pciids.patch create mode 100644 package/kernel/mac80211/patches/440-ath5k_channel_bw_debugfs.patch create mode 100644 package/kernel/mac80211/patches/500-ath9k_eeprom_debugfs.patch create mode 100644 package/kernel/mac80211/patches/501-ath9k_ahb_init.patch create mode 100644 package/kernel/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch create mode 100644 package/kernel/mac80211/patches/511-ath9k_reduce_rxbuf.patch create mode 100644 package/kernel/mac80211/patches/512-ath9k_channelbw_debugfs.patch create mode 100644 package/kernel/mac80211/patches/513-ath9k_add_pci_ids.patch create mode 100644 package/kernel/mac80211/patches/522-mac80211_configure_antenna_gain.patch create mode 100644 package/kernel/mac80211/patches/530-ath9k_extra_leds.patch create mode 100644 package/kernel/mac80211/patches/531-ath9k_extra_platform_leds.patch create mode 100644 package/kernel/mac80211/patches/540-ath9k_reduce_ani_interval.patch create mode 100644 package/kernel/mac80211/patches/541-ath9k_rx_dma_stop_check.patch create mode 100644 package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch create mode 100644 package/kernel/mac80211/patches/543-ath9k_entropy_from_adc.patch create mode 100644 package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch create mode 100644 package/kernel/mac80211/patches/545-ath9k_ani_ws_detect.patch create mode 100644 package/kernel/mac80211/patches/546-ath9k_platform_led_name.patch create mode 100644 package/kernel/mac80211/patches/547-ath9k_led_defstate_fix.patch create mode 100644 package/kernel/mac80211/patches/548-ath9k_enable_gpio_chip.patch create mode 100644 package/kernel/mac80211/patches/549-ath9k_enable_gpio_buttons.patch create mode 100644 package/kernel/mac80211/patches/550-ath9k-Add-a-define-for-the-EEPROM-eepmisc-endianness.patch create mode 100644 package/kernel/mac80211/patches/551-ath9k-indicate-that-the-AR9003-EEPROM-template-value.patch create mode 100644 package/kernel/mac80211/patches/552-ath9k-Add-an-eeprom_ops-callback-for-retrieving-the-.patch create mode 100644 package/kernel/mac80211/patches/553-ath9k-replace-eeprom_param-EEP_MINOR_REV-with-get_ee.patch create mode 100644 package/kernel/mac80211/patches/554-ath9k-consistently-use-get_eeprom_rev-ah.patch create mode 100644 package/kernel/mac80211/patches/555-ath9k-Make-the-EEPROM-swapping-check-use-the-eepmisc.patch create mode 100644 package/kernel/mac80211/patches/556-ath9k-define-all-EEPROM-fields-in-Little-Endian-form.patch create mode 100644 package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch create mode 100644 package/kernel/mac80211/patches/560-ath9k_ubnt_uap_plus_hsr.patch create mode 100644 package/kernel/mac80211/patches/700-mwl8k-missing-pci-id-for-WNR854T.patch create mode 100755 package/kernel/mac80211/scripts/import-backports.sh create mode 100644 package/kernel/mmc_over_gpio/Makefile create mode 100644 package/kernel/mmc_over_gpio/files/mmc_over_gpio.config create mode 100644 package/kernel/mmc_over_gpio/files/mmc_over_gpio.init create mode 100644 package/kernel/om-watchdog/Makefile create mode 100644 package/kernel/om-watchdog/files/om-watchdog create mode 100644 package/kernel/om-watchdog/files/om-watchdog.init create mode 100644 package/kernel/rotary-gpio-custom/Makefile create mode 100644 package/kernel/rotary-gpio-custom/src/Kconfig create mode 100644 package/kernel/rotary-gpio-custom/src/Makefile create mode 100644 package/kernel/rotary-gpio-custom/src/rotary-gpio-custom.c create mode 100644 package/kernel/spi-gpio-custom/Makefile create mode 100644 package/kernel/spi-gpio-custom/src/Kconfig create mode 100644 package/kernel/spi-gpio-custom/src/Makefile create mode 100644 package/kernel/spi-gpio-custom/src/spi-gpio-custom.c create mode 100644 package/kernel/trelay/Makefile create mode 100644 package/kernel/trelay/files/trelay.config create mode 100644 package/kernel/trelay/files/trelay.hotplug create mode 100644 package/kernel/trelay/files/trelay.init create mode 100644 package/kernel/trelay/src/Makefile create mode 100644 package/kernel/trelay/src/trelay.c create mode 100644 package/kernel/w1-gpio-custom/Makefile create mode 100644 package/kernel/w1-gpio-custom/src/Kconfig create mode 100644 package/kernel/w1-gpio-custom/src/Makefile create mode 100644 package/kernel/w1-gpio-custom/src/w1-gpio-custom.c create mode 100644 package/kernel/wrt55agv2-spidevs/Makefile create mode 100644 package/kernel/wrt55agv2-spidevs/src/Kconfig create mode 100644 package/kernel/wrt55agv2-spidevs/src/Makefile create mode 100644 package/kernel/wrt55agv2-spidevs/src/wrt55agv2_spidevs.c create mode 100644 package/libs/argp-standalone/Makefile create mode 100644 package/libs/argp-standalone/patches/001-throw-in-funcdef.patch create mode 100644 package/libs/argp-standalone/patches/002-no_optimize.patch create mode 100644 package/libs/cyassl/Config.in create mode 100644 package/libs/cyassl/Makefile create mode 100644 package/libs/cyassl/patches/400-additional_compatibility.patch create mode 100644 package/libs/elfutils/Makefile create mode 100644 package/libs/elfutils/patches/002-argp_standalone.patch create mode 100644 package/libs/elfutils/patches/003-libint-stub.patch create mode 100644 package/libs/elfutils/patches/004-maybe-uninitialized.patch create mode 100644 package/libs/elfutils/patches/004-memcpy_def.patch create mode 100644 package/libs/elfutils/patches/005-build_only_libs.patch create mode 100644 package/libs/elfutils/patches/006-libdw_LIBS.patch create mode 100644 package/libs/elfutils/patches/100-musl-compat.patch create mode 100644 package/libs/elfutils/patches/101-no-fts.patch create mode 100644 package/libs/gettext-full/Makefile create mode 100644 package/libs/gettext-full/patches/000-relocatable.patch create mode 100644 package/libs/gettext-full/patches/001-autotools.patch create mode 100644 package/libs/gettext-full/patches/001-no_examples_and_tests.patch create mode 100644 package/libs/gettext-full/patches/003-gettext-error_print_progname.patch create mode 100644 package/libs/gettext-full/patches/100-error_progname.patch create mode 100644 package/libs/gettext-full/patches/110-error_progname_def.patch create mode 100644 package/libs/gettext-full/patches/120-uclibc-nolocale.patch create mode 100644 package/libs/gettext-full/patches/130-format-secuirty.patch create mode 100644 package/libs/gettext-full/patches/150-disable_libxml_iconv.patch create mode 100644 package/libs/gettext/Makefile create mode 100644 package/libs/gettext/src/LICENSE create mode 100644 package/libs/gettext/src/include/libintl.h create mode 100644 package/libs/gettext/src/m4/codeset.m4 create mode 100644 package/libs/gettext/src/m4/gettext.m4 create mode 100644 package/libs/gettext/src/m4/intl.m4 create mode 100644 package/libs/gettext/src/m4/intldir.m4 create mode 100644 package/libs/gettext/src/m4/intlmacosx.m4 create mode 100644 package/libs/gettext/src/m4/lcmessage.m4 create mode 100644 package/libs/gettext/src/m4/nls.m4 create mode 100644 package/libs/gettext/src/m4/po.m4 create mode 100644 package/libs/gmp/Makefile create mode 100644 package/libs/libbsd/Makefile create mode 100644 package/libs/libbsd/patches/001-aarch64_support.patch create mode 100644 package/libs/libconfig/Makefile create mode 100644 package/libs/libevent2/Makefile create mode 100644 package/libs/libiconv-full/Makefile create mode 100644 package/libs/libiconv-full/patches/100-strip_charsets.patch create mode 100644 package/libs/libiconv-full/patches/101-autotools.patch create mode 100644 package/libs/libiconv-full/patches/103-configure_ac_fix.patch create mode 100644 package/libs/libiconv-full/patches/200-work-with-libtool2.patch create mode 100644 package/libs/libiconv-full/patches/300-fortify-source-compat.patch create mode 100644 package/libs/libiconv/COPYING create mode 100644 package/libs/libiconv/COPYRIGHT create mode 100644 package/libs/libiconv/Makefile create mode 100644 package/libs/libiconv/src/LICENSE create mode 100644 package/libs/libiconv/src/iconv.c create mode 100644 package/libs/libiconv/src/include/charmaps.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-10.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-13.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-14.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-16.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-2.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-3.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-4.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-5.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-6.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-7.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-8.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-9.h create mode 100644 package/libs/libiconv/src/include/charmaps/koi8-r.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1250.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1251.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1252.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1253.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1254.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1255.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1256.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1257.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1258.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-874.h create mode 100644 package/libs/libiconv/src/include/iconv.h create mode 100644 package/libs/libiconv/src/m4/iconv.m4 create mode 100644 package/libs/libjson-c/Makefile create mode 100644 package/libs/libjson-c/patches/000-libm.patch create mode 100644 package/libs/libmnl/Makefile create mode 100644 package/libs/libnetfilter-conntrack/Makefile create mode 100644 package/libs/libnetfilter-cthelper/Makefile create mode 100644 package/libs/libnetfilter-cttimeout/Makefile create mode 100644 package/libs/libnetfilter-log/Makefile create mode 100644 package/libs/libnetfilter-log/patches/0001-build-remove-unnecessary-pkgconfig-config.status-dep.patch create mode 100644 package/libs/libnetfilter-log/patches/0002-build-remove-unused-lines-in-Makefile.am.patch create mode 100644 package/libs/libnetfilter-log/patches/0003-build-resolve-automake-1.12-warnings.patch create mode 100644 package/libs/libnetfilter-log/patches/0004-Add-include-needed-for-integer-type-definition.patch create mode 100644 package/libs/libnetfilter-log/patches/0005-configure-uclinux-is-also-linux.patch create mode 100644 package/libs/libnetfilter-log/patches/0006-configure-add-without-ipulog-option-to-disable-libip.patch create mode 100644 package/libs/libnetfilter-queue/Makefile create mode 100644 package/libs/libnetfilter-queue/patches/100-checksum_computation.patch create mode 100644 package/libs/libnfnetlink/Makefile create mode 100644 package/libs/libnfnetlink/patches/100-missing_include.patch create mode 100644 package/libs/libnftnl/Makefile create mode 100644 package/libs/libnl-tiny/Makefile create mode 100644 package/libs/libnl-tiny/files/libnl-tiny.pc create mode 100644 package/libs/libnl-tiny/src/Makefile create mode 100644 package/libs/libnl-tiny/src/attr.c create mode 100644 package/libs/libnl-tiny/src/cache.c create mode 100644 package/libs/libnl-tiny/src/cache_mngt.c create mode 100644 package/libs/libnl-tiny/src/error.c create mode 100644 package/libs/libnl-tiny/src/genl.c create mode 100644 package/libs/libnl-tiny/src/genl_ctrl.c create mode 100644 package/libs/libnl-tiny/src/genl_family.c create mode 100644 package/libs/libnl-tiny/src/genl_mngt.c create mode 100644 package/libs/libnl-tiny/src/handlers.c create mode 100644 package/libs/libnl-tiny/src/include/netlink-generic.h create mode 100644 package/libs/libnl-tiny/src/include/netlink-local.h create mode 100644 package/libs/libnl-tiny/src/include/netlink-types.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/addr.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/attr.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/cache-api.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/cache.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/data.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/errno.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/genl/ctrl.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/genl/family.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/genl/genl.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/genl/mngt.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/handlers.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/list.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/msg.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/netlink-compat.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/netlink-kernel.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/netlink.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/object-api.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/object.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/socket.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/types.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/utils.h create mode 100644 package/libs/libnl-tiny/src/include/netlink/version.h create mode 100644 package/libs/libnl-tiny/src/include/unl.h create mode 100644 package/libs/libnl-tiny/src/msg.c create mode 100644 package/libs/libnl-tiny/src/nl.c create mode 100644 package/libs/libnl-tiny/src/object.c create mode 100644 package/libs/libnl-tiny/src/socket.c create mode 100644 package/libs/libnl-tiny/src/unl.c create mode 100644 package/libs/libnl/Makefile create mode 100644 package/libs/libpcap/Config.in create mode 100644 package/libs/libpcap/Makefile create mode 100644 package/libs/libpcap/patches/100-debian_shared_lib.patch create mode 100644 package/libs/libpcap/patches/102-makefile_disable_manpages.patch create mode 100644 package/libs/libpcap/patches/103-makefile_flex_workaround.patch create mode 100644 package/libs/libpcap/patches/201-space_optimization.patch create mode 100644 package/libs/libpcap/patches/202-protocol_api.patch create mode 100644 package/libs/libpcap/patches/203-undef_iw_mode_monitor.patch create mode 100644 package/libs/libreadline/Makefile create mode 100644 package/libs/libreadline/patches/001-install_perm.patch create mode 100644 package/libs/libroxml/Makefile create mode 100644 package/libs/librpc/Makefile create mode 100644 package/libs/libtool/Makefile create mode 100644 package/libs/libtool/patches/160-passthrough-ssp.patch create mode 100644 package/libs/libubox/Makefile create mode 100644 package/libs/libunwind/Makefile create mode 100644 package/libs/libunwind/patches/001-disable-tests.patch create mode 100644 package/libs/libunwind/patches/002-fix-building-getcontext_S.patch create mode 100644 package/libs/libunwind/patches/003-fix-missing-ef_reg-defs-with-musl.patch create mode 100644 package/libs/libusb-compat/Makefile create mode 100644 package/libs/libusb-compat/patches/001-fix-musl-stdint.patch create mode 100644 package/libs/libusb/Makefile create mode 100644 package/libs/lzo/Makefile create mode 100644 package/libs/mbedtls/Makefile create mode 100644 package/libs/mbedtls/patches/200-config.patch create mode 100644 package/libs/ncurses/Makefile create mode 100644 package/libs/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch create mode 100644 package/libs/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch create mode 100644 package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch create mode 100644 package/libs/ncurses/patches/103-fixup-pkg-config-handling.patch create mode 100644 package/libs/ncurses/patches/200-fix_missing_include.patch create mode 100644 package/libs/ncurses/patches/500-cross.patch create mode 100644 package/libs/ncurses/patches/900-terminfo.patch create mode 100644 package/libs/nettle/Config.in create mode 100644 package/libs/nettle/Makefile create mode 100644 package/libs/openssl/Config.in create mode 100644 package/libs/openssl/Makefile create mode 100644 package/libs/openssl/include/crypto/cryptodev.h create mode 100644 package/libs/openssl/patches/110-optimize-for-size.patch create mode 100644 package/libs/openssl/patches/130-perl-path.patch create mode 100644 package/libs/openssl/patches/140-makefile-dirs.patch create mode 100644 package/libs/openssl/patches/150-no_engines.patch create mode 100644 package/libs/openssl/patches/160-disable_doc_tests.patch create mode 100644 package/libs/openssl/patches/170-bash_path.patch create mode 100644 package/libs/openssl/patches/180-fix_link_segfault.patch create mode 100644 package/libs/openssl/patches/190-remove_timestamp_check.patch create mode 100644 package/libs/openssl/patches/200-parallel_build.patch create mode 100644 package/libs/polarssl/Makefile create mode 100644 package/libs/polarssl/patches/200-reduce_config.patch create mode 100644 package/libs/popt/Makefile create mode 100644 package/libs/sysfsutils/Makefile create mode 100644 package/libs/sysfsutils/patches/200-mnt_path_check.patch create mode 100644 package/libs/toolchain/Makefile create mode 100644 package/libs/toolchain/eglibc-files/etc/nsswitch.conf create mode 100644 package/libs/toolchain/glibc-files/etc/nsswitch.conf create mode 100644 package/libs/uclibc++/Makefile create mode 100644 package/libs/uclibc++/files/config.default create mode 100644 package/libs/uclibc++/patches/002-path_to_bash.patch create mode 100644 package/libs/uclibc++/patches/006-eabi_fix.patch create mode 100644 package/libs/uclibc++/patches/010-honor-ldflags.patch create mode 100644 package/libs/uclibc++/patches/020-template-fix.patch create mode 100644 package/libs/uclibc++/patches/030-memory_corruption_fix.patch create mode 100644 package/libs/uclibc++/patches/040-delete-c++14.patch create mode 100644 package/libs/uclient/Makefile create mode 100644 package/libs/ustream-ssl/Makefile create mode 100644 package/libs/zlib/Makefile create mode 100644 package/network/config/firewall/Makefile create mode 100644 package/network/config/firewall/files/firewall.config create mode 100644 package/network/config/firewall/files/firewall.hotplug create mode 100755 package/network/config/firewall/files/firewall.init create mode 100644 package/network/config/firewall/files/firewall.user create mode 100644 package/network/config/gre/Makefile create mode 100755 package/network/config/gre/files/gre.sh create mode 100644 package/network/config/ipip/Makefile create mode 100755 package/network/config/ipip/files/ipip.sh create mode 100644 package/network/config/netifd/Makefile create mode 100644 package/network/config/netifd/files/etc/hotplug.d/iface/00-netstate create mode 100755 package/network/config/netifd/files/etc/init.d/network create mode 100755 package/network/config/netifd/files/lib/netifd/dhcp.script create mode 100755 package/network/config/netifd/files/lib/netifd/proto/dhcp.sh create mode 100755 package/network/config/netifd/files/lib/network/config.sh create mode 100755 package/network/config/netifd/files/sbin/devstatus create mode 120000 package/network/config/netifd/files/sbin/ifdown create mode 100755 package/network/config/netifd/files/sbin/ifstatus create mode 100755 package/network/config/netifd/files/sbin/ifup create mode 100755 package/network/config/netifd/files/usr/share/udhcpc/default.script create mode 100644 package/network/config/qos-scripts/Makefile create mode 100644 package/network/config/qos-scripts/files/etc/config/qos create mode 100755 package/network/config/qos-scripts/files/etc/hotplug.d/iface/10-qos create mode 100755 package/network/config/qos-scripts/files/etc/init.d/qos create mode 100755 package/network/config/qos-scripts/files/usr/bin/qos-start create mode 100755 package/network/config/qos-scripts/files/usr/bin/qos-stat create mode 100755 package/network/config/qos-scripts/files/usr/bin/qos-stop create mode 100755 package/network/config/qos-scripts/files/usr/lib/qos/generate.sh create mode 100644 package/network/config/qos-scripts/files/usr/lib/qos/tcrules.awk create mode 100644 package/network/config/soloscli/Makefile create mode 100644 package/network/config/soloscli/files/etc/hotplug.d/atm/15-solos-init create mode 100644 package/network/config/soloscli/files/etc/uci-default/solos create mode 100644 package/network/config/soloscli/files/solos-log-stats create mode 100644 package/network/config/soloscli/patches/001-no-driver.patch create mode 100644 package/network/config/soloscli/patches/002-cflags.patch create mode 100644 package/network/config/swconfig/Makefile create mode 100644 package/network/config/swconfig/files/switch.sh create mode 100644 package/network/config/swconfig/src/Makefile create mode 100644 package/network/config/swconfig/src/cli.c create mode 100644 package/network/config/swconfig/src/swlib.c create mode 100644 package/network/config/swconfig/src/swlib.h create mode 100644 package/network/config/swconfig/src/uci.c create mode 100644 package/network/config/vti/Makefile create mode 100755 package/network/config/vti/files/vti.sh create mode 100644 package/network/ipv6/6in4/Makefile create mode 100755 package/network/ipv6/6in4/files/6in4.sh create mode 100644 package/network/ipv6/6rd/Makefile create mode 100644 package/network/ipv6/6rd/files/6rd.sh create mode 100644 package/network/ipv6/6rd/src/6rdcalc.c create mode 100644 package/network/ipv6/6rd/src/Makefile create mode 100644 package/network/ipv6/6to4/Makefile create mode 100755 package/network/ipv6/6to4/files/6to4.sh create mode 100644 package/network/ipv6/ds-lite/Makefile create mode 100755 package/network/ipv6/ds-lite/files/dslite.sh create mode 100644 package/network/ipv6/map/Makefile create mode 100755 package/network/ipv6/map/files/map.sh create mode 100644 package/network/ipv6/map/src/CMakeLists.txt create mode 100644 package/network/ipv6/map/src/mapcalc.c create mode 100644 package/network/ipv6/odhcp6c/Makefile create mode 100755 package/network/ipv6/odhcp6c/files/dhcpv6.script create mode 100755 package/network/ipv6/odhcp6c/files/dhcpv6.sh create mode 100644 package/network/ipv6/thc-ipv6/Makefile create mode 100644 package/network/ipv6/thc-ipv6/patches/100-no-ssl.patch create mode 100644 package/network/services/authsae/Makefile create mode 100644 package/network/services/authsae/files/lib/wifi/authsae.sh create mode 100644 package/network/services/authsae/patches/100-musl_fix.patch create mode 100644 package/network/services/dnsmasq/Makefile create mode 100644 package/network/services/dnsmasq/files/dhcp.conf create mode 100644 package/network/services/dnsmasq/files/dnsmasq.conf create mode 100644 package/network/services/dnsmasq/files/dnsmasq.init create mode 100644 package/network/services/dnsmasq/files/dnsmasqsec.hotplug create mode 100644 package/network/services/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch create mode 100644 package/network/services/dnsmasq/patches/110-ipset-remove-old-kernel-support.patch create mode 100644 package/network/services/dnsmasq/patches/120-dnsmasq-compile-time-option-NO_ID.patch create mode 100644 package/network/services/dnsmasq/patches/210-dnssec-improve-timestamp-heuristic.patch create mode 100644 package/network/services/dnsmasq/patches/230-fix-poll-h-include-warning-on-musl.patch create mode 100644 package/network/services/dropbear/Config.in create mode 100644 package/network/services/dropbear/Makefile create mode 100644 package/network/services/dropbear/files/dropbear.config create mode 100755 package/network/services/dropbear/files/dropbear.init create mode 100644 package/network/services/dropbear/patches/100-pubkey_path.patch create mode 100644 package/network/services/dropbear/patches/110-change_user.patch create mode 100644 package/network/services/dropbear/patches/120-openwrt_options.patch create mode 100644 package/network/services/dropbear/patches/130-ssh_ignore_x_args.patch create mode 100644 package/network/services/dropbear/patches/140-disable_assert.patch create mode 100644 package/network/services/dropbear/patches/150-dbconvert_standalone.patch create mode 100644 package/network/services/dropbear/patches/500-set-default-path.patch create mode 100644 package/network/services/dropbear/patches/600-allow-blank-root-password.patch create mode 100644 package/network/services/dropbear/patches/610-skip-default-keys-in-custom-runs.patch create mode 100644 package/network/services/ead/Makefile create mode 100644 package/network/services/ead/src/Makefile create mode 100644 package/network/services/ead/src/aes.c create mode 100644 package/network/services/ead/src/ead-client.c create mode 100644 package/network/services/ead/src/ead-crypt.c create mode 100644 package/network/services/ead/src/ead-crypt.h create mode 100644 package/network/services/ead/src/ead-pcap.h create mode 100644 package/network/services/ead/src/ead.c create mode 100644 package/network/services/ead/src/ead.h create mode 100644 package/network/services/ead/src/filter.c create mode 100644 package/network/services/ead/src/libbridge.h create mode 100644 package/network/services/ead/src/libbridge_init.c create mode 100644 package/network/services/ead/src/libbridge_private.h create mode 100644 package/network/services/ead/src/list.h create mode 100644 package/network/services/ead/src/passwd create mode 100644 package/network/services/ead/src/pfc.c create mode 100644 package/network/services/ead/src/pw_encrypt_md5.c create mode 100644 package/network/services/ead/src/sha1.c create mode 100644 package/network/services/ead/src/tinysrp/Makefile.am create mode 100644 package/network/services/ead/src/tinysrp/Makefile.in create mode 100644 package/network/services/ead/src/tinysrp/Notes create mode 100644 package/network/services/ead/src/tinysrp/acconfig.h create mode 100644 package/network/services/ead/src/tinysrp/acinclude.m4 create mode 100644 package/network/services/ead/src/tinysrp/aclocal.m4 create mode 100644 package/network/services/ead/src/tinysrp/bn.h create mode 100644 package/network/services/ead/src/tinysrp/bn_add.c create mode 100644 package/network/services/ead/src/tinysrp/bn_asm.c create mode 100644 package/network/services/ead/src/tinysrp/bn_ctx.c create mode 100644 package/network/services/ead/src/tinysrp/bn_div.c create mode 100644 package/network/services/ead/src/tinysrp/bn_exp.c create mode 100644 package/network/services/ead/src/tinysrp/bn_lcl.h create mode 100644 package/network/services/ead/src/tinysrp/bn_lib.c create mode 100644 package/network/services/ead/src/tinysrp/bn_mul.c create mode 100644 package/network/services/ead/src/tinysrp/bn_prime.h create mode 100644 package/network/services/ead/src/tinysrp/bn_shift.c create mode 100644 package/network/services/ead/src/tinysrp/bn_sqr.c create mode 100644 package/network/services/ead/src/tinysrp/bn_word.c create mode 100644 package/network/services/ead/src/tinysrp/clitest.c create mode 100644 package/network/services/ead/src/tinysrp/config.h.in create mode 100755 package/network/services/ead/src/tinysrp/configure create mode 100644 package/network/services/ead/src/tinysrp/configure.in create mode 100755 package/network/services/ead/src/tinysrp/install-sh create mode 100755 package/network/services/ead/src/tinysrp/missing create mode 100755 package/network/services/ead/src/tinysrp/mkinstalldirs create mode 100644 package/network/services/ead/src/tinysrp/srvtest.c create mode 100644 package/network/services/ead/src/tinysrp/stamp-h.in create mode 100644 package/network/services/ead/src/tinysrp/t_client.c create mode 100644 package/network/services/ead/src/tinysrp/t_client.h create mode 100644 package/network/services/ead/src/tinysrp/t_conf.c create mode 100644 package/network/services/ead/src/tinysrp/t_conv.c create mode 100644 package/network/services/ead/src/tinysrp/t_defines.h create mode 100644 package/network/services/ead/src/tinysrp/t_getconf.c create mode 100644 package/network/services/ead/src/tinysrp/t_getpass.c create mode 100644 package/network/services/ead/src/tinysrp/t_math.c create mode 100644 package/network/services/ead/src/tinysrp/t_misc.c create mode 100644 package/network/services/ead/src/tinysrp/t_pw.c create mode 100644 package/network/services/ead/src/tinysrp/t_pwd.h create mode 100644 package/network/services/ead/src/tinysrp/t_read.c create mode 100644 package/network/services/ead/src/tinysrp/t_read.h create mode 100644 package/network/services/ead/src/tinysrp/t_server.c create mode 100644 package/network/services/ead/src/tinysrp/t_server.h create mode 100644 package/network/services/ead/src/tinysrp/t_sha.c create mode 100644 package/network/services/ead/src/tinysrp/t_sha.h create mode 100644 package/network/services/ead/src/tinysrp/t_truerand.c create mode 100644 package/network/services/ead/src/tinysrp/tconf.c create mode 100644 package/network/services/ead/src/tinysrp/tinysrp.c create mode 100644 package/network/services/ead/src/tinysrp/tinysrp.h create mode 100644 package/network/services/ead/src/tinysrp/tpasswd create mode 100644 package/network/services/ead/src/tinysrp/tphrase.c create mode 100644 package/network/services/hostapd/Config.in create mode 100644 package/network/services/hostapd/Makefile create mode 100644 package/network/services/hostapd/files/hostapd-full.config create mode 100644 package/network/services/hostapd/files/hostapd-mini.config create mode 100644 package/network/services/hostapd/files/multicall.c create mode 100644 package/network/services/hostapd/files/netifd.sh create mode 100644 package/network/services/hostapd/files/wpa_supplicant-full.config create mode 100644 package/network/services/hostapd/files/wpa_supplicant-mini.config create mode 100644 package/network/services/hostapd/files/wpa_supplicant-p2p.config create mode 100644 package/network/services/hostapd/files/wps-hotplug.sh create mode 100644 package/network/services/hostapd/patches/001-4addr-fix-reconnecting-client-on-connection-lost.patch create mode 100644 package/network/services/hostapd/patches/100-daemonize_fix.patch create mode 100644 package/network/services/hostapd/patches/110-no_eapol_fix.patch create mode 100644 package/network/services/hostapd/patches/120-disable_bridge_packet_workaround.patch create mode 100644 package/network/services/hostapd/patches/130-Revert-nl80211-Remove-duplicated-check-in-nl80211_se.patch create mode 100644 package/network/services/hostapd/patches/200-multicall.patch create mode 100644 package/network/services/hostapd/patches/300-noscan.patch create mode 100644 package/network/services/hostapd/patches/310-rescan_immediately.patch create mode 100644 package/network/services/hostapd/patches/320-optional_rfkill.patch create mode 100644 package/network/services/hostapd/patches/330-nl80211_fix_set_freq.patch create mode 100644 package/network/services/hostapd/patches/340-reload_freq_change.patch create mode 100644 package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch create mode 100644 package/network/services/hostapd/patches/360-ctrl_iface_reload.patch create mode 100644 package/network/services/hostapd/patches/370-ap_sta_support.patch create mode 100644 package/network/services/hostapd/patches/380-disable_ctrl_iface_mib.patch create mode 100644 package/network/services/hostapd/patches/390-wpa_ie_cap_workaround.patch create mode 100644 package/network/services/hostapd/patches/400-wps_single_auth_enc_type.patch create mode 100644 package/network/services/hostapd/patches/410-limit_debug_messages.patch create mode 100644 package/network/services/hostapd/patches/420-indicate-features.patch create mode 100644 package/network/services/hostapd/patches/430-hostapd_cli_ifdef.patch create mode 100644 package/network/services/hostapd/patches/431-wpa_cli_ifdef.patch create mode 100644 package/network/services/hostapd/patches/432-missing-typedef.patch create mode 100644 package/network/services/hostapd/patches/450-scan_wait.patch create mode 100644 package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch create mode 100644 package/network/services/hostapd/patches/461-driver_nl80211-use-new-parameters-during-ibss-join.patch create mode 100644 package/network/services/hostapd/patches/462-wpa_s-support-htmode-param.patch create mode 100644 package/network/services/hostapd/patches/470-survey_data_fallback.patch create mode 100644 package/network/services/hostapd/patches/600-ubus_support.patch create mode 100644 package/network/services/hostapd/src/src/ap/ubus.c create mode 100644 package/network/services/hostapd/src/src/ap/ubus.h create mode 100644 package/network/services/hostapd/src/src/utils/build_features.h create mode 100644 package/network/services/igmpproxy/Makefile create mode 100644 package/network/services/igmpproxy/files/igmpproxy.config create mode 100644 package/network/services/igmpproxy/files/igmpproxy.init create mode 100644 package/network/services/igmpproxy/patches/001-Send-IGMP-packets-with-IP-Router-Alert-option-RFC-21.patch create mode 100644 package/network/services/igmpproxy/patches/002-Change-default-interface-state-to-disabled-wrt-29458.patch create mode 100644 package/network/services/igmpproxy/patches/003-Restrict-igmp-reports-for-downstream-interfaces-wrt-.patch create mode 100644 package/network/services/igmpproxy/patches/004-Restrict-igmp-reports-forwarding-to-upstream-interfa.patch create mode 100644 package/network/services/igmpproxy/patches/010-missing_include.patch create mode 100644 package/network/services/igmpproxy/patches/020-Silence-downstream-interface-igmp-messages.patch create mode 100644 package/network/services/igmpproxy/patches/100-use-monotic-clock-instead-of-time-of-day.patch create mode 100644 package/network/services/igmpproxy/patches/200-allow_wildcard_addr.patch create mode 100644 package/network/services/igmpproxy/patches/250-fix_multiple_downlink_interfaces.patch create mode 100644 package/network/services/ipset-dns/Makefile create mode 100644 package/network/services/ipset-dns/files/ipset-dns.config create mode 100755 package/network/services/ipset-dns/files/ipset-dns.init create mode 100644 package/network/services/ipset-dns/patches/100-simultaneous-ipv4-ipv6.patch create mode 100644 package/network/services/lldpd/Config.in create mode 100644 package/network/services/lldpd/Makefile create mode 100644 package/network/services/lldpd/files/lldpd.config create mode 100644 package/network/services/lldpd/files/lldpd.init create mode 100644 package/network/services/mdns/Makefile create mode 100644 package/network/services/mdns/files/mdns.config create mode 100644 package/network/services/mdns/files/mdns.init create mode 100644 package/network/services/mdns/files/mdns.json create mode 100644 package/network/services/odhcpd/Makefile create mode 100755 package/network/services/odhcpd/files/odhcpd-update create mode 100644 package/network/services/odhcpd/files/odhcpd.defaults create mode 100644 package/network/services/odhcpd/files/odhcpd.init create mode 100644 package/network/services/omcproxy/Makefile create mode 100644 package/network/services/omcproxy/files/omcproxy.config create mode 100644 package/network/services/omcproxy/files/omcproxy.init create mode 100644 package/network/services/openvpn-easy-rsa/Makefile create mode 100644 package/network/services/openvpn-easy-rsa/files/easy-rsa.index create mode 100644 package/network/services/openvpn-easy-rsa/files/easy-rsa.serial create mode 100644 package/network/services/openvpn-easy-rsa/patches/100-run-ootb.patch create mode 100644 package/network/services/openvpn/Config-nossl.in create mode 100644 package/network/services/openvpn/Config-openssl.in create mode 100644 package/network/services/openvpn/Config-polarssl.in create mode 100644 package/network/services/openvpn/Makefile create mode 100644 package/network/services/openvpn/files/openvpn.config create mode 100644 package/network/services/openvpn/files/openvpn.init create mode 100644 package/network/services/openvpn/files/openvpn.upgrade create mode 100644 package/network/services/openvpn/patches/001-reproducible-remove_DATE.patch create mode 100644 package/network/services/openvpn/patches/100-polarssl-disable-runtime-version-check.patch create mode 100644 package/network/services/openvpn/patches/101-backport_upstream_polarssl_debug_call.patch create mode 100644 package/network/services/openvpn/patches/200-small_build_enable_occ.patch create mode 100644 package/network/services/ppp/Makefile create mode 100644 package/network/services/ppp/files/etc/ppp/chap-secrets create mode 100644 package/network/services/ppp/files/etc/ppp/filter create mode 100644 package/network/services/ppp/files/etc/ppp/options create mode 100644 package/network/services/ppp/files/etc/ppp/options.pptp create mode 100644 package/network/services/ppp/files/etc/ppp/radius.conf create mode 100644 package/network/services/ppp/files/etc/ppp/radius/dictionary create mode 100644 package/network/services/ppp/files/etc/ppp/radius/dictionary.asnet create mode 100644 package/network/services/ppp/files/etc/ppp/radius/dictionary.microsoft create mode 100644 package/network/services/ppp/files/etc/ppp/radius/servers create mode 100755 package/network/services/ppp/files/lib/netifd/ppp-down create mode 100755 package/network/services/ppp/files/lib/netifd/ppp-up create mode 100644 package/network/services/ppp/files/lib/netifd/ppp6-up create mode 100755 package/network/services/ppp/files/ppp.sh create mode 100644 package/network/services/ppp/patches/001-honor-ldflags.patch create mode 100644 package/network/services/ppp/patches/010-use_target_for_configure.patch create mode 100644 package/network/services/ppp/patches/100-debian_ip-ip_option.patch create mode 100644 package/network/services/ppp/patches/101-debian_close_dev_ppp.patch create mode 100644 package/network/services/ppp/patches/103-debian_fix_link_pidfile.patch create mode 100644 package/network/services/ppp/patches/105-debian_demand.patch create mode 100644 package/network/services/ppp/patches/106-debian_stripMSdomain.patch create mode 100644 package/network/services/ppp/patches/107-debian_pppoatm_wildcard.patch create mode 100644 package/network/services/ppp/patches/110-debian_defaultroute.patch create mode 100644 package/network/services/ppp/patches/120-debian_ipv6_updown_option.patch create mode 100644 package/network/services/ppp/patches/121-debian_adaptive_lcp_echo.patch create mode 100644 package/network/services/ppp/patches/130-no_cdefs_h.patch create mode 100644 package/network/services/ppp/patches/131-missing_prototype_macro.patch create mode 100644 package/network/services/ppp/patches/132-fix_linux_includes.patch create mode 100644 package/network/services/ppp/patches/133-fix_sha1_include.patch create mode 100644 package/network/services/ppp/patches/140-pppoe_compile_fix.patch create mode 100644 package/network/services/ppp/patches/200-makefile.patch create mode 100644 package/network/services/ppp/patches/201-mppe_mppc_1.1.patch create mode 100644 package/network/services/ppp/patches/202-no_strip.patch create mode 100644 package/network/services/ppp/patches/203-opt_flags.patch create mode 100644 package/network/services/ppp/patches/204-radius_config.patch create mode 100644 package/network/services/ppp/patches/205-no_exponential_timeout.patch create mode 100644 package/network/services/ppp/patches/206-compensate_time_change.patch create mode 100644 package/network/services/ppp/patches/207-lcp_mtu_max.patch create mode 100644 package/network/services/ppp/patches/208-fix_status_code.patch create mode 100644 package/network/services/ppp/patches/300-filter-pcap-includes-lib.patch create mode 100644 package/network/services/ppp/patches/310-precompile_filter.patch create mode 100644 package/network/services/ppp/patches/320-custom_iface_names.patch create mode 100644 package/network/services/ppp/patches/321-multilink_support_custom_iface_names.patch create mode 100644 package/network/services/ppp/patches/330-retain_foreign_default_routes.patch create mode 100644 package/network/services/ppp/patches/340-populate_default_gateway.patch create mode 100644 package/network/services/ppp/patches/400-simplify_kernel_checks.patch create mode 100644 package/network/services/ppp/patches/401-no_record_file.patch create mode 100644 package/network/services/ppp/patches/403-no_wtmp.patch create mode 100644 package/network/services/ppp/patches/404-remove_obsolete_protocol_names.patch create mode 100644 package/network/services/ppp/patches/405-no_multilink_option.patch create mode 100644 package/network/services/ppp/patches/500-add-pptp-plugin.patch create mode 100644 package/network/services/ppp/patches/510-pptp_compile_fix.patch create mode 100644 package/network/services/ppp/patches/520-uniq.patch create mode 100644 package/network/services/ppp/patches/530-pppoe_send_padt.patch create mode 100644 package/network/services/ppp/patches/531-pppoe_no_disconnect_warning.patch create mode 100644 package/network/services/ppp/patches/540-save-pppol2tp_fd_str.patch create mode 100644 package/network/services/ppp/patches/550-fix-printer-args.patch create mode 100644 package/network/services/ppp/utils/pfc.c create mode 100644 package/network/services/relayd/Makefile create mode 100644 package/network/services/relayd/files/relay.hotplug create mode 100644 package/network/services/relayd/files/relay.init create mode 100644 package/network/services/samba36/Makefile create mode 100644 package/network/services/samba36/files/samba.config create mode 100755 package/network/services/samba36/files/samba.init create mode 100644 package/network/services/samba36/files/smb.conf.template create mode 100644 package/network/services/samba36/patches/010-patch-cve-2015-5252.patch create mode 100644 package/network/services/samba36/patches/011-patch-cve-2015-5296.patch create mode 100644 package/network/services/samba36/patches/012-patch-cve-2015-5299.patch create mode 100644 package/network/services/samba36/patches/015-patch-cve-2015-7560.patch create mode 100644 package/network/services/samba36/patches/020-CVE-preparation-v3-6.patch create mode 100644 package/network/services/samba36/patches/021-CVE-preparation-v3-6-addition.patch create mode 100644 package/network/services/samba36/patches/022-CVE-2015-5370-v3-6.patch create mode 100644 package/network/services/samba36/patches/023-CVE-2016-2110-v3-6.patch create mode 100644 package/network/services/samba36/patches/024-CVE-2016-2111-v3-6.patch create mode 100644 package/network/services/samba36/patches/025-CVE-2016-2112-v3-6.patch create mode 100644 package/network/services/samba36/patches/026-CVE-2016-2115-v3-6.patch create mode 100644 package/network/services/samba36/patches/027-CVE-2016-2118-v3-6.patch create mode 100644 package/network/services/samba36/patches/100-configure_fixes.patch create mode 100644 package/network/services/samba36/patches/110-multicall.patch create mode 100644 package/network/services/samba36/patches/111-owrt_smbpasswd.patch create mode 100644 package/network/services/samba36/patches/120-add_missing_ifdef.patch create mode 100644 package/network/services/samba36/patches/200-remove_printer_support.patch create mode 100644 package/network/services/samba36/patches/210-remove_ad_support.patch create mode 100644 package/network/services/samba36/patches/220-remove_services.patch create mode 100644 package/network/services/samba36/patches/230-remove_winreg_support.patch create mode 100644 package/network/services/samba36/patches/240-remove_dfs_api.patch create mode 100644 package/network/services/samba36/patches/250-remove_domain_logon.patch create mode 100644 package/network/services/samba36/patches/260-remove_samr.patch create mode 100644 package/network/services/samba36/patches/270-remove_registry_backend.patch create mode 100644 package/network/services/samba36/patches/280-strip_srvsvc.patch create mode 100644 package/network/services/samba36/patches/290-remove_lsa.patch create mode 100644 package/network/services/samba36/patches/300-assert_debug_level.patch create mode 100644 package/network/services/samba36/patches/310-remove_error_strings.patch create mode 100644 package/network/services/samba36/patches/320-debug_level_checks.patch create mode 100644 package/network/services/samba36/patches/330-librpc_default_print.patch create mode 100644 package/network/services/uhttpd/Makefile create mode 100644 package/network/services/uhttpd/files/ubus.default create mode 100644 package/network/services/uhttpd/files/uhttpd.config create mode 100755 package/network/services/uhttpd/files/uhttpd.init create mode 100644 package/network/utils/arptables/Makefile create mode 100644 package/network/utils/comgt/Makefile create mode 100644 package/network/utils/comgt/files/3g.chat create mode 100644 package/network/utils/comgt/files/3g.sh create mode 100644 package/network/utils/comgt/files/3g.usb create mode 100644 package/network/utils/comgt/files/directip-stop.gcom create mode 100644 package/network/utils/comgt/files/directip.gcom create mode 100644 package/network/utils/comgt/files/directip.sh create mode 100644 package/network/utils/comgt/files/evdo.chat create mode 100644 package/network/utils/comgt/files/getcardinfo.gcom create mode 100644 package/network/utils/comgt/files/getcarrier.gcom create mode 100644 package/network/utils/comgt/files/getcnum.gcom create mode 100644 package/network/utils/comgt/files/getimsi.gcom create mode 100644 package/network/utils/comgt/files/getstrength.gcom create mode 100644 package/network/utils/comgt/files/ncm.json create mode 100644 package/network/utils/comgt/files/ncm.sh create mode 100644 package/network/utils/comgt/files/runcommand.gcom create mode 100644 package/network/utils/comgt/files/setmode.gcom create mode 100644 package/network/utils/comgt/files/setpin.gcom create mode 100644 package/network/utils/comgt/patches/001-compile_fix.patch create mode 100644 package/network/utils/comgt/patches/002-termios.patch create mode 100644 package/network/utils/comgt/patches/003-no_XCASE.patch create mode 100644 package/network/utils/comgt/patches/004-check_tty.patch create mode 100644 package/network/utils/conntrack-tools/Makefile create mode 100644 package/network/utils/conntrack-tools/files/conntrackd.init create mode 100644 package/network/utils/curl/Config.in create mode 100644 package/network/utils/curl/Makefile create mode 100644 package/network/utils/curl/patches/200-no_docs_tests.patch create mode 100644 package/network/utils/curl/patches/310-polarssl-disable-runtime-version-check.patch create mode 100644 package/network/utils/dante/Makefile create mode 100644 package/network/utils/dante/patches/200-fix-RTLD_NEXT.patch create mode 100644 package/network/utils/ebtables/Makefile create mode 100644 package/network/utils/ebtables/patches/100-musl_fix.patch create mode 100644 package/network/utils/ebtables/patches/200-fix-extension-init.patch create mode 100644 package/network/utils/iftop/Makefile create mode 100644 package/network/utils/iftop/patches/110-fix-mac-display.patch create mode 100644 package/network/utils/iperf/Makefile create mode 100644 package/network/utils/iperf3/Makefile create mode 100644 package/network/utils/iproute2/Makefile create mode 100644 package/network/utils/iproute2/files/15-teql create mode 100644 package/network/utils/iproute2/patches/001-config.patch create mode 100644 package/network/utils/iproute2/patches/004-darwin_fixes.patch create mode 100644 package/network/utils/iproute2/patches/006-no_sctp.patch create mode 100644 package/network/utils/iproute2/patches/007-no_arpd.patch create mode 100644 package/network/utils/iproute2/patches/008-no_netem.patch create mode 100644 package/network/utils/iproute2/patches/010-type_fixes.patch create mode 100644 package/network/utils/iproute2/patches/100-allow_pfifo_fast.patch create mode 100644 package/network/utils/iproute2/patches/110-extra-ccopts.patch create mode 100644 package/network/utils/iproute2/patches/120-libnetlink-pic.patch create mode 100644 package/network/utils/iproute2/patches/130-missing_include.patch create mode 100644 package/network/utils/iproute2/patches/300-ip_tiny.patch create mode 100644 package/network/utils/iproute2/patches/900-drop_FAILED_POLICY.patch create mode 100644 package/network/utils/iproute2/patches/910-sanitize_headers_for_musl.patch create mode 100644 package/network/utils/iproute2/patches/911-fix_in_h_include.patch create mode 100644 package/network/utils/iproute2/patches/950-add-cake-to-tc.patch create mode 100644 package/network/utils/ipset/Makefile create mode 100644 package/network/utils/iptables/Makefile create mode 100644 package/network/utils/iptables/patches/020-iptables-disable-modprobe.patch create mode 100644 package/network/utils/iptables/patches/030-no-libnfnetlink.patch create mode 100644 package/network/utils/iptables/patches/050-optional-xml.patch create mode 100644 package/network/utils/iptables/patches/100-bash-location.patch create mode 100644 package/network/utils/iptables/patches/200-configurable_builtin.patch create mode 100644 package/network/utils/iptables/patches/300-musl_fixes.patch create mode 100644 package/network/utils/iptables/patches/500-add-xt_id-match.patch create mode 100644 package/network/utils/iptables/patches/600-shared-libext.patch create mode 100644 package/network/utils/iptables/patches/700-disable-legacy-revisions.patch create mode 100644 package/network/utils/iputils/Makefile create mode 100644 package/network/utils/iputils/patches/001-iputils.patch create mode 100644 package/network/utils/iputils/patches/002-fix-ipv6.patch create mode 100644 package/network/utils/iputils/patches/003-fix-makefile.patch create mode 100644 package/network/utils/iputils/patches/010-ping6_uclibc_resolv.patch create mode 100644 package/network/utils/iputils/patches/011-ping6_use_gnu_source.patch create mode 100644 package/network/utils/iputils/patches/020-include_fixes.patch create mode 100644 package/network/utils/iw/Makefile create mode 100644 package/network/utils/iw/patches/001-nl80211_h_sync.patch create mode 100644 package/network/utils/iw/patches/120-antenna_gain.patch create mode 100644 package/network/utils/iw/patches/200-reduce_size.patch create mode 100644 package/network/utils/iwcap/Makefile create mode 100644 package/network/utils/iwcap/src/iwcap.c create mode 100644 package/network/utils/iwinfo/Makefile create mode 100644 package/network/utils/linux-atm/Makefile create mode 100644 package/network/utils/linux-atm/files/atm.hotplug create mode 100644 package/network/utils/linux-atm/files/br2684-up create mode 100755 package/network/utils/linux-atm/files/br2684ctl create mode 100644 package/network/utils/linux-atm/files/br2684ctl_wrap create mode 100644 package/network/utils/linux-atm/patches/000-debian_16.patch create mode 100644 package/network/utils/linux-atm/patches/200-no_libfl.patch create mode 100644 package/network/utils/linux-atm/patches/300-objcopy_path.patch create mode 100644 package/network/utils/linux-atm/patches/400-portability_fixes.patch create mode 100644 package/network/utils/linux-atm/patches/500-br2684ctl_script.patch create mode 100644 package/network/utils/linux-atm/patches/600-fix-format-errors.patch create mode 100644 package/network/utils/maccalc/Makefile create mode 100644 package/network/utils/maccalc/src/Makefile create mode 100644 package/network/utils/maccalc/src/main.c create mode 100644 package/network/utils/nftables/Makefile create mode 100644 package/network/utils/nftables/patches/100-disable-doc-generation.patch create mode 100644 package/network/utils/owipcalc/Makefile create mode 100644 package/network/utils/owipcalc/src/owipcalc.c create mode 100644 package/network/utils/resolveip/Makefile create mode 100644 package/network/utils/resolveip/src/resolveip.c create mode 100644 package/network/utils/rssileds/Makefile create mode 100644 package/network/utils/rssileds/files/rssileds.init create mode 100644 package/network/utils/rssileds/src/rssileds.c create mode 100644 package/network/utils/tcpdump/Makefile create mode 100644 package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch create mode 100644 package/network/utils/tcpdump/patches/002-remove_static_libpcap_check.patch create mode 100644 package/network/utils/tcpdump/patches/100-tcpdump_mini.patch create mode 100644 package/network/utils/umbim/Makefile create mode 100755 package/network/utils/umbim/files/lib/netifd/proto/mbim.sh create mode 100644 package/network/utils/uqmi/Makefile create mode 100755 package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh create mode 100644 package/network/utils/wireless-tools/Makefile create mode 100644 package/network/utils/wireless-tools/patches/001-debian.patch create mode 100644 package/network/utils/wireless-tools/patches/002-fix-iwconfig-power-argument-parsing.patch create mode 100644 package/network/utils/wireless-tools/patches/003-we_essential_def.patch create mode 100644 package/network/utils/wireless-tools/patches/004-increase_iwlist_buffer.patch create mode 100644 package/network/utils/wpan-tools/Makefile create mode 100644 package/network/utils/wwan/Makefile create mode 100644 package/network/utils/wwan/files/data/0421-03a7 create mode 100644 package/network/utils/wwan/files/data/0421-060d create mode 100644 package/network/utils/wwan/files/data/0421-060e create mode 100644 package/network/utils/wwan/files/data/0421-0612 create mode 100644 package/network/utils/wwan/files/data/0421-0619 create mode 100644 package/network/utils/wwan/files/data/0421-061e create mode 100644 package/network/utils/wwan/files/data/0421-0623 create mode 100644 package/network/utils/wwan/files/data/0421-0629 create mode 100644 package/network/utils/wwan/files/data/0421-062d create mode 100644 package/network/utils/wwan/files/data/0421-062f create mode 100644 package/network/utils/wwan/files/data/0421-0638 create mode 100644 package/network/utils/wwan/files/data/05c6-0016 create mode 100644 package/network/utils/wwan/files/data/05c6-0023 create mode 100644 package/network/utils/wwan/files/data/05c6-00a0 create mode 100644 package/network/utils/wwan/files/data/05c6-6000 create mode 100644 package/network/utils/wwan/files/data/05c6-9000 create mode 100644 package/network/utils/wwan/files/data/07d1-3e01 create mode 100644 package/network/utils/wwan/files/data/07d1-3e02 create mode 100644 package/network/utils/wwan/files/data/07d1-7e11 create mode 100644 package/network/utils/wwan/files/data/0af0-4005 create mode 100644 package/network/utils/wwan/files/data/0af0-6901 create mode 100644 package/network/utils/wwan/files/data/0af0-7201 create mode 100644 package/network/utils/wwan/files/data/0af0-8120 create mode 100644 package/network/utils/wwan/files/data/0af0-9200 create mode 100644 package/network/utils/wwan/files/data/0b3c-c000 create mode 100644 package/network/utils/wwan/files/data/0b3c-c001 create mode 100644 package/network/utils/wwan/files/data/0b3c-c002 create mode 100644 package/network/utils/wwan/files/data/0b3c-c003 create mode 100644 package/network/utils/wwan/files/data/0b3c-c004 create mode 100644 package/network/utils/wwan/files/data/0b3c-c005 create mode 100644 package/network/utils/wwan/files/data/0b3c-c00a create mode 100644 package/network/utils/wwan/files/data/0b3c-c00b create mode 100644 package/network/utils/wwan/files/data/0bdb-1900 create mode 100644 package/network/utils/wwan/files/data/0bdb-1902 create mode 100644 package/network/utils/wwan/files/data/0bdb-190a create mode 100644 package/network/utils/wwan/files/data/0bdb-190d create mode 100644 package/network/utils/wwan/files/data/0bdb-1910 create mode 100644 package/network/utils/wwan/files/data/0c88-17da create mode 100644 package/network/utils/wwan/files/data/0c88-180a create mode 100644 package/network/utils/wwan/files/data/0f3d-68a2 create mode 100644 package/network/utils/wwan/files/data/0f3d-68aa create mode 100644 package/network/utils/wwan/files/data/1004-6124 create mode 100644 package/network/utils/wwan/files/data/1004-6141 create mode 100644 package/network/utils/wwan/files/data/1004-6157 create mode 100644 package/network/utils/wwan/files/data/1004-618f create mode 100644 package/network/utils/wwan/files/data/106c-3711 create mode 100644 package/network/utils/wwan/files/data/106c-3714 create mode 100644 package/network/utils/wwan/files/data/106c-3715 create mode 100644 package/network/utils/wwan/files/data/106c-3716 create mode 100644 package/network/utils/wwan/files/data/106c-3717 create mode 100644 package/network/utils/wwan/files/data/106c-3718 create mode 100644 package/network/utils/wwan/files/data/106c-3721 create mode 100644 package/network/utils/wwan/files/data/1199-0017 create mode 100644 package/network/utils/wwan/files/data/1199-0018 create mode 100644 package/network/utils/wwan/files/data/1199-0019 create mode 100644 package/network/utils/wwan/files/data/1199-0020 create mode 100644 package/network/utils/wwan/files/data/1199-0021 create mode 100644 package/network/utils/wwan/files/data/1199-0022 create mode 100644 package/network/utils/wwan/files/data/1199-0023 create mode 100644 package/network/utils/wwan/files/data/1199-0024 create mode 100644 package/network/utils/wwan/files/data/1199-0025 create mode 100644 package/network/utils/wwan/files/data/1199-0026 create mode 100644 package/network/utils/wwan/files/data/1199-0027 create mode 100644 package/network/utils/wwan/files/data/1199-0028 create mode 100644 package/network/utils/wwan/files/data/1199-0112 create mode 100644 package/network/utils/wwan/files/data/1199-0120 create mode 100644 package/network/utils/wwan/files/data/1199-0218 create mode 100644 package/network/utils/wwan/files/data/1199-0220 create mode 100644 package/network/utils/wwan/files/data/1199-0224 create mode 100644 package/network/utils/wwan/files/data/1199-0301 create mode 100644 package/network/utils/wwan/files/data/1199-6802 create mode 100644 package/network/utils/wwan/files/data/1199-6803 create mode 100644 package/network/utils/wwan/files/data/1199-6804 create mode 100644 package/network/utils/wwan/files/data/1199-6805 create mode 100644 package/network/utils/wwan/files/data/1199-6808 create mode 100644 package/network/utils/wwan/files/data/1199-6809 create mode 100644 package/network/utils/wwan/files/data/1199-6813 create mode 100644 package/network/utils/wwan/files/data/1199-6815 create mode 100644 package/network/utils/wwan/files/data/1199-6816 create mode 100644 package/network/utils/wwan/files/data/1199-6820 create mode 100644 package/network/utils/wwan/files/data/1199-6821 create mode 100644 package/network/utils/wwan/files/data/1199-6822 create mode 100644 package/network/utils/wwan/files/data/1199-6833 create mode 100644 package/network/utils/wwan/files/data/1199-6834 create mode 100644 package/network/utils/wwan/files/data/1199-6835 create mode 100644 package/network/utils/wwan/files/data/1199-6838 create mode 100644 package/network/utils/wwan/files/data/1199-6839 create mode 100644 package/network/utils/wwan/files/data/1199-683a create mode 100644 package/network/utils/wwan/files/data/1199-683b create mode 100644 package/network/utils/wwan/files/data/1199-6850 create mode 100644 package/network/utils/wwan/files/data/1199-6851 create mode 100644 package/network/utils/wwan/files/data/1199-6852 create mode 100644 package/network/utils/wwan/files/data/1199-6853 create mode 100644 package/network/utils/wwan/files/data/1199-6855 create mode 100644 package/network/utils/wwan/files/data/1199-6856 create mode 100644 package/network/utils/wwan/files/data/1199-6859 create mode 100644 package/network/utils/wwan/files/data/1199-685a create mode 100644 package/network/utils/wwan/files/data/1199-6880 create mode 100644 package/network/utils/wwan/files/data/1199-6890 create mode 100644 package/network/utils/wwan/files/data/1199-6891 create mode 100644 package/network/utils/wwan/files/data/1199-6892 create mode 100644 package/network/utils/wwan/files/data/1199-6893 create mode 100644 package/network/utils/wwan/files/data/1199-68a2 create mode 100644 package/network/utils/wwan/files/data/1199-68aa create mode 100644 package/network/utils/wwan/files/data/12d1-1035 create mode 100644 package/network/utils/wwan/files/data/12d1-1404 create mode 100644 package/network/utils/wwan/files/data/12d1-1406 create mode 100644 package/network/utils/wwan/files/data/12d1-140b create mode 100644 package/network/utils/wwan/files/data/12d1-140c create mode 100644 package/network/utils/wwan/files/data/12d1-1412 create mode 100644 package/network/utils/wwan/files/data/12d1-141b create mode 100644 package/network/utils/wwan/files/data/12d1-1433 create mode 100644 package/network/utils/wwan/files/data/12d1-1436 create mode 100644 package/network/utils/wwan/files/data/12d1-1444 create mode 100644 package/network/utils/wwan/files/data/12d1-144e create mode 100644 package/network/utils/wwan/files/data/12d1-1464 create mode 100644 package/network/utils/wwan/files/data/12d1-1465 create mode 100644 package/network/utils/wwan/files/data/12d1-1491 create mode 100644 package/network/utils/wwan/files/data/12d1-14a5 create mode 100644 package/network/utils/wwan/files/data/12d1-14a8 create mode 100644 package/network/utils/wwan/files/data/12d1-14ac create mode 100644 package/network/utils/wwan/files/data/12d1-14ae create mode 100644 package/network/utils/wwan/files/data/12d1-14c6 create mode 100644 package/network/utils/wwan/files/data/12d1-14c8 create mode 100644 package/network/utils/wwan/files/data/12d1-14c9 create mode 100644 package/network/utils/wwan/files/data/12d1-14ca create mode 100644 package/network/utils/wwan/files/data/12d1-14cb create mode 100644 package/network/utils/wwan/files/data/12d1-14cc create mode 100644 package/network/utils/wwan/files/data/12d1-14cf create mode 100644 package/network/utils/wwan/files/data/12d1-14d2 create mode 100644 package/network/utils/wwan/files/data/12d1-1506 create mode 100644 package/network/utils/wwan/files/data/12d1-150a create mode 100644 package/network/utils/wwan/files/data/12d1-150c create mode 100644 package/network/utils/wwan/files/data/12d1-150f create mode 100644 package/network/utils/wwan/files/data/12d1-151b create mode 100644 package/network/utils/wwan/files/data/12d1-151d create mode 100644 package/network/utils/wwan/files/data/12d1-156c create mode 100644 package/network/utils/wwan/files/data/12d1-1576 create mode 100644 package/network/utils/wwan/files/data/12d1-1577 create mode 100644 package/network/utils/wwan/files/data/12d1-1578 create mode 100644 package/network/utils/wwan/files/data/12d1-1589 create mode 100644 package/network/utils/wwan/files/data/12d1-1c05 create mode 100644 package/network/utils/wwan/files/data/12d1-1c07 create mode 100644 package/network/utils/wwan/files/data/12d1-1c08 create mode 100644 package/network/utils/wwan/files/data/12d1-1c10 create mode 100644 package/network/utils/wwan/files/data/12d1-1c12 create mode 100644 package/network/utils/wwan/files/data/12d1-1c1e create mode 100644 package/network/utils/wwan/files/data/12d1-1c1f create mode 100644 package/network/utils/wwan/files/data/12d1-1c23 create mode 100644 package/network/utils/wwan/files/data/12d1-1f16 create mode 100644 package/network/utils/wwan/files/data/1410-1400 create mode 100644 package/network/utils/wwan/files/data/1410-1410 create mode 100644 package/network/utils/wwan/files/data/1410-1420 create mode 100644 package/network/utils/wwan/files/data/1410-1430 create mode 100644 package/network/utils/wwan/files/data/1410-1450 create mode 100644 package/network/utils/wwan/files/data/1410-2100 create mode 100644 package/network/utils/wwan/files/data/1410-2110 create mode 100644 package/network/utils/wwan/files/data/1410-2120 create mode 100644 package/network/utils/wwan/files/data/1410-2130 create mode 100644 package/network/utils/wwan/files/data/1410-2400 create mode 100644 package/network/utils/wwan/files/data/1410-2410 create mode 100644 package/network/utils/wwan/files/data/1410-2420 create mode 100644 package/network/utils/wwan/files/data/1410-4100 create mode 100644 package/network/utils/wwan/files/data/1410-4400 create mode 100644 package/network/utils/wwan/files/data/1410-6000 create mode 100644 package/network/utils/wwan/files/data/1410-6001 create mode 100644 package/network/utils/wwan/files/data/1410-6002 create mode 100644 package/network/utils/wwan/files/data/1410-6010 create mode 100644 package/network/utils/wwan/files/data/1410-7001 create mode 100644 package/network/utils/wwan/files/data/1410-7003 create mode 100644 package/network/utils/wwan/files/data/1410-7030 create mode 100644 package/network/utils/wwan/files/data/1410-7031 create mode 100644 package/network/utils/wwan/files/data/1410-7041 create mode 100644 package/network/utils/wwan/files/data/1410-7042 create mode 100644 package/network/utils/wwan/files/data/1410-9011 create mode 100644 package/network/utils/wwan/files/data/1410-b001 create mode 100644 package/network/utils/wwan/files/data/1529-3100 create mode 100644 package/network/utils/wwan/files/data/16d5-6202 create mode 100644 package/network/utils/wwan/files/data/16d5-6501 create mode 100644 package/network/utils/wwan/files/data/16d5-6502 create mode 100644 package/network/utils/wwan/files/data/16d5-6603 create mode 100644 package/network/utils/wwan/files/data/16d5-900d create mode 100644 package/network/utils/wwan/files/data/16d8-5141 create mode 100644 package/network/utils/wwan/files/data/16d8-5533 create mode 100644 package/network/utils/wwan/files/data/16d8-5543 create mode 100644 package/network/utils/wwan/files/data/16d8-5553 create mode 100644 package/network/utils/wwan/files/data/16d8-6002 create mode 100644 package/network/utils/wwan/files/data/16d8-6006 create mode 100644 package/network/utils/wwan/files/data/16d8-6007 create mode 100644 package/network/utils/wwan/files/data/16d8-6008 create mode 100644 package/network/utils/wwan/files/data/16d8-6522 create mode 100644 package/network/utils/wwan/files/data/16d8-6523 create mode 100644 package/network/utils/wwan/files/data/16d8-6532 create mode 100644 package/network/utils/wwan/files/data/16d8-6533 create mode 100644 package/network/utils/wwan/files/data/16d8-6543 create mode 100644 package/network/utils/wwan/files/data/16d8-680a create mode 100644 package/network/utils/wwan/files/data/19d2-0001 create mode 100644 package/network/utils/wwan/files/data/19d2-0002 create mode 100644 package/network/utils/wwan/files/data/19d2-0015 create mode 100644 package/network/utils/wwan/files/data/19d2-0016 create mode 100644 package/network/utils/wwan/files/data/19d2-0017 create mode 100644 package/network/utils/wwan/files/data/19d2-0018 create mode 100644 package/network/utils/wwan/files/data/19d2-0019 create mode 100644 package/network/utils/wwan/files/data/19d2-0022 create mode 100644 package/network/utils/wwan/files/data/19d2-0024 create mode 100644 package/network/utils/wwan/files/data/19d2-0025 create mode 100644 package/network/utils/wwan/files/data/19d2-0031 create mode 100644 package/network/utils/wwan/files/data/19d2-0033 create mode 100644 package/network/utils/wwan/files/data/19d2-0037 create mode 100644 package/network/utils/wwan/files/data/19d2-0039 create mode 100644 package/network/utils/wwan/files/data/19d2-0042 create mode 100644 package/network/utils/wwan/files/data/19d2-0052 create mode 100644 package/network/utils/wwan/files/data/19d2-0055 create mode 100644 package/network/utils/wwan/files/data/19d2-0057 create mode 100644 package/network/utils/wwan/files/data/19d2-0063 create mode 100644 package/network/utils/wwan/files/data/19d2-0064 create mode 100644 package/network/utils/wwan/files/data/19d2-0066 create mode 100644 package/network/utils/wwan/files/data/19d2-0073 create mode 100644 package/network/utils/wwan/files/data/19d2-0079 create mode 100644 package/network/utils/wwan/files/data/19d2-0082 create mode 100644 package/network/utils/wwan/files/data/19d2-0086 create mode 100644 package/network/utils/wwan/files/data/19d2-0091 create mode 100644 package/network/utils/wwan/files/data/19d2-0094 create mode 100644 package/network/utils/wwan/files/data/19d2-0104 create mode 100644 package/network/utils/wwan/files/data/19d2-0108 create mode 100644 package/network/utils/wwan/files/data/19d2-0116 create mode 100644 package/network/utils/wwan/files/data/19d2-0117 create mode 100644 package/network/utils/wwan/files/data/19d2-0121 create mode 100644 package/network/utils/wwan/files/data/19d2-0124 create mode 100644 package/network/utils/wwan/files/data/19d2-0128 create mode 100644 package/network/utils/wwan/files/data/19d2-0142 create mode 100644 package/network/utils/wwan/files/data/19d2-0143 create mode 100644 package/network/utils/wwan/files/data/19d2-0152 create mode 100644 package/network/utils/wwan/files/data/19d2-0157 create mode 100644 package/network/utils/wwan/files/data/19d2-0167 create mode 100644 package/network/utils/wwan/files/data/19d2-0170 create mode 100644 package/network/utils/wwan/files/data/19d2-0199 create mode 100644 package/network/utils/wwan/files/data/19d2-0257 create mode 100644 package/network/utils/wwan/files/data/19d2-0265 create mode 100644 package/network/utils/wwan/files/data/19d2-0284 create mode 100644 package/network/utils/wwan/files/data/19d2-0326 create mode 100644 package/network/utils/wwan/files/data/19d2-1003 create mode 100644 package/network/utils/wwan/files/data/19d2-1008 create mode 100644 package/network/utils/wwan/files/data/19d2-1010 create mode 100644 package/network/utils/wwan/files/data/19d2-1015 create mode 100644 package/network/utils/wwan/files/data/19d2-1018 create mode 100644 package/network/utils/wwan/files/data/19d2-1172 create mode 100644 package/network/utils/wwan/files/data/19d2-1173 create mode 100644 package/network/utils/wwan/files/data/19d2-1176 create mode 100644 package/network/utils/wwan/files/data/19d2-1177 create mode 100644 package/network/utils/wwan/files/data/19d2-1181 create mode 100644 package/network/utils/wwan/files/data/19d2-1203 create mode 100644 package/network/utils/wwan/files/data/19d2-1208 create mode 100644 package/network/utils/wwan/files/data/19d2-1211 create mode 100644 package/network/utils/wwan/files/data/19d2-1212 create mode 100644 package/network/utils/wwan/files/data/19d2-1217 create mode 100644 package/network/utils/wwan/files/data/19d2-1218 create mode 100644 package/network/utils/wwan/files/data/19d2-1220 create mode 100644 package/network/utils/wwan/files/data/19d2-1222 create mode 100644 package/network/utils/wwan/files/data/19d2-1245 create mode 100644 package/network/utils/wwan/files/data/19d2-1252 create mode 100644 package/network/utils/wwan/files/data/19d2-1254 create mode 100644 package/network/utils/wwan/files/data/19d2-1256 create mode 100644 package/network/utils/wwan/files/data/19d2-1270 create mode 100644 package/network/utils/wwan/files/data/19d2-1401 create mode 100644 package/network/utils/wwan/files/data/19d2-1402 create mode 100644 package/network/utils/wwan/files/data/19d2-1426 create mode 100644 package/network/utils/wwan/files/data/19d2-1512 create mode 100644 package/network/utils/wwan/files/data/19d2-1515 create mode 100644 package/network/utils/wwan/files/data/19d2-1518 create mode 100644 package/network/utils/wwan/files/data/19d2-1519 create mode 100644 package/network/utils/wwan/files/data/19d2-1522 create mode 100644 package/network/utils/wwan/files/data/19d2-1525 create mode 100644 package/network/utils/wwan/files/data/19d2-1527 create mode 100644 package/network/utils/wwan/files/data/19d2-1537 create mode 100644 package/network/utils/wwan/files/data/19d2-1538 create mode 100644 package/network/utils/wwan/files/data/19d2-1544 create mode 100644 package/network/utils/wwan/files/data/19d2-2002 create mode 100644 package/network/utils/wwan/files/data/19d2-2003 create mode 100644 package/network/utils/wwan/files/data/19d2-ffdd create mode 100644 package/network/utils/wwan/files/data/19d2-ffe4 create mode 100644 package/network/utils/wwan/files/data/19d2-ffe9 create mode 100644 package/network/utils/wwan/files/data/19d2-fff1 create mode 100644 package/network/utils/wwan/files/data/19d2-fffb create mode 100644 package/network/utils/wwan/files/data/19d2-fffc create mode 100644 package/network/utils/wwan/files/data/19d2-fffd create mode 100644 package/network/utils/wwan/files/data/19d2-fffe create mode 100644 package/network/utils/wwan/files/data/19d2-ffff create mode 100644 package/network/utils/wwan/files/data/1a8d-1002 create mode 100644 package/network/utils/wwan/files/data/1a8d-1003 create mode 100644 package/network/utils/wwan/files/data/1a8d-1007 create mode 100644 package/network/utils/wwan/files/data/1a8d-1009 create mode 100644 package/network/utils/wwan/files/data/1a8d-100c create mode 100644 package/network/utils/wwan/files/data/1a8d-100d create mode 100644 package/network/utils/wwan/files/data/1a8d-2006 create mode 100644 package/network/utils/wwan/files/data/1bbb-0000 create mode 100644 package/network/utils/wwan/files/data/1bbb-0012 create mode 100644 package/network/utils/wwan/files/data/1bbb-0017 create mode 100644 package/network/utils/wwan/files/data/1bbb-0052 create mode 100644 package/network/utils/wwan/files/data/1bbb-00b7 create mode 100644 package/network/utils/wwan/files/data/1bbb-00ca create mode 100644 package/network/utils/wwan/files/data/1bbb-011e create mode 100644 package/network/utils/wwan/files/data/1bbb-0203 create mode 100644 package/network/utils/wwan/files/data/1c9e-6060 create mode 100644 package/network/utils/wwan/files/data/1c9e-6061 create mode 100644 package/network/utils/wwan/files/data/1c9e-9000 create mode 100644 package/network/utils/wwan/files/data/1c9e-9603 create mode 100644 package/network/utils/wwan/files/data/1c9e-9605 create mode 100644 package/network/utils/wwan/files/data/1c9e-9607 create mode 100644 package/network/utils/wwan/files/data/1c9e-9801 create mode 100644 package/network/utils/wwan/files/data/1c9e-9900 create mode 100644 package/network/utils/wwan/files/data/1e0e-9000 create mode 100644 package/network/utils/wwan/files/data/1e0e-9100 create mode 100644 package/network/utils/wwan/files/data/1e0e-9200 create mode 100644 package/network/utils/wwan/files/data/1e0e-ce16 create mode 100644 package/network/utils/wwan/files/data/1e0e-cefe create mode 100644 package/network/utils/wwan/files/data/2001-7d00 create mode 100644 package/network/utils/wwan/files/data/2001-7d01 create mode 100644 package/network/utils/wwan/files/data/2001-7d02 create mode 100644 package/network/utils/wwan/files/data/2001-7d03 create mode 100644 package/network/utils/wwan/files/data/211f-6801 create mode 100644 package/network/utils/wwan/files/data/2357-0201 create mode 100644 package/network/utils/wwan/files/data/2357-0202 create mode 100644 package/network/utils/wwan/files/data/2357-0203 create mode 100644 package/network/utils/wwan/files/data/2357-9000 create mode 100644 package/network/utils/wwan/files/data/413c-8114 create mode 100644 package/network/utils/wwan/files/data/413c-8115 create mode 100644 package/network/utils/wwan/files/data/413c-8116 create mode 100644 package/network/utils/wwan/files/data/413c-8117 create mode 100644 package/network/utils/wwan/files/data/413c-8118 create mode 100644 package/network/utils/wwan/files/data/413c-8128 create mode 100644 package/network/utils/wwan/files/data/413c-8129 create mode 100644 package/network/utils/wwan/files/data/413c-8133 create mode 100644 package/network/utils/wwan/files/data/413c-8134 create mode 100644 package/network/utils/wwan/files/data/413c-8135 create mode 100644 package/network/utils/wwan/files/data/413c-8136 create mode 100644 package/network/utils/wwan/files/data/413c-8137 create mode 100644 package/network/utils/wwan/files/data/413c-8138 create mode 100644 package/network/utils/wwan/files/data/413c-8147 create mode 100644 package/network/utils/wwan/files/data/413c-8180 create mode 100644 package/network/utils/wwan/files/data/413c-8181 create mode 100644 package/network/utils/wwan/files/data/413c-8182 create mode 100644 package/network/utils/wwan/files/data/413c-8186 create mode 100644 package/network/utils/wwan/files/data/413c-8194 create mode 100644 package/network/utils/wwan/files/data/413c-8195 create mode 100644 package/network/utils/wwan/files/data/413c-8196 create mode 100644 package/network/utils/wwan/files/data/413c-819b create mode 100755 package/network/utils/wwan/files/wwan.sh create mode 100644 package/network/utils/wwan/files/wwan.usb create mode 100644 package/network/utils/wwan/files/wwan.usbmisc create mode 100644 package/network/utils/xtables-addons/Makefile create mode 100644 package/network/utils/xtables-addons/patches/002-fix-kernel-version-detection.patch create mode 100644 package/network/utils/xtables-addons/patches/100-add-rtsp-conntrack.patch create mode 100644 package/network/utils/xtables-addons/patches/200-add-lua-packetscript.patch create mode 100644 package/network/utils/xtables-addons/patches/201-fix-lua-packetscript.patch create mode 100644 package/network/utils/xtables-addons/patches/300-geoip-endian-detection.patch create mode 100644 package/system/ca-certificates/Makefile create mode 100644 package/system/fstools/Makefile create mode 100644 package/system/fstools/files/fstab.default create mode 100644 package/system/fstools/files/fstab.init create mode 100644 package/system/fstools/files/mount.hotplug create mode 100644 package/system/fstools/files/snapshot create mode 100644 package/system/fwtool/Makefile create mode 100644 package/system/fwtool/src/crc32.h create mode 100644 package/system/fwtool/src/fwimage.h create mode 100644 package/system/fwtool/src/fwtool.c create mode 100644 package/system/fwtool/src/utils.h create mode 100644 package/system/lede-keyring/Makefile create mode 100644 package/system/mountd/Makefile create mode 100644 package/system/mountd/files/mountd.config create mode 100755 package/system/mountd/files/mountd.init create mode 100644 package/system/mtd/Makefile create mode 100644 package/system/mtd/src/Makefile create mode 100644 package/system/mtd/src/crc32.c create mode 100644 package/system/mtd/src/crc32.h create mode 100644 package/system/mtd/src/fis.c create mode 100644 package/system/mtd/src/fis.h create mode 100644 package/system/mtd/src/imagetag.c create mode 100644 package/system/mtd/src/jffs2.c create mode 100644 package/system/mtd/src/jffs2.h create mode 100644 package/system/mtd/src/linksys_bootcount.c create mode 100644 package/system/mtd/src/md5.c create mode 100644 package/system/mtd/src/md5.h create mode 100644 package/system/mtd/src/mtd.c create mode 100644 package/system/mtd/src/mtd.h create mode 100644 package/system/mtd/src/seama.c create mode 100644 package/system/mtd/src/seama.h create mode 100644 package/system/mtd/src/trx.c create mode 100644 package/system/mtd/src/wrgg.c create mode 100644 package/system/mtd/src/wrgg.h create mode 100644 package/system/opkg/Makefile create mode 100644 package/system/opkg/files/20_migrate-feeds create mode 100644 package/system/opkg/files/customfeeds.conf create mode 100755 package/system/opkg/files/opkg-key create mode 100644 package/system/opkg/files/opkg-smime.conf create mode 100644 package/system/opkg/files/opkg.conf create mode 100644 package/system/opkg/patches/001-ship-pkg-m4.patch create mode 100644 package/system/opkg/patches/002-no-shave.patch create mode 100644 package/system/opkg/patches/004-host_cpu.patch create mode 100644 package/system/opkg/patches/007-force_static.patch create mode 100644 package/system/opkg/patches/009-remove-upgrade-all.patch create mode 100644 package/system/opkg/patches/011-old-config-location.patch create mode 100644 package/system/opkg/patches/012-strip-trailing-conffiles-whitespace.patch create mode 100644 package/system/opkg/patches/014-errors-to-stderr.patch create mode 100644 package/system/opkg/patches/020-avoid_getline.patch create mode 100644 package/system/opkg/patches/030-fix-double-free.patch create mode 100644 package/system/opkg/patches/040-wrap-descriptions-only-on-ttys.patch create mode 100644 package/system/opkg/patches/050-add-case-insensitive-flag.patch create mode 100644 package/system/opkg/patches/060-add-find-command.patch create mode 100644 package/system/opkg/patches/070-use_gzipped_pkg_list.patch create mode 100644 package/system/opkg/patches/080-suppress-blank-package-fields.patch create mode 100644 package/system/opkg/patches/090-suppress-blank-provides-field.patch create mode 100644 package/system/opkg/patches/100-add-force-checksum.patch create mode 100644 package/system/opkg/patches/110-upgrade.patch create mode 100644 package/system/opkg/patches/200-usign_support.patch create mode 100644 package/system/opkg/patches/210-add-force-signature.patch create mode 100644 package/system/opkg/patches/220-drop-release-support.patch create mode 100644 package/system/opkg/patches/230-drop_md5_support.patch create mode 100644 package/system/opkg/patches/240-fix-force-checksum-for-sha256.patch create mode 100644 package/system/opkg/patches/250-add-lists-dir-switch.patch create mode 100644 package/system/opkg/patches/260-add-print-package-size.patch create mode 100644 package/system/opkg/patches/270-fix-use-after-free.patch create mode 100644 package/system/opkg/patches/280-call-prerm-and-postrm-scripts-on-upgrade.patch create mode 100644 package/system/procd/Makefile create mode 100644 package/system/procd/files/hotplug-preinit.json create mode 100644 package/system/procd/files/hotplug.json create mode 100644 package/system/procd/files/nand-preinit.sh create mode 100644 package/system/procd/files/nand.sh create mode 100644 package/system/procd/files/procd.sh create mode 100644 package/system/procd/files/reload_config create mode 100644 package/system/rpcd/Makefile create mode 100644 package/system/rpcd/files/rpcd.config create mode 100755 package/system/rpcd/files/rpcd.init create mode 100644 package/system/ubox/Makefile create mode 100644 package/system/ubox/files/log.init create mode 100644 package/system/ubus/Makefile create mode 100644 package/system/uci/Makefile create mode 100644 package/system/uci/files/lib/config/uci.sh create mode 100644 package/system/usign/Makefile create mode 100644 package/system/zram-swap/Makefile create mode 100644 package/system/zram-swap/files/zram.init create mode 100644 package/utils/admswconfig/Makefile create mode 100644 package/utils/admswconfig/files/admswconfig create mode 100644 package/utils/admswconfig/files/admswswitch.sh create mode 100644 package/utils/admswconfig/patches/001-matrix.patch create mode 100644 package/utils/admswconfig/patches/002-fix-musl.patch create mode 100644 package/utils/bsdiff/Makefile create mode 100644 package/utils/bsdiff/patches/001-musl.patch create mode 100644 package/utils/busybox/Config-defaults.in create mode 100644 package/utils/busybox/Config.in create mode 100644 package/utils/busybox/Makefile create mode 100644 package/utils/busybox/config/Config.in create mode 100644 package/utils/busybox/config/archival/Config.in create mode 100644 package/utils/busybox/config/console-tools/Config.in create mode 100644 package/utils/busybox/config/coreutils/Config.in create mode 100644 package/utils/busybox/config/debianutils/Config.in create mode 100644 package/utils/busybox/config/e2fsprogs/Config.in create mode 100644 package/utils/busybox/config/e2fsprogs/old_e2fsprogs/Config.in create mode 100644 package/utils/busybox/config/editors/Config.in create mode 100644 package/utils/busybox/config/findutils/Config.in create mode 100644 package/utils/busybox/config/init/Config.in create mode 100644 package/utils/busybox/config/libbb/Config.in create mode 100644 package/utils/busybox/config/loginutils/Config.in create mode 100644 package/utils/busybox/config/mailutils/Config.in create mode 100644 package/utils/busybox/config/miscutils/Config.in create mode 100644 package/utils/busybox/config/modutils/Config.in create mode 100644 package/utils/busybox/config/networking/Config.in create mode 100644 package/utils/busybox/config/networking/udhcp/Config.in create mode 100644 package/utils/busybox/config/printutils/Config.in create mode 100644 package/utils/busybox/config/procps/Config.in create mode 100644 package/utils/busybox/config/runit/Config.in create mode 100644 package/utils/busybox/config/selinux/Config.in create mode 100644 package/utils/busybox/config/shell/Config.in create mode 100644 package/utils/busybox/config/sysklogd/Config.in create mode 100644 package/utils/busybox/config/util-linux/Config.in create mode 100644 package/utils/busybox/config/util-linux/volume_id/Config.in create mode 100755 package/utils/busybox/convert_defaults.pl create mode 100755 package/utils/busybox/convert_menuconfig.pl create mode 100755 package/utils/busybox/files/cron create mode 100755 package/utils/busybox/files/ntpd-hotplug create mode 100755 package/utils/busybox/files/sysntpd create mode 100644 package/utils/busybox/patches/001-resource_h_include.patch create mode 100644 package/utils/busybox/patches/002-libbb-send_to_from-do-not-require-that-to-should-hav.patch create mode 100644 package/utils/busybox/patches/100-trylink_bash.patch create mode 100644 package/utils/busybox/patches/101-gen_build_files_bash.patch create mode 100644 package/utils/busybox/patches/102-trylink_mktemp_fix.patch create mode 100644 package/utils/busybox/patches/110-no_static_libgcc.patch create mode 100644 package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch create mode 100644 package/utils/busybox/patches/130-mconf_missing_sigwinch.patch create mode 100644 package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch create mode 100644 package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch create mode 100644 package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch create mode 100644 package/utils/busybox/patches/210-add_netmsg_util.patch create mode 100644 package/utils/busybox/patches/220-add_lock_util.patch create mode 100644 package/utils/busybox/patches/240-telnetd_intr.patch create mode 100644 package/utils/busybox/patches/250-date-k-flag.patch create mode 100644 package/utils/busybox/patches/270-libbb_make_unicode_printable.patch create mode 100644 package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch create mode 100644 package/utils/busybox/patches/302-netlink-alignment.patch create mode 100644 package/utils/busybox/patches/303-ip-route-fix-high-table-ids.patch create mode 100644 package/utils/bzip2/Makefile create mode 100644 package/utils/e2fsprogs/Makefile create mode 100644 package/utils/e2fsprogs/files/e2fsck.conf create mode 100644 package/utils/e2fsprogs/files/e2fsck.sh create mode 100644 package/utils/e2fsprogs/patches/001-com_err_version.patch create mode 100644 package/utils/e2fsprogs/patches/002-fix-subst-host-build.patch create mode 100644 package/utils/f2fs-tools/Makefile create mode 100644 package/utils/f2fs-tools/patches/001-compile.patch create mode 100644 package/utils/f2fs-tools/patches/010-include-byteswap-h.patch create mode 100644 package/utils/f2fs-tools/patches/020-no_selinux.patch create mode 100644 package/utils/fbtest/Makefile create mode 100644 package/utils/fbtest/src/Makefile create mode 100644 package/utils/fbtest/src/fbtest.c create mode 100644 package/utils/fuse/Makefile create mode 100644 package/utils/fuse/patches/100-missing_includes.patch create mode 100644 package/utils/fuse/patches/112-no_break_on_mknod.patch create mode 100644 package/utils/fuse/patches/200-backport_arm64_fuse_kernel_h_clean_includes.patch create mode 100644 package/utils/jsonfilter/Makefile create mode 100644 package/utils/lua/Makefile create mode 100644 package/utils/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch create mode 100644 package/utils/lua/patches-host/011-lnum-use-double.patch create mode 100644 package/utils/lua/patches-host/012-lnum-fix-ltle-relational-operators.patch create mode 100644 package/utils/lua/patches-host/015-lnum-ppc-compat.patch create mode 100644 package/utils/lua/patches-host/030-archindependent-bytecode.patch create mode 100644 package/utils/lua/patches-host/100-no_readline.patch create mode 100644 package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch create mode 100644 package/utils/lua/patches/011-lnum-use-double.patch create mode 100644 package/utils/lua/patches/012-lnum-fix-ltle-relational-operators.patch create mode 100644 package/utils/lua/patches/015-lnum-ppc-compat.patch create mode 100644 package/utils/lua/patches/020-shared_liblua.patch create mode 100644 package/utils/lua/patches/030-archindependent-bytecode.patch create mode 100644 package/utils/lua/patches/040-use-symbolic-functions.patch create mode 100644 package/utils/lua/patches/050-honor-cflags.patch create mode 100644 package/utils/lua/patches/100-no_readline.patch create mode 100644 package/utils/lua/patches/200-lua-path.patch create mode 100644 package/utils/lua/patches/300-opcode_performance.patch create mode 100644 package/utils/mdadm/Makefile create mode 100644 package/utils/mdadm/files/mdadm.config create mode 100644 package/utils/mdadm/files/mdadm.init create mode 100644 package/utils/mdadm/patches/000-compile.patch create mode 100644 package/utils/mdadm/patches/100-cross_compile.patch create mode 100644 package/utils/mdadm/patches/200-reduce_size.patch create mode 100644 package/utils/mtd-utils/Makefile create mode 100644 package/utils/mtd-utils/patches/010-fix-rpmatch.patch create mode 100644 package/utils/mtd-utils/patches/100-fix_includes.patch create mode 100644 package/utils/mtd-utils/patches/130-lzma_jffs2.patch create mode 100644 package/utils/nvram/Makefile create mode 100755 package/utils/nvram/files/nvram.init create mode 100644 package/utils/nvram/src/Makefile create mode 100644 package/utils/nvram/src/cli.c create mode 100644 package/utils/nvram/src/crc.c create mode 100644 package/utils/nvram/src/nvram.c create mode 100644 package/utils/nvram/src/nvram.h create mode 100644 package/utils/nvram/src/sdinitvals.h create mode 100644 package/utils/osafeloader/Makefile create mode 100644 package/utils/osafeloader/src/Makefile create mode 100644 package/utils/osafeloader/src/md5.c create mode 100644 package/utils/osafeloader/src/md5.h create mode 100644 package/utils/osafeloader/src/osafeloader.c create mode 100644 package/utils/oseama/Makefile create mode 100644 package/utils/oseama/src/Makefile create mode 100644 package/utils/oseama/src/md5.c create mode 100644 package/utils/oseama/src/md5.h create mode 100644 package/utils/oseama/src/oseama.c create mode 100644 package/utils/otrx/Makefile create mode 100644 package/utils/otrx/src/Makefile create mode 100644 package/utils/otrx/src/otrx.c create mode 100644 package/utils/px5g-standalone/Makefile create mode 100644 package/utils/px5g-standalone/src/Makefile create mode 100644 package/utils/px5g-standalone/src/library/base64.c create mode 100644 package/utils/px5g-standalone/src/library/bignum.c create mode 100644 package/utils/px5g-standalone/src/library/rsa.c create mode 100644 package/utils/px5g-standalone/src/library/sha1.c create mode 100644 package/utils/px5g-standalone/src/library/timing.c create mode 100644 package/utils/px5g-standalone/src/library/x509write.c create mode 100644 package/utils/px5g-standalone/src/polarssl/base64.h create mode 100644 package/utils/px5g-standalone/src/polarssl/bignum.h create mode 100644 package/utils/px5g-standalone/src/polarssl/bn_mul.h create mode 100644 package/utils/px5g-standalone/src/polarssl/config.h create mode 100644 package/utils/px5g-standalone/src/polarssl/rsa.h create mode 100644 package/utils/px5g-standalone/src/polarssl/sha1.h create mode 100644 package/utils/px5g-standalone/src/polarssl/timing.h create mode 100644 package/utils/px5g-standalone/src/polarssl/x509.h create mode 100644 package/utils/px5g-standalone/src/px5g.c create mode 100644 package/utils/px5g/Makefile create mode 100644 package/utils/px5g/px5g.c create mode 100644 package/utils/spidev_test/Makefile create mode 100644 package/utils/spidev_test/src/spidev_test.c create mode 100644 package/utils/ugps/Makefile create mode 100644 package/utils/ugps/files/gps.config create mode 100644 package/utils/ugps/files/ugps.init create mode 100644 package/utils/usbmode/Makefile create mode 100644 package/utils/usbmode/data/12d1-1f16 create mode 100644 package/utils/usbmode/files/usbmode.hotplug create mode 100755 package/utils/usbmode/files/usbmode.init create mode 100644 package/utils/usbreset/Makefile create mode 100644 package/utils/usbreset/src/usbreset.c create mode 100644 package/utils/usbutils/Makefile create mode 100644 package/utils/util-linux/Makefile create mode 100644 package/utils/util-linux/patches/0001-fix-uClibc-ng-scanf-check.patch create mode 100644 package/utils/util-linux/patches/003-fix_pkgconfig_files.patch create mode 100644 package/utils/xfsprogs/Makefile create mode 100644 package/utils/xfsprogs/patches/001-automake-compat.patch create mode 100644 package/utils/xfsprogs/patches/100-no_aio.patch create mode 100644 package/utils/xfsprogs/patches/110-uclibc_no_ustat.patch create mode 100644 package/utils/xfsprogs/patches/120-portability.patch create mode 100644 package/utils/xfsprogs/patches/130-uclibc_no_xattr.patch create mode 100644 package/utils/xfsprogs/patches/140-no_po.patch create mode 100644 package/utils/xfsprogs/patches/150-include_fixes.patch create mode 100644 package/utils/xfsprogs/patches/160-format-security.patch create mode 100644 rules.mk create mode 100755 scripts/arm-magic.sh create mode 100755 scripts/brcmImage.pl create mode 100755 scripts/bundle-libraries.sh create mode 100755 scripts/checkpatch.pl create mode 100755 scripts/clang-gcc-wrapper create mode 100755 scripts/clean-package.sh create mode 100755 scripts/cleanfile create mode 100755 scripts/cleanpatch create mode 100755 scripts/combined-ext-image.sh create mode 100644 scripts/combined-image.sh create mode 100755 scripts/config.guess create mode 100755 scripts/config.rpath create mode 100755 scripts/config.sub create mode 100644 scripts/config/.gitignore create mode 100644 scripts/config/Makefile create mode 100644 scripts/config/README create mode 100644 scripts/config/conf.c create mode 100644 scripts/config/confdata.c create mode 100644 scripts/config/expr.c create mode 100644 scripts/config/expr.h create mode 100644 scripts/config/list.h create mode 100644 scripts/config/lkc.h create mode 100644 scripts/config/lkc_proto.h create mode 100644 scripts/config/lxdialog/.gitignore create mode 100644 scripts/config/lxdialog/check-lxdialog.sh create mode 100644 scripts/config/lxdialog/checklist.c create mode 100644 scripts/config/lxdialog/dialog.h create mode 100644 scripts/config/lxdialog/inputbox.c create mode 100644 scripts/config/lxdialog/menubox.c create mode 100644 scripts/config/lxdialog/textbox.c create mode 100644 scripts/config/lxdialog/util.c create mode 100644 scripts/config/lxdialog/yesno.c create mode 100644 scripts/config/mconf.c create mode 100644 scripts/config/menu.c create mode 100644 scripts/config/symbol.c create mode 100644 scripts/config/util.c create mode 100644 scripts/config/zconf.gperf create mode 100644 scripts/config/zconf.hash.c_shipped create mode 100644 scripts/config/zconf.l create mode 100644 scripts/config/zconf.lex.c_shipped create mode 100644 scripts/config/zconf.tab.c_shipped create mode 100644 scripts/config/zconf.y create mode 100755 scripts/deptest.sh create mode 100755 scripts/diffconfig.sh create mode 100755 scripts/dl_cleanup.py create mode 100755 scripts/download.pl create mode 100755 scripts/env create mode 100755 scripts/ext-toolchain.sh create mode 100755 scripts/feeds create mode 100755 scripts/flashing/adam2flash-502T.pl create mode 100755 scripts/flashing/adam2flash-fritzbox.pl create mode 100755 scripts/flashing/adam2flash.pl create mode 100755 scripts/flashing/adsl2mue_flash.pl create mode 100755 scripts/flashing/flash.sh create mode 100755 scripts/flashing/jungo-image.py create mode 100755 scripts/gen-dependencies.sh create mode 100755 scripts/get_source_date_epoch.sh create mode 100755 scripts/getver.sh create mode 100755 scripts/ipkg-build create mode 100755 scripts/ipkg-make-index.sh create mode 100755 scripts/kconfig.pl create mode 100755 scripts/make-ipkg-dir.sh create mode 100755 scripts/md5sum create mode 100644 scripts/metadata.pm create mode 100755 scripts/mkits.sh create mode 100644 scripts/om-fwupgradecfg-gen.sh create mode 100644 scripts/openbsd.sh create mode 100755 scripts/package-metadata.pl create mode 100755 scripts/pad_image create mode 100755 scripts/patch-kernel.sh create mode 100755 scripts/patch-specs.sh create mode 100755 scripts/portable_date.sh create mode 100755 scripts/redboot-script.pl create mode 100755 scripts/relink-lib.sh create mode 100755 scripts/remote-gdb create mode 100755 scripts/rstrip.sh create mode 100755 scripts/slugimage.pl create mode 100755 scripts/srecimage.pl create mode 100755 scripts/strip-kmod.sh create mode 100755 scripts/symlink-tree.sh create mode 100755 scripts/sysupgrade-tar.sh create mode 100755 scripts/target-metadata.pl create mode 100755 scripts/timestamp.pl create mode 100755 scripts/ubinize-image.sh create mode 100755 scripts/update-package-md5sum create mode 100644 target/Config.in create mode 100644 target/Makefile create mode 100644 target/imagebuilder/Config.in create mode 100644 target/imagebuilder/Makefile create mode 100644 target/imagebuilder/files/Makefile create mode 100644 target/imagebuilder/files/repositories.conf create mode 100644 target/linux/Makefile create mode 100644 target/linux/ar71xx/Makefile create mode 100755 target/linux/ar71xx/base-files/etc/board.d/01_leds create mode 100755 target/linux/ar71xx/base-files/etc/board.d/02_network create mode 100755 target/linux/ar71xx/base-files/etc/board.d/03_gpio_switches create mode 100644 target/linux/ar71xx/base-files/etc/diag.sh create mode 100644 target/linux/ar71xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom create mode 100644 target/linux/ar71xx/base-files/etc/hotplug.d/net/10-ar922x-led-fix create mode 100644 target/linux/ar71xx/base-files/etc/inittab create mode 100644 target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration create mode 100644 target/linux/ar71xx/base-files/etc/uci-defaults/03_network-vlan-migration create mode 100644 target/linux/ar71xx/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/ar71xx/base-files/etc/uci-defaults/09_fix-checksum create mode 100644 target/linux/ar71xx/base-files/etc/uci-defaults/09_fix-seama-header create mode 100755 target/linux/ar71xx/base-files/lib/ar71xx.sh create mode 100644 target/linux/ar71xx/base-files/lib/preinit/03_preinit_do_ar71xx.sh create mode 100644 target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx create mode 100644 target/linux/ar71xx/base-files/lib/preinit/05_set_preinit_iface_ar71xx create mode 100644 target/linux/ar71xx/base-files/lib/upgrade/allnet.sh create mode 100644 target/linux/ar71xx/base-files/lib/upgrade/dir825.sh create mode 100644 target/linux/ar71xx/base-files/lib/upgrade/merakinand.sh create mode 100644 target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh create mode 100755 target/linux/ar71xx/base-files/lib/upgrade/platform.sh create mode 100755 target/linux/ar71xx/base-files/sbin/wget2nand create mode 100644 target/linux/ar71xx/config-4.4 create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/Makefile create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-ap9x-pci.h create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-dsa.h create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-nfc.h create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap120c.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-ap96.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-alfa-nx.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-all0258n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-all0315n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-antminer-s3.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-antrouter-r1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ap113.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ap132.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ap143.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ap147.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ap83.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ap90q.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ap96.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-arduino-yun.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-aw-nr580.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-bhr-4grv2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-bhu-bxu2000n2-a.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-bsb.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-c55.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-c60.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-cap324.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-cap4200ag.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-carambola2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-cpe870.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-cr3000.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-cr5000.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dap-2695-a1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dgl-5500-a1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dhp-1565-a1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-505-a1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-c1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-615-i1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-b1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-825-c1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dir-869-a1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-hotspot.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-1200-ac.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dlan-pro-500-wp.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-domywifi-dw33d.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dr344.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dr531.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-dragino2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-eap120.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-eap300v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-eap7660d.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-epg5000.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-esr1750.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-f9k1115v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar150.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300m.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-gl-domino.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-gl-mifi.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-gs-oolite.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-hiwifi-hc6361.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ja76pf.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-jwap003.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-jwap230.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mc-mac1200r.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mr12.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mr16.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mr18.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mr600.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n600.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n750.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-rext.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w04nu.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-mzk-w300nh.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-nbg460n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-nbg6716.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-om5p.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-om5pac.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-om5pacv2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-omy-g1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-omy-x1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-onion-omega.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-pb42.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-pb92.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-qihoo-c301.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-r6100.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-rb91x.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-rb922.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-rbsxtlite.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-rw2458n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-smart-300.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-som9331.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tellstick-znet-lite.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tew-632brp.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tew-673gru.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tew-712br.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tew-732br.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tew-823dru.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr11u.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr13u.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3020.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr3x20.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa701nd-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa7210n-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa801nd-v3.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa830re-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd-v4.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa901nd.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3320-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr6500-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wpa8630.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1041n-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd-v2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr1043nd.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr2543n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr703n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr720n-v3.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr802n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr810n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-tube2h.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-unifiac.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-whr-hp-g300n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wlae-ag300n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wlr8100.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wndap360.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wndr3700.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v3.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v4.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2200.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wp543.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wpe72.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wpj342.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wpj344.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wpj531.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wpj558.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wrt400n.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wrtnode2q.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-450hp2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-ag300h.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g300nh2.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-wzr-hp-g450h.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-zbt-we1526.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-zcn-1523h.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/machtypes.h create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/nvram.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/nvram.h create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/pci-ath9k-fixup.h create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/routerboot.c create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/routerboot.h create mode 100644 target/linux/ar71xx/files/arch/mips/include/asm/fw/myloader/myloader.h create mode 100644 target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h create mode 100644 target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/mach-rb750.h create mode 100644 target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h create mode 100644 target/linux/ar71xx/files/drivers/gpio/gpio-latch.c create mode 100644 target/linux/ar71xx/files/drivers/gpio/gpio-nxp-74hc153.c create mode 100644 target/linux/ar71xx/files/drivers/leds/leds-nu801.c create mode 100644 target/linux/ar71xx/files/drivers/leds/leds-rb750.c create mode 100644 target/linux/ar71xx/files/drivers/leds/leds-wndr3700-usb.c create mode 100644 target/linux/ar71xx/files/drivers/mtd/cybertan_part.c create mode 100644 target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c create mode 100644 target/linux/ar71xx/files/drivers/mtd/nand/rb4xx_nand.c create mode 100644 target/linux/ar71xx/files/drivers/mtd/nand/rb750_nand.c create mode 100644 target/linux/ar71xx/files/drivers/mtd/nand/rb91x_nand.c create mode 100644 target/linux/ar71xx/files/drivers/mtd/tplinkpart.c create mode 100644 target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/Kconfig create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/Makefile create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c create mode 100644 target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c create mode 100644 target/linux/ar71xx/files/drivers/spi/spi-ap83.c create mode 100644 target/linux/ar71xx/files/drivers/spi/spi-rb4xx-cpld.c create mode 100644 target/linux/ar71xx/files/drivers/spi/spi-rb4xx.c create mode 100644 target/linux/ar71xx/files/drivers/spi/spi-vsc7385.c create mode 100644 target/linux/ar71xx/files/include/linux/leds-nu801.h create mode 100644 target/linux/ar71xx/files/include/linux/nxp_74hc153.h create mode 100644 target/linux/ar71xx/files/include/linux/platform/ar934x_nfc.h create mode 100644 target/linux/ar71xx/files/include/linux/platform_data/gpio-latch.h create mode 100644 target/linux/ar71xx/files/include/linux/platform_data/rb91x_nand.h create mode 100644 target/linux/ar71xx/files/include/linux/spi/vsc7385.h create mode 100644 target/linux/ar71xx/files/net/dsa/mv88e6063.c create mode 100644 target/linux/ar71xx/generic/config-default create mode 100644 target/linux/ar71xx/generic/profiles/00-default.mk create mode 100644 target/linux/ar71xx/generic/target.mk create mode 100644 target/linux/ar71xx/image/Makefile create mode 100644 target/linux/ar71xx/image/generic.mk create mode 100644 target/linux/ar71xx/image/legacy-devices.mk create mode 100644 target/linux/ar71xx/image/legacy.mk create mode 100644 target/linux/ar71xx/image/lzma-loader/Makefile create mode 100644 target/linux/ar71xx/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/ar71xx/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/ar71xx/image/lzma-loader/src/LzmaTypes.h create mode 100644 target/linux/ar71xx/image/lzma-loader/src/Makefile create mode 100644 target/linux/ar71xx/image/lzma-loader/src/ar71xx_regs.h create mode 100644 target/linux/ar71xx/image/lzma-loader/src/board.c create mode 100644 target/linux/ar71xx/image/lzma-loader/src/cache.c create mode 100644 target/linux/ar71xx/image/lzma-loader/src/cache.h create mode 100644 target/linux/ar71xx/image/lzma-loader/src/cacheops.h create mode 100644 target/linux/ar71xx/image/lzma-loader/src/config.h create mode 100644 target/linux/ar71xx/image/lzma-loader/src/cp0regdef.h create mode 100644 target/linux/ar71xx/image/lzma-loader/src/head.S create mode 100644 target/linux/ar71xx/image/lzma-loader/src/loader.c create mode 100644 target/linux/ar71xx/image/lzma-loader/src/loader.lds create mode 100644 target/linux/ar71xx/image/lzma-loader/src/loader2.lds create mode 100644 target/linux/ar71xx/image/lzma-loader/src/lzma-data.lds create mode 100644 target/linux/ar71xx/image/lzma-loader/src/printf.c create mode 100644 target/linux/ar71xx/image/lzma-loader/src/printf.h create mode 100644 target/linux/ar71xx/image/nand.mk create mode 100644 target/linux/ar71xx/image/tp-link.mk create mode 100644 target/linux/ar71xx/image/ubinize-nbg6716.ini create mode 100644 target/linux/ar71xx/image/ubinize-wndr4300.ini create mode 100644 target/linux/ar71xx/mikrotik/config-default create mode 100644 target/linux/ar71xx/mikrotik/profiles/01-minimal.mk create mode 100644 target/linux/ar71xx/mikrotik/profiles/02-ath5k.mk create mode 100644 target/linux/ar71xx/mikrotik/target.mk create mode 100644 target/linux/ar71xx/modules.mk create mode 100644 target/linux/ar71xx/nand/config-default create mode 100644 target/linux/ar71xx/nand/profiles/00-default.mk create mode 100644 target/linux/ar71xx/nand/target.mk create mode 100644 target/linux/ar71xx/patches-4.4/001-revert_spi_device_tree_support.patch create mode 100644 target/linux/ar71xx/patches-4.4/002-add_back_gpio_function_select.patch create mode 100644 target/linux/ar71xx/patches-4.4/004-register_gpio_driver_earlier.patch create mode 100644 target/linux/ar71xx/patches-4.4/100-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch create mode 100644 target/linux/ar71xx/patches-4.4/101-MIPS-ath79-make-ath79_ddr_ctrl_init-compatible-for-n.patch create mode 100644 target/linux/ar71xx/patches-4.4/102-MIPS-ath79-fix-regression-in-PCI-window-initializati.patch create mode 100644 target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch create mode 100644 target/linux/ar71xx/patches-4.4/200-MIPS-ath79-fix-ar933x-wmac-reset.patch create mode 100644 target/linux/ar71xx/patches-4.4/201-ar913x_wmac_external_reset.patch create mode 100644 target/linux/ar71xx/patches-4.4/202-MIPS-ath79-ar934x-wmac-revision.patch create mode 100644 target/linux/ar71xx/patches-4.4/203-MIPS-ath79-fix-restart.patch create mode 100644 target/linux/ar71xx/patches-4.4/206-spi-ath79-make-chipselect-logic-more-flexible.patch create mode 100644 target/linux/ar71xx/patches-4.4/220-add_cpu_feature_overrides.patch create mode 100644 target/linux/ar71xx/patches-4.4/300-MIPS-add-MIPS_MACHINE_NONAME-macro.patch create mode 100644 target/linux/ar71xx/patches-4.4/310-lib-add-rle-decompression.patch create mode 100644 target/linux/ar71xx/patches-4.4/401-mtd-physmap-add-lock-unlock.patch create mode 100644 target/linux/ar71xx/patches-4.4/402-mtd-SST39VF6401B-support.patch create mode 100644 target/linux/ar71xx/patches-4.4/403-mtd_fix_cfi_cmdset_0002_status_check.patch create mode 100644 target/linux/ar71xx/patches-4.4/404-mtd-cybertan-trx-parser.patch create mode 100644 target/linux/ar71xx/patches-4.4/405-mtd-tp-link-partition-parser.patch create mode 100644 target/linux/ar71xx/patches-4.4/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch create mode 100644 target/linux/ar71xx/patches-4.4/408-mtd-redboot_partition_scan.patch create mode 100644 target/linux/ar71xx/patches-4.4/409-mtd-rb4xx_nand_driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/410-mtd-rb750-nand-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/411-mtd-cfi_cmdset_0002-force-word-write.patch create mode 100644 target/linux/ar71xx/patches-4.4/412-mtd-m25p80-zero-partition-parser-data.patch create mode 100644 target/linux/ar71xx/patches-4.4/413-mtd-ar934x-nand-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/414-mtd-rb91x-nand-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/420-net-ar71xx_mac_driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/423-dsa-add-88e6063-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/430-drivers-link-spi-before-mtd.patch create mode 100644 target/linux/ar71xx/patches-4.4/431-spi-add-various-flags.patch create mode 100644 target/linux/ar71xx/patches-4.4/432-spi-rb4xx-spi-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/433-spi-rb4xx-cpld-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/434-spi-ap83_spi_controller.patch create mode 100644 target/linux/ar71xx/patches-4.4/435-spi-vsc7385_driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/440-leds-wndr3700-usb-led-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/441-leds-rb750-led-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/450-gpio-nxp-74hc153-gpio-chip-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/451-gpio-74x164-improve-platform-device-support.patch create mode 100644 target/linux/ar71xx/patches-4.4/452-gpio-add-gpio-latch-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/460-spi-bitbang-export-spi_bitbang_bufs.patch create mode 100644 target/linux/ar71xx/patches-4.4/461-spi-add-type-field-to-spi_transfer.patch create mode 100644 target/linux/ar71xx/patches-4.4/462-mtd-m25p80-set-spi-transfer-type.patch create mode 100644 target/linux/ar71xx/patches-4.4/463-spi-ath79-add-fast-flash-read.patch create mode 100644 target/linux/ar71xx/patches-4.4/464-spi-ath79-fix-fast-flash-read.patch create mode 100644 target/linux/ar71xx/patches-4.4/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch create mode 100644 target/linux/ar71xx/patches-4.4/490-usb-ehci-add-quirks-for-qca-socs.patch create mode 100644 target/linux/ar71xx/patches-4.4/500-MIPS-fw-myloader.patch create mode 100644 target/linux/ar71xx/patches-4.4/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch create mode 100644 target/linux/ar71xx/patches-4.4/503-MIPS-ath79-add-flash-acquire-release.patch create mode 100644 target/linux/ar71xx/patches-4.4/504-MIPS-ath79-add-ath79_device_reset_get.patch create mode 100644 target/linux/ar71xx/patches-4.4/505-MIPS-ath79-add-ath79_gpio_function_select.patch create mode 100644 target/linux/ar71xx/patches-4.4/506-MIPS-ath79-prom-parse-redboot-args.patch create mode 100644 target/linux/ar71xx/patches-4.4/507-MIPS-ath79-prom-add-myloader-support.patch create mode 100644 target/linux/ar71xx/patches-4.4/508-MIPS-ath79-prom-image-command-line-hack.patch create mode 100644 target/linux/ar71xx/patches-4.4/509-MIPS-ath79-process-board-kernel-option.patch create mode 100644 target/linux/ar71xx/patches-4.4/510-MIPS-ath79-init-gpio-pin-of-wmac-device.patch create mode 100644 target/linux/ar71xx/patches-4.4/520-MIPS-ath79-enable-UART-function.patch create mode 100644 target/linux/ar71xx/patches-4.4/521-MIPS-ath79-enable-UART-for-early_serial.patch create mode 100644 target/linux/ar71xx/patches-4.4/522-MIPS-ath79-add-ath79_wmac_register_simple-helper.patch create mode 100644 target/linux/ar71xx/patches-4.4/523-MIPS-ath79-OTP-support.patch create mode 100644 target/linux/ar71xx/patches-4.4/524-MIPS-ath79-add-ath79_wmac_disable_25ghz-helpers.patch create mode 100644 target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch create mode 100644 target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch create mode 100644 target/linux/ar71xx/patches-4.4/602-MIPS-ath79-add-openwrt-stuff.patch create mode 100644 target/linux/ar71xx/patches-4.4/603-MIPS-ath79-ap121-fixes.patch create mode 100644 target/linux/ar71xx/patches-4.4/604-MIPS-ath79-ap81-fixes.patch create mode 100644 target/linux/ar71xx/patches-4.4/605-MIPS-ath79-db120-fixes.patch create mode 100644 target/linux/ar71xx/patches-4.4/606-MIPS-ath79-pb44-fixes.patch create mode 100644 target/linux/ar71xx/patches-4.4/607-MIPS-ath79-ubnt-xm-fixes.patch create mode 100644 target/linux/ar71xx/patches-4.4/608-MIPS-ath79-ubnt-xm-add-more-boards.patch create mode 100644 target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch create mode 100644 target/linux/ar71xx/patches-4.4/611-MIPS-ath79-wdt-timeout.patch create mode 100644 target/linux/ar71xx/patches-4.4/612-MIPS-ath79-set-buffalo-txgain.patch create mode 100644 target/linux/ar71xx/patches-4.4/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch create mode 100644 target/linux/ar71xx/patches-4.4/615-MIPS-ath79-ap83-remove-mtd-partitions.patch create mode 100644 target/linux/ar71xx/patches-4.4/620-MIPS-ath79-add-support-for-QCA953x-SoC.patch create mode 100644 target/linux/ar71xx/patches-4.4/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch create mode 100644 target/linux/ar71xx/patches-4.4/630-MIPS-ath79-fix-chained-irq-disable.patch create mode 100644 target/linux/ar71xx/patches-4.4/631-MIPS-ath79-wmac-enable-set-led-pin.patch create mode 100644 target/linux/ar71xx/patches-4.4/632-MIPS-ath79-gpio-enable-set-direction.patch create mode 100644 target/linux/ar71xx/patches-4.4/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch create mode 100644 target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch create mode 100644 target/linux/ar71xx/patches-4.4/700-MIPS-ath79-add-openwrt-Kconfig.patch create mode 100644 target/linux/ar71xx/patches-4.4/701-MIPS-ath79-add-routerboard-detection.patch create mode 100644 target/linux/ar71xx/patches-4.4/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch create mode 100644 target/linux/ar71xx/patches-4.4/740-MIPS-ath79-add-PCI-for-QCA953x-SoC.patch create mode 100644 target/linux/ar71xx/patches-4.4/818-MIPS-ath79-add-nu801-led-driver.patch create mode 100644 target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch create mode 100644 target/linux/ar71xx/patches-4.4/821-serial-core-add-support-for-boot-console-with-arbitr.patch create mode 100644 target/linux/ar71xx/patches-4.4/900-mdio_bitbang_ignore_ta_value.patch create mode 100644 target/linux/ar71xx/patches-4.4/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch create mode 100644 target/linux/ar71xx/patches-4.4/902-at803x-add-reset-gpio-pdata.patch create mode 100644 target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch create mode 100644 target/linux/generic/PATCHES create mode 100755 target/linux/generic/base-files/init create mode 100644 target/linux/generic/config-3.18 create mode 100644 target/linux/generic/config-4.1 create mode 100644 target/linux/generic/config-4.4 create mode 100644 target/linux/generic/files/Documentation/networking/adm6996.txt create mode 100644 target/linux/generic/files/arch/mips/fw/myloader/Makefile create mode 100644 target/linux/generic/files/arch/mips/fw/myloader/myloader.c create mode 100644 target/linux/generic/files/drivers/leds/ledtrig-netdev.c create mode 100644 target/linux/generic/files/drivers/misc/owl-loader.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/Kconfig create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/Makefile create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.h create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_brnimage.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_eva.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_lzma.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_squashfs.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_tplink.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_trx.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_wrgg.c create mode 100644 target/linux/generic/files/drivers/mtd/myloader.c create mode 100644 target/linux/generic/files/drivers/net/phy/adm6996.c create mode 100644 target/linux/generic/files/drivers/net/phy/adm6996.h create mode 100644 target/linux/generic/files/drivers/net/phy/ar8216.c create mode 100644 target/linux/generic/files/drivers/net/phy/ar8216.h create mode 100644 target/linux/generic/files/drivers/net/phy/ar8327.c create mode 100644 target/linux/generic/files/drivers/net/phy/ar8327.h create mode 100644 target/linux/generic/files/drivers/net/phy/b53/Kconfig create mode 100644 target/linux/generic/files/drivers/net/phy/b53/Makefile create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_common.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_mmap.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_phy_fixup.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_priv.h create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_regs.h create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_spi.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_srab.c create mode 100644 target/linux/generic/files/drivers/net/phy/ip17xx.c create mode 100644 target/linux/generic/files/drivers/net/phy/mvsw61xx.c create mode 100644 target/linux/generic/files/drivers/net/phy/mvsw61xx.h create mode 100644 target/linux/generic/files/drivers/net/phy/mvswitch.c create mode 100644 target/linux/generic/files/drivers/net/phy/mvswitch.h create mode 100644 target/linux/generic/files/drivers/net/phy/psb6970.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8306.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8366_smi.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8366_smi.h create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8366rb.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8366s.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8367.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8367b.c create mode 100644 target/linux/generic/files/drivers/net/phy/swconfig.c create mode 100644 target/linux/generic/files/drivers/net/phy/swconfig_leds.c create mode 100644 target/linux/generic/files/fs/yaffs2/Kconfig create mode 100644 target/linux/generic/files/fs/yaffs2/Makefile create mode 100644 target/linux/generic/files/fs/yaffs2/NOTE.openwrt create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_allocator.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_allocator.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_attribs.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_attribs.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_bitmap.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_bitmap.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_checkptrw.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_checkptrw.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_ecc.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_ecc.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_getblockinfo.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_guts.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_guts.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_linux.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_mtdif.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_mtdif.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_nameval.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_nameval.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_nand.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_nand.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_packedtags1.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_packedtags1.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_packedtags2.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_packedtags2.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_summary.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_summary.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_tagscompat.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_tagscompat.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_tagsmarshall.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_tagsmarshall.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_trace.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_verify.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_verify.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_vfs.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_yaffs1.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_yaffs1.h create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_yaffs2.c create mode 100644 target/linux/generic/files/fs/yaffs2/yaffs_yaffs2.h create mode 100644 target/linux/generic/files/fs/yaffs2/yportenv.h create mode 100644 target/linux/generic/files/include/linux/ar8216_platform.h create mode 100644 target/linux/generic/files/include/linux/ath5k_platform.h create mode 100644 target/linux/generic/files/include/linux/ath9k_platform.h create mode 100644 target/linux/generic/files/include/linux/myloader.h create mode 100644 target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h create mode 100644 target/linux/generic/files/include/linux/platform_data/b53.h create mode 100644 target/linux/generic/files/include/linux/routerboot.h create mode 100644 target/linux/generic/files/include/linux/rt2x00_platform.h create mode 100644 target/linux/generic/files/include/linux/rtl8366.h create mode 100644 target/linux/generic/files/include/linux/rtl8367.h create mode 100644 target/linux/generic/files/include/linux/switch.h create mode 100644 target/linux/generic/files/include/uapi/linux/switch.h create mode 100644 target/linux/generic/image/Makefile create mode 100644 target/linux/generic/image/initramfs-base-files.txt create mode 100644 target/linux/generic/image/lzma-loader/Makefile create mode 100644 target/linux/generic/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/generic/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/generic/image/lzma-loader/src/Makefile create mode 100644 target/linux/generic/image/lzma-loader/src/decompress.c create mode 100644 target/linux/generic/image/lzma-loader/src/lzma-copy.lds.in create mode 100644 target/linux/generic/image/lzma-loader/src/lzma.lds.in create mode 100644 target/linux/generic/image/lzma-loader/src/print.c create mode 100644 target/linux/generic/image/lzma-loader/src/print.h create mode 100644 target/linux/generic/image/lzma-loader/src/printf.c create mode 100644 target/linux/generic/image/lzma-loader/src/printf.h create mode 100644 target/linux/generic/image/lzma-loader/src/start.S create mode 100644 target/linux/generic/image/lzma-loader/src/uart16550.c create mode 100644 target/linux/generic/image/lzma-loader/src/uart16550.h create mode 100644 target/linux/generic/image/relocate/Makefile create mode 100644 target/linux/generic/image/relocate/cacheops.h create mode 100644 target/linux/generic/image/relocate/cp0regdef.h create mode 100644 target/linux/generic/image/relocate/head.S create mode 100644 target/linux/generic/image/relocate/loader.lds create mode 100644 target/linux/generic/patches-3.18/020-ssb_update.patch create mode 100644 target/linux/generic/patches-3.18/021-ssb_sprom.patch create mode 100644 target/linux/generic/patches-3.18/025-bcma_backport.patch create mode 100644 target/linux/generic/patches-3.18/026-bcma-from-3.20.patch create mode 100644 target/linux/generic/patches-3.18/027-bcma-from-4.1.patch create mode 100644 target/linux/generic/patches-3.18/028-bcma-from-4.2.patch create mode 100644 target/linux/generic/patches-3.18/029-bcma-from-4.4.patch create mode 100644 target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch create mode 100644 target/linux/generic/patches-3.18/030-nl80211-Allow-set-network-namespace-by-fd.patch create mode 100644 target/linux/generic/patches-3.18/031-bcma-from-4.5.patch create mode 100644 target/linux/generic/patches-3.18/032-bcma-from-4.6.patch create mode 100644 target/linux/generic/patches-3.18/040-mtd-bcm47xxpart-backports-from-3.19.patch create mode 100644 target/linux/generic/patches-3.18/041-mtd-bcm47xxpart-backports-from-3.20.patch create mode 100644 target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch create mode 100644 target/linux/generic/patches-3.18/044-backport-m25p80-jedec-probe.patch create mode 100644 target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch create mode 100644 target/linux/generic/patches-3.18/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch create mode 100644 target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch create mode 100644 target/linux/generic/patches-3.18/070-bgmac-register-napi-before-the-device.patch create mode 100644 target/linux/generic/patches-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch create mode 100644 target/linux/generic/patches-3.18/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch create mode 100644 target/linux/generic/patches-3.18/073-bgmac-Clean-warning-messages.patch create mode 100644 target/linux/generic/patches-3.18/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch create mode 100644 target/linux/generic/patches-3.18/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch create mode 100644 target/linux/generic/patches-3.18/076-net-phy-export-fixed_phy_register.patch create mode 100644 target/linux/generic/patches-3.18/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch create mode 100644 target/linux/generic/patches-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch create mode 100644 target/linux/generic/patches-3.18/077-03-bgmac-implement-scatter-gather-support.patch create mode 100644 target/linux/generic/patches-3.18/077-04-bgmac-simplify-tx-ring-index-handling.patch create mode 100644 target/linux/generic/patches-3.18/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch create mode 100644 target/linux/generic/patches-3.18/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch create mode 100644 target/linux/generic/patches-3.18/077-07-bgmac-simplify-rx-DMA-error-handling.patch create mode 100644 target/linux/generic/patches-3.18/077-08-bgmac-add-check-for-oversized-packets.patch create mode 100644 target/linux/generic/patches-3.18/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch create mode 100644 target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch create mode 100644 target/linux/generic/patches-3.18/077-11-bgmac-fix-DMA-rx-corruption.patch create mode 100644 target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch create mode 100644 target/linux/generic/patches-3.18/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch create mode 100644 target/linux/generic/patches-3.18/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch create mode 100644 target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch create mode 100644 target/linux/generic/patches-3.18/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch create mode 100644 target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch create mode 100644 target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch create mode 100644 target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch create mode 100644 target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch create mode 100644 target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch create mode 100644 target/linux/generic/patches-3.18/080-07-fib_trie-Optimize-fib_find_node.patch create mode 100644 target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch create mode 100644 target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch create mode 100644 target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch create mode 100644 target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch create mode 100644 target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch create mode 100644 target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch create mode 100644 target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch create mode 100644 target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch create mode 100644 target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch create mode 100644 target/linux/generic/patches-3.18/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch create mode 100644 target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch create mode 100644 target/linux/generic/patches-3.18/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch create mode 100644 target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch create mode 100644 target/linux/generic/patches-3.18/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch create mode 100644 target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch create mode 100644 target/linux/generic/patches-3.18/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch create mode 100644 target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch create mode 100644 target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch create mode 100644 target/linux/generic/patches-3.18/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch create mode 100644 target/linux/generic/patches-3.18/081-02-pppoe-Lacks-DST-MAC-address-check.patch create mode 100644 target/linux/generic/patches-3.18/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch create mode 100644 target/linux/generic/patches-3.18/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch create mode 100644 target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch create mode 100644 target/linux/generic/patches-3.18/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch create mode 100644 target/linux/generic/patches-3.18/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch create mode 100644 target/linux/generic/patches-3.18/083-solos-pci-Increase-headroom-on-received-packets.patch create mode 100644 target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch create mode 100644 target/linux/generic/patches-3.18/091-mtd-spi-nor-add-support-Spansion_S25FL164K create mode 100644 target/linux/generic/patches-3.18/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch create mode 100644 target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch create mode 100644 target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch create mode 100644 target/linux/generic/patches-3.18/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch create mode 100644 target/linux/generic/patches-3.18/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch create mode 100644 target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch create mode 100644 target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch create mode 100644 target/linux/generic/patches-3.18/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch create mode 100644 target/linux/generic/patches-3.18/111-jffs2-add-RENAME_EXCHANGE-support.patch create mode 100644 target/linux/generic/patches-3.18/120-bridge_allow_receiption_on_disabled_port.patch create mode 100644 target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch create mode 100644 target/linux/generic/patches-3.18/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch create mode 100644 target/linux/generic/patches-3.18/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch create mode 100644 target/linux/generic/patches-3.18/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch create mode 100644 target/linux/generic/patches-3.18/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch create mode 100644 target/linux/generic/patches-3.18/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch create mode 100644 target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch create mode 100644 target/linux/generic/patches-3.18/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch create mode 100644 target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch create mode 100644 target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch create mode 100644 target/linux/generic/patches-3.18/200-fix_localversion.patch create mode 100644 target/linux/generic/patches-3.18/201-extra_optimization.patch create mode 100644 target/linux/generic/patches-3.18/202-reduce_module_size.patch create mode 100644 target/linux/generic/patches-3.18/203-kallsyms_uncompressed.patch create mode 100644 target/linux/generic/patches-3.18/204-module_strip.patch create mode 100644 target/linux/generic/patches-3.18/205-backtrace_module_info.patch create mode 100644 target/linux/generic/patches-3.18/210-darwin_scripts_include.patch create mode 100644 target/linux/generic/patches-3.18/212-byteshift_portability.patch create mode 100644 target/linux/generic/patches-3.18/213-x86_vdso_portability.patch create mode 100644 target/linux/generic/patches-3.18/214-spidev_h_portability.patch create mode 100644 target/linux/generic/patches-3.18/220-gc_sections.patch create mode 100644 target/linux/generic/patches-3.18/221-module_exports.patch create mode 100644 target/linux/generic/patches-3.18/230-openwrt_lzma_options.patch create mode 100644 target/linux/generic/patches-3.18/250-netfilter_depends.patch create mode 100644 target/linux/generic/patches-3.18/251-sound_kconfig.patch create mode 100644 target/linux/generic/patches-3.18/252-mv_cesa_depends.patch create mode 100644 target/linux/generic/patches-3.18/253-ssb_b43_default_on.patch create mode 100644 target/linux/generic/patches-3.18/254-textsearch_kconfig_hacks.patch create mode 100644 target/linux/generic/patches-3.18/255-lib80211_kconfig_hacks.patch create mode 100644 target/linux/generic/patches-3.18/256-crypto_add_kconfig_prompts.patch create mode 100644 target/linux/generic/patches-3.18/257-wireless_ext_kconfig_hack.patch create mode 100644 target/linux/generic/patches-3.18/258-netfilter_netlink_kconfig_hack.patch create mode 100644 target/linux/generic/patches-3.18/259-regmap_dynamic.patch create mode 100644 target/linux/generic/patches-3.18/260-crypto_test_dependencies.patch create mode 100644 target/linux/generic/patches-3.18/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch create mode 100644 target/linux/generic/patches-3.18/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch create mode 100644 target/linux/generic/patches-3.18/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch create mode 100644 target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch create mode 100644 target/linux/generic/patches-3.18/301-mips_image_cmdline_hack.patch create mode 100644 target/linux/generic/patches-3.18/302-mips_no_branch_likely.patch create mode 100644 target/linux/generic/patches-3.18/304-mips_disable_fpu.patch create mode 100644 target/linux/generic/patches-3.18/305-mips_module_reloc.patch create mode 100644 target/linux/generic/patches-3.18/306-mips_mem_functions_performance.patch create mode 100644 target/linux/generic/patches-3.18/307-mips_highmem_offset.patch create mode 100644 target/linux/generic/patches-3.18/310-arm_module_unresolved_weak_sym.patch create mode 100644 target/linux/generic/patches-3.18/320-ppc4xx_optimization.patch create mode 100644 target/linux/generic/patches-3.18/321-powerpc_crtsavres_prereq.patch create mode 100644 target/linux/generic/patches-3.18/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch create mode 100644 target/linux/generic/patches-3.18/400-mtd-add-rootfs-split-support.patch create mode 100644 target/linux/generic/patches-3.18/401-mtd-add-support-for-different-partition-parser-types.patch create mode 100644 target/linux/generic/patches-3.18/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch create mode 100644 target/linux/generic/patches-3.18/403-mtd-hook-mtdsplit-to-Kbuild.patch create mode 100644 target/linux/generic/patches-3.18/404-mtd-add-more-helper-functions.patch create mode 100644 target/linux/generic/patches-3.18/405-mtd-old-firmware-uimage-splitter.patch create mode 100644 target/linux/generic/patches-3.18/406-mtd-old-rootfs-squashfs-splitter.patch create mode 100644 target/linux/generic/patches-3.18/410-mtd-move-forward-declaration-of-struct-mtd_info.patch create mode 100644 target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch create mode 100644 target/linux/generic/patches-3.18/412-mtd-partial_eraseblock_unlock.patch create mode 100644 target/linux/generic/patches-3.18/420-mtd-redboot_space.patch create mode 100644 target/linux/generic/patches-3.18/430-mtd-add-myloader-partition-parser.patch create mode 100644 target/linux/generic/patches-3.18/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch create mode 100644 target/linux/generic/patches-3.18/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch create mode 100644 target/linux/generic/patches-3.18/440-block2mtd_init.patch create mode 100644 target/linux/generic/patches-3.18/441-block2mtd_probe.patch create mode 100644 target/linux/generic/patches-3.18/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch create mode 100644 target/linux/generic/patches-3.18/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch create mode 100644 target/linux/generic/patches-3.18/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch create mode 100644 target/linux/generic/patches-3.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch create mode 100644 target/linux/generic/patches-3.18/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch create mode 100644 target/linux/generic/patches-3.18/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch create mode 100644 target/linux/generic/patches-3.18/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch create mode 100644 target/linux/generic/patches-3.18/475-mtd-spi-nor-add-macronix-mx25u25635f.patch create mode 100644 target/linux/generic/patches-3.18/480-mtd-set-rootfs-to-be-root-dev.patch create mode 100644 target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch create mode 100644 target/linux/generic/patches-3.18/491-ubi-auto-create-ubiblock-device-for-rootfs.patch create mode 100644 target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch create mode 100644 target/linux/generic/patches-3.18/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch create mode 100644 target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch create mode 100644 target/linux/generic/patches-3.18/500-yaffs-Kbuild-integration.patch create mode 100644 target/linux/generic/patches-3.18/502-yaffs-fix-compat-tags-handling.patch create mode 100644 target/linux/generic/patches-3.18/503-yaffs-add-tags-9bytes-mount-option.patch create mode 100644 target/linux/generic/patches-3.18/504-yaffs-3.16-new-fops.patch create mode 100644 target/linux/generic/patches-3.18/530-jffs2_make_lzma_available.patch create mode 100644 target/linux/generic/patches-3.18/531-debloat_lzma.patch create mode 100644 target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch create mode 100644 target/linux/generic/patches-3.18/540-crypto-xz-decompression-support.patch create mode 100644 target/linux/generic/patches-3.18/541-ubifs-xz-decompression-support.patch create mode 100644 target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch create mode 100644 target/linux/generic/patches-3.18/551-ubifs-fix-default-compression-selection.patch create mode 100644 target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch create mode 100644 target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch create mode 100644 target/linux/generic/patches-3.18/611-netfilter_match_bypass_default_table.patch create mode 100644 target/linux/generic/patches-3.18/612-netfilter_match_reduce_memory_access.patch create mode 100644 target/linux/generic/patches-3.18/613-netfilter_optional_tcp_window_check.patch create mode 100644 target/linux/generic/patches-3.18/615-netfilter_add_xt_id_match.patch create mode 100644 target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch create mode 100644 target/linux/generic/patches-3.18/621-sched_act_connmark.patch create mode 100644 target/linux/generic/patches-3.18/630-packet_socket_type.patch create mode 100644 target/linux/generic/patches-3.18/640-bridge_no_eap_forward.patch create mode 100644 target/linux/generic/patches-3.18/641-bridge_always_accept_eap.patch create mode 100644 target/linux/generic/patches-3.18/642-bridge_port_isolate.patch create mode 100644 target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch create mode 100644 target/linux/generic/patches-3.18/650-pppoe_header_pad.patch create mode 100644 target/linux/generic/patches-3.18/651-wireless_mesh_header.patch create mode 100644 target/linux/generic/patches-3.18/653-disable_netlink_trim.patch create mode 100644 target/linux/generic/patches-3.18/655-increase_skb_pad.patch create mode 100644 target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch create mode 100644 target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch create mode 100644 target/linux/generic/patches-3.18/660-fq_codel_defaults.patch create mode 100644 target/linux/generic/patches-3.18/661-fq_codel_keep_dropped_stats.patch create mode 100644 target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch create mode 100644 target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch create mode 100644 target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch create mode 100644 target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch create mode 100644 target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch create mode 100644 target/linux/generic/patches-3.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch create mode 100644 target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch create mode 100644 target/linux/generic/patches-3.18/681-NET-add-of_get_mac_address_mtd.patch create mode 100644 target/linux/generic/patches-3.18/700-swconfig.patch create mode 100644 target/linux/generic/patches-3.18/701-phy_extension.patch create mode 100644 target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch create mode 100644 target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch create mode 100644 target/linux/generic/patches-3.18/704-phy-no-genphy-soft-reset.patch create mode 100644 target/linux/generic/patches-3.18/710-phy-add-mdio_register_board_info.patch create mode 100644 target/linux/generic/patches-3.18/720-phy_adm6996.patch create mode 100644 target/linux/generic/patches-3.18/721-phy_packets.patch create mode 100644 target/linux/generic/patches-3.18/722-phy_mvswitch.patch create mode 100644 target/linux/generic/patches-3.18/723-phy_ip175c.patch create mode 100644 target/linux/generic/patches-3.18/724-phy_ar8216.patch create mode 100644 target/linux/generic/patches-3.18/725-phy_rtl8306.patch create mode 100644 target/linux/generic/patches-3.18/726-phy_rtl8366.patch create mode 100644 target/linux/generic/patches-3.18/727-phy-rtl8367.patch create mode 100644 target/linux/generic/patches-3.18/728-phy-rtl8367b.patch create mode 100644 target/linux/generic/patches-3.18/729-phy-tantos.patch create mode 100644 target/linux/generic/patches-3.18/730-phy_b53.patch create mode 100644 target/linux/generic/patches-3.18/732-phy-ar8216-led-support.patch create mode 100644 target/linux/generic/patches-3.18/733-phy_mvsw61xx.patch create mode 100644 target/linux/generic/patches-3.18/734-net-phy-at803x-allow-to-configure-via-pdata.patch create mode 100644 target/linux/generic/patches-3.18/735-net-phy-at803x-fix-at8033-sgmii-mode.patch create mode 100644 target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch create mode 100644 target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch create mode 100644 target/linux/generic/patches-3.18/785-hso-support-0af0-9300.patch create mode 100644 target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch create mode 100644 target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch create mode 100644 target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch create mode 100644 target/linux/generic/patches-3.18/831-ledtrig_netdev.patch create mode 100644 target/linux/generic/patches-3.18/834-ledtrig-libata.patch create mode 100644 target/linux/generic/patches-3.18/840-rtc7301.patch create mode 100644 target/linux/generic/patches-3.18/841-rtc_pt7c4338.patch create mode 100644 target/linux/generic/patches-3.18/861-04_spi_gpio_implement_spi_delay.patch create mode 100644 target/linux/generic/patches-3.18/862-gpio_spi_driver.patch create mode 100644 target/linux/generic/patches-3.18/863-gpiommc.patch create mode 100644 target/linux/generic/patches-3.18/864-gpiommc_configfs_locking.patch create mode 100644 target/linux/generic/patches-3.18/870-hifn795x_byteswap.patch create mode 100644 target/linux/generic/patches-3.18/880-gateworks_system_controller.patch create mode 100644 target/linux/generic/patches-3.18/890-8250_optional_sysrq.patch create mode 100644 target/linux/generic/patches-3.18/901-debloat_sock_diag.patch create mode 100644 target/linux/generic/patches-3.18/902-debloat_proc.patch create mode 100644 target/linux/generic/patches-3.18/903-debloat_direct_io.patch create mode 100644 target/linux/generic/patches-3.18/904-debloat_dma_buf.patch create mode 100644 target/linux/generic/patches-3.18/910-kobject_uevent.patch create mode 100644 target/linux/generic/patches-3.18/911-kobject_add_broadcast_uevent.patch create mode 100644 target/linux/generic/patches-3.18/921-use_preinit_as_init.patch create mode 100644 target/linux/generic/patches-3.18/922-always-create-console-node-in-initramfs.patch create mode 100644 target/linux/generic/patches-3.18/930-crashlog.patch create mode 100644 target/linux/generic/patches-3.18/970-remove-unsane-filenames-from-deps_initramfs-list.patch create mode 100644 target/linux/generic/patches-3.18/980-arm_openwrt_machtypes.patch create mode 100644 target/linux/generic/patches-3.18/990-gpio_wdt.patch create mode 100644 target/linux/generic/patches-3.18/995-mangle_bootargs.patch create mode 100644 target/linux/generic/patches-3.18/997-device_tree_cmdline.patch create mode 100644 target/linux/generic/patches-3.18/998-enable_wilink_platform_without_drivers.patch create mode 100644 target/linux/generic/patches-3.18/999-seccomp_log.patch create mode 100644 target/linux/generic/patches-4.1/010-perf-tools-Create-config.detected-into-OUTPUT-direct.patch create mode 100644 target/linux/generic/patches-4.1/011-perf-tools-Fix-makefile-generation-under-dash.patch create mode 100644 target/linux/generic/patches-4.1/020-ssb-backport.patch create mode 100644 target/linux/generic/patches-4.1/021-ssb_sprom.patch create mode 100644 target/linux/generic/patches-4.1/022-bcma-from-4.2.patch create mode 100644 target/linux/generic/patches-4.1/023-bcma-from-4.4.patch create mode 100644 target/linux/generic/patches-4.1/024-bcma-from-4.5.patch create mode 100644 target/linux/generic/patches-4.1/025-bcma-from-4.6.patch create mode 100644 target/linux/generic/patches-4.1/030-backport_bcm47xx_nvram.patch create mode 100644 target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch create mode 100644 target/linux/generic/patches-4.1/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch create mode 100644 target/linux/generic/patches-4.1/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch create mode 100644 target/linux/generic/patches-4.1/050-backport_netfilter_rtcache.patch create mode 100644 target/linux/generic/patches-4.1/060-mips_decompressor_memmove.patch create mode 100644 target/linux/generic/patches-4.1/072-13-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch create mode 100644 target/linux/generic/patches-4.1/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch create mode 100644 target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch create mode 100644 target/linux/generic/patches-4.1/081-solos-pci-Increase-headroom-on-received-packets.patch create mode 100644 target/linux/generic/patches-4.1/082-usb-core-Introduce-a-USB-port-LED-trigger.patch create mode 100644 target/linux/generic/patches-4.1/090-m25p80_spi-nor_update_to_4.4rc1.patch create mode 100644 target/linux/generic/patches-4.1/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch create mode 100644 target/linux/generic/patches-4.1/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch create mode 100644 target/linux/generic/patches-4.1/102-ehci_hcd_ignore_oc.patch create mode 100644 target/linux/generic/patches-4.1/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch create mode 100644 target/linux/generic/patches-4.1/111-jffs2-add-RENAME_EXCHANGE-support.patch create mode 100644 target/linux/generic/patches-4.1/120-bridge_allow_receiption_on_disabled_port.patch create mode 100644 target/linux/generic/patches-4.1/132-mips_inline_dma_ops.patch create mode 100644 target/linux/generic/patches-4.1/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch create mode 100644 target/linux/generic/patches-4.1/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch create mode 100644 target/linux/generic/patches-4.1/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch create mode 100644 target/linux/generic/patches-4.1/142-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch create mode 100644 target/linux/generic/patches-4.1/143-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch create mode 100644 target/linux/generic/patches-4.1/144-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch create mode 100644 target/linux/generic/patches-4.1/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch create mode 100644 target/linux/generic/patches-4.1/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch create mode 100644 target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch create mode 100644 target/linux/generic/patches-4.1/200-fix_localversion.patch create mode 100644 target/linux/generic/patches-4.1/201-extra_optimization.patch create mode 100644 target/linux/generic/patches-4.1/202-reduce_module_size.patch create mode 100644 target/linux/generic/patches-4.1/203-kallsyms_uncompressed.patch create mode 100644 target/linux/generic/patches-4.1/204-module_strip.patch create mode 100644 target/linux/generic/patches-4.1/205-backtrace_module_info.patch create mode 100644 target/linux/generic/patches-4.1/210-darwin_scripts_include.patch create mode 100644 target/linux/generic/patches-4.1/212-byteshift_portability.patch create mode 100644 target/linux/generic/patches-4.1/214-spidev_h_portability.patch create mode 100644 target/linux/generic/patches-4.1/220-gc_sections.patch create mode 100644 target/linux/generic/patches-4.1/221-module_exports.patch create mode 100644 target/linux/generic/patches-4.1/222-perf-build-Do-not-fail-on-missing-Build-file.patch create mode 100644 target/linux/generic/patches-4.1/230-openwrt_lzma_options.patch create mode 100644 target/linux/generic/patches-4.1/250-netfilter_depends.patch create mode 100644 target/linux/generic/patches-4.1/251-sound_kconfig.patch create mode 100644 target/linux/generic/patches-4.1/252-mv_cesa_depends.patch create mode 100644 target/linux/generic/patches-4.1/253-ssb_b43_default_on.patch create mode 100644 target/linux/generic/patches-4.1/254-textsearch_kconfig_hacks.patch create mode 100644 target/linux/generic/patches-4.1/255-lib80211_kconfig_hacks.patch create mode 100644 target/linux/generic/patches-4.1/256-crypto_add_kconfig_prompts.patch create mode 100644 target/linux/generic/patches-4.1/257-wireless_ext_kconfig_hack.patch create mode 100644 target/linux/generic/patches-4.1/258-netfilter_netlink_kconfig_hack.patch create mode 100644 target/linux/generic/patches-4.1/259-regmap_dynamic.patch create mode 100644 target/linux/generic/patches-4.1/260-crypto_test_dependencies.patch create mode 100644 target/linux/generic/patches-4.1/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch create mode 100644 target/linux/generic/patches-4.1/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch create mode 100644 target/linux/generic/patches-4.1/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch create mode 100644 target/linux/generic/patches-4.1/300-mips_expose_boot_raw.patch create mode 100644 target/linux/generic/patches-4.1/301-mips_image_cmdline_hack.patch create mode 100644 target/linux/generic/patches-4.1/302-mips_no_branch_likely.patch create mode 100644 target/linux/generic/patches-4.1/304-mips_disable_fpu.patch create mode 100644 target/linux/generic/patches-4.1/305-mips_module_reloc.patch create mode 100644 target/linux/generic/patches-4.1/306-mips_mem_functions_performance.patch create mode 100644 target/linux/generic/patches-4.1/307-mips_highmem_offset.patch create mode 100644 target/linux/generic/patches-4.1/310-arm_module_unresolved_weak_sym.patch create mode 100644 target/linux/generic/patches-4.1/320-ppc4xx_optimization.patch create mode 100644 target/linux/generic/patches-4.1/321-powerpc_crtsavres_prereq.patch create mode 100644 target/linux/generic/patches-4.1/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch create mode 100644 target/linux/generic/patches-4.1/400-mtd-add-rootfs-split-support.patch create mode 100644 target/linux/generic/patches-4.1/401-mtd-add-support-for-different-partition-parser-types.patch create mode 100644 target/linux/generic/patches-4.1/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch create mode 100644 target/linux/generic/patches-4.1/403-mtd-hook-mtdsplit-to-Kbuild.patch create mode 100644 target/linux/generic/patches-4.1/404-mtd-add-more-helper-functions.patch create mode 100644 target/linux/generic/patches-4.1/405-mtd-old-firmware-uimage-splitter.patch create mode 100644 target/linux/generic/patches-4.1/410-mtd-move-forward-declaration-of-struct-mtd_info.patch create mode 100644 target/linux/generic/patches-4.1/411-mtd-partial_eraseblock_write.patch create mode 100644 target/linux/generic/patches-4.1/412-mtd-partial_eraseblock_unlock.patch create mode 100644 target/linux/generic/patches-4.1/420-mtd-redboot_space.patch create mode 100644 target/linux/generic/patches-4.1/430-mtd-add-myloader-partition-parser.patch create mode 100644 target/linux/generic/patches-4.1/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch create mode 100644 target/linux/generic/patches-4.1/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch create mode 100644 target/linux/generic/patches-4.1/440-block2mtd_init.patch create mode 100644 target/linux/generic/patches-4.1/441-block2mtd_probe.patch create mode 100644 target/linux/generic/patches-4.1/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch create mode 100644 target/linux/generic/patches-4.1/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch create mode 100644 target/linux/generic/patches-4.1/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch create mode 100644 target/linux/generic/patches-4.1/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch create mode 100644 target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch create mode 100644 target/linux/generic/patches-4.1/480-mtd-set-rootfs-to-be-root-dev.patch create mode 100644 target/linux/generic/patches-4.1/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch create mode 100644 target/linux/generic/patches-4.1/491-ubi-auto-create-ubiblock-device-for-rootfs.patch create mode 100644 target/linux/generic/patches-4.1/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch create mode 100644 target/linux/generic/patches-4.1/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch create mode 100644 target/linux/generic/patches-4.1/494-mtd-ubi-add-EOF-marker-support.patch create mode 100644 target/linux/generic/patches-4.1/500-yaffs-Kbuild-integration.patch create mode 100644 target/linux/generic/patches-4.1/502-yaffs-fix-compat-tags-handling.patch create mode 100644 target/linux/generic/patches-4.1/503-yaffs-add-tags-9bytes-mount-option.patch create mode 100644 target/linux/generic/patches-4.1/504-yaffs-3.16-new-fops.patch create mode 100644 target/linux/generic/patches-4.1/505-yaffs-3.19-f_dentry-remove.patch create mode 100644 target/linux/generic/patches-4.1/530-jffs2_make_lzma_available.patch create mode 100644 target/linux/generic/patches-4.1/531-debloat_lzma.patch create mode 100644 target/linux/generic/patches-4.1/532-jffs2_eofdetect.patch create mode 100644 target/linux/generic/patches-4.1/540-crypto-xz-decompression-support.patch create mode 100644 target/linux/generic/patches-4.1/541-ubifs-xz-decompression-support.patch create mode 100644 target/linux/generic/patches-4.1/551-ubifs-fix-default-compression-selection.patch create mode 100644 target/linux/generic/patches-4.1/600-netfilter_conntrack_flush.patch create mode 100644 target/linux/generic/patches-4.1/610-netfilter_match_bypass_default_checks.patch create mode 100644 target/linux/generic/patches-4.1/611-netfilter_match_bypass_default_table.patch create mode 100644 target/linux/generic/patches-4.1/612-netfilter_match_reduce_memory_access.patch create mode 100644 target/linux/generic/patches-4.1/613-netfilter_optional_tcp_window_check.patch create mode 100644 target/linux/generic/patches-4.1/615-netfilter_add_xt_id_match.patch create mode 100644 target/linux/generic/patches-4.1/616-net_optimize_xfrm_calls.patch create mode 100644 target/linux/generic/patches-4.1/630-packet_socket_type.patch create mode 100644 target/linux/generic/patches-4.1/640-bridge_no_eap_forward.patch create mode 100644 target/linux/generic/patches-4.1/641-bridge_always_accept_eap.patch create mode 100644 target/linux/generic/patches-4.1/642-bridge_port_isolate.patch create mode 100644 target/linux/generic/patches-4.1/645-bridge_multicast_to_unicast.patch create mode 100644 target/linux/generic/patches-4.1/650-pppoe_header_pad.patch create mode 100644 target/linux/generic/patches-4.1/651-wireless_mesh_header.patch create mode 100644 target/linux/generic/patches-4.1/653-disable_netlink_trim.patch create mode 100644 target/linux/generic/patches-4.1/655-increase_skb_pad.patch create mode 100644 target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch create mode 100644 target/linux/generic/patches-4.1/657-qdisc_reduce_truesize.patch create mode 100644 target/linux/generic/patches-4.1/660-fq_codel_defaults.patch create mode 100644 target/linux/generic/patches-4.1/661-fq_codel_keep_dropped_stats.patch create mode 100644 target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch create mode 100644 target/linux/generic/patches-4.1/663-remove_pfifo_fast.patch create mode 100644 target/linux/generic/patches-4.1/664-codel_fix_3_12.patch create mode 100644 target/linux/generic/patches-4.1/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch create mode 100644 target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch create mode 100644 target/linux/generic/patches-4.1/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch create mode 100644 target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch create mode 100644 target/linux/generic/patches-4.1/681-NET-add-of_get_mac_address_mtd.patch create mode 100644 target/linux/generic/patches-4.1/700-swconfig.patch create mode 100644 target/linux/generic/patches-4.1/701-phy_extension.patch create mode 100644 target/linux/generic/patches-4.1/702-phy_add_aneg_done_function.patch create mode 100644 target/linux/generic/patches-4.1/703-phy-add-detach-callback-to-struct-phy_driver.patch create mode 100644 target/linux/generic/patches-4.1/704-phy-no-genphy-soft-reset.patch create mode 100644 target/linux/generic/patches-4.1/710-phy-add-mdio_register_board_info.patch create mode 100644 target/linux/generic/patches-4.1/720-phy_adm6996.patch create mode 100644 target/linux/generic/patches-4.1/721-phy_packets.patch create mode 100644 target/linux/generic/patches-4.1/722-phy_mvswitch.patch create mode 100644 target/linux/generic/patches-4.1/723-phy_ip175c.patch create mode 100644 target/linux/generic/patches-4.1/724-phy_ar8216.patch create mode 100644 target/linux/generic/patches-4.1/725-phy_rtl8306.patch create mode 100644 target/linux/generic/patches-4.1/726-phy_rtl8366.patch create mode 100644 target/linux/generic/patches-4.1/727-phy-rtl8367.patch create mode 100644 target/linux/generic/patches-4.1/728-phy-rtl8367b.patch create mode 100644 target/linux/generic/patches-4.1/729-phy-tantos.patch create mode 100644 target/linux/generic/patches-4.1/730-phy_b53.patch create mode 100644 target/linux/generic/patches-4.1/732-phy-ar8216-led-support.patch create mode 100644 target/linux/generic/patches-4.1/733-phy_mvsw61xx.patch create mode 100644 target/linux/generic/patches-4.1/734-net-phy-at803x-allow-to-configure-via-pdata.patch create mode 100644 target/linux/generic/patches-4.1/735-net-phy-at803x-fix-at8033-sgmii-mode.patch create mode 100644 target/linux/generic/patches-4.1/760-8139cp-fixes-from-4.3.patch create mode 100644 target/linux/generic/patches-4.1/761-8139cp-fixes-from-4.4.patch create mode 100644 target/linux/generic/patches-4.1/773-bgmac-add-srab-switch.patch create mode 100644 target/linux/generic/patches-4.1/785-hso-support-0af0-9300.patch create mode 100644 target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch create mode 100644 target/linux/generic/patches-4.1/811-pci_disable_usb_common_quirks.patch create mode 100644 target/linux/generic/patches-4.1/831-ledtrig_netdev.patch create mode 100644 target/linux/generic/patches-4.1/834-ledtrig-libata.patch create mode 100644 target/linux/generic/patches-4.1/840-rtc7301.patch create mode 100644 target/linux/generic/patches-4.1/841-rtc_pt7c4338.patch create mode 100644 target/linux/generic/patches-4.1/861-04_spi_gpio_implement_spi_delay.patch create mode 100644 target/linux/generic/patches-4.1/862-gpio_spi_driver.patch create mode 100644 target/linux/generic/patches-4.1/863-gpiommc.patch create mode 100644 target/linux/generic/patches-4.1/864-gpiommc_configfs_locking.patch create mode 100644 target/linux/generic/patches-4.1/870-hifn795x_byteswap.patch create mode 100644 target/linux/generic/patches-4.1/880-gateworks_system_controller.patch create mode 100644 target/linux/generic/patches-4.1/890-8250_optional_sysrq.patch create mode 100644 target/linux/generic/patches-4.1/901-debloat_sock_diag.patch create mode 100644 target/linux/generic/patches-4.1/902-debloat_proc.patch create mode 100644 target/linux/generic/patches-4.1/903-debloat_direct_io.patch create mode 100644 target/linux/generic/patches-4.1/904-debloat_dma_buf.patch create mode 100644 target/linux/generic/patches-4.1/910-kobject_uevent.patch create mode 100644 target/linux/generic/patches-4.1/911-kobject_add_broadcast_uevent.patch create mode 100644 target/linux/generic/patches-4.1/921-use_preinit_as_init.patch create mode 100644 target/linux/generic/patches-4.1/922-always-create-console-node-in-initramfs.patch create mode 100644 target/linux/generic/patches-4.1/930-crashlog.patch create mode 100644 target/linux/generic/patches-4.1/970-remove-unsane-filenames-from-deps_initramfs-list.patch create mode 100644 target/linux/generic/patches-4.1/980-arm_openwrt_machtypes.patch create mode 100644 target/linux/generic/patches-4.1/995-mangle_bootargs.patch create mode 100644 target/linux/generic/patches-4.1/997-device_tree_cmdline.patch create mode 100644 target/linux/generic/patches-4.1/998-enable_wilink_platform_without_drivers.patch create mode 100644 target/linux/generic/patches-4.4/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch create mode 100644 target/linux/generic/patches-4.4/020-bcma-from-4.5.patch create mode 100644 target/linux/generic/patches-4.4/021-bcma-from-4.6.patch create mode 100644 target/linux/generic/patches-4.4/022-bcma-from-4.8.patch create mode 100644 target/linux/generic/patches-4.4/023-bcma-from-4.9.patch create mode 100644 target/linux/generic/patches-4.4/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch create mode 100644 target/linux/generic/patches-4.4/033-fq_codel-add-memory-limitation-per-queue.patch create mode 100644 target/linux/generic/patches-4.4/034-fq_codel-fix-memory-limitation-drift.patch create mode 100644 target/linux/generic/patches-4.4/035-fq_codel-fix-NET_XMIT_CN-behavior.patch create mode 100644 target/linux/generic/patches-4.4/040-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch create mode 100644 target/linux/generic/patches-4.4/041-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch create mode 100644 target/linux/generic/patches-4.4/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch create mode 100644 target/linux/generic/patches-4.4/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch create mode 100644 target/linux/generic/patches-4.4/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch create mode 100644 target/linux/generic/patches-4.4/042-0004-mtd-bcm47xxpart-fix-parsing-first-block-after-aligne.patch create mode 100644 target/linux/generic/patches-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch create mode 100644 target/linux/generic/patches-4.4/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch create mode 100644 target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch create mode 100644 target/linux/generic/patches-4.4/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch create mode 100644 target/linux/generic/patches-4.4/050-backport_netfilter_rtcache.patch create mode 100644 target/linux/generic/patches-4.4/051-0001-ovl-rename-is_merge-to-is_lowest.patch create mode 100644 target/linux/generic/patches-4.4/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch create mode 100644 target/linux/generic/patches-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch create mode 100644 target/linux/generic/patches-4.4/052-01-ubifs-Implement-O_TMPFILE.patch create mode 100644 target/linux/generic/patches-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch create mode 100644 target/linux/generic/patches-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch create mode 100644 target/linux/generic/patches-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch create mode 100644 target/linux/generic/patches-4.4/060-mips_decompressor_memmove.patch create mode 100644 target/linux/generic/patches-4.4/061-softirq-let-ksoftirqd-do-its-job.patch create mode 100644 target/linux/generic/patches-4.4/070-0001-bgmac-fix-a-missing-check-for-build_skb.patch create mode 100644 target/linux/generic/patches-4.4/070-0002-bgmac-Fix-reversed-test-of-build_skb-return-value.patch create mode 100644 target/linux/generic/patches-4.4/071-0000-net-bgmac-clarify-CONFIG_BCMA-dependency.patch create mode 100644 target/linux/generic/patches-4.4/071-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch create mode 100644 target/linux/generic/patches-4.4/071-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch create mode 100644 target/linux/generic/patches-4.4/071-0003-bgmac-reset-enable-Ethernet-core-before-using-it.patch create mode 100644 target/linux/generic/patches-4.4/071-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch create mode 100644 target/linux/generic/patches-4.4/072-0001-bgmac-Bind-net_device-with-backing-device-structure.patch create mode 100644 target/linux/generic/patches-4.4/072-0002-bgmac-Add-support-for-ethtool-statistics.patch create mode 100644 target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch create mode 100644 target/linux/generic/patches-4.4/073-0001-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch create mode 100644 target/linux/generic/patches-4.4/074-0001-net-bgmac-Fix-SOF-bit-checking.patch create mode 100644 target/linux/generic/patches-4.4/074-0002-net-bgmac-Start-transmit-queue-in-bgmac_open.patch create mode 100644 target/linux/generic/patches-4.4/074-0003-net-bgmac-Remove-superflous-netif_carrier_on.patch create mode 100644 target/linux/generic/patches-4.4/075-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch create mode 100644 target/linux/generic/patches-4.4/075-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch create mode 100644 target/linux/generic/patches-4.4/075-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch create mode 100644 target/linux/generic/patches-4.4/075-0004-net-ethernet-bgmac-convert-to-feature-flags.patch create mode 100644 target/linux/generic/patches-4.4/075-0005-net-ethernet-bgmac-Add-platform-device-support.patch create mode 100644 target/linux/generic/patches-4.4/076-0001-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch create mode 100644 target/linux/generic/patches-4.4/076-0002-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch create mode 100644 target/linux/generic/patches-4.4/076-0004-net-bgmac-fix-reversed-check-for-MII-registration-er.patch create mode 100644 target/linux/generic/patches-4.4/077-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch create mode 100644 target/linux/generic/patches-4.4/077-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch create mode 100644 target/linux/generic/patches-4.4/077-0003-net-bgmac-Fix-errant-feature-flag-check.patch create mode 100644 target/linux/generic/patches-4.4/077-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch create mode 100644 target/linux/generic/patches-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch create mode 100644 target/linux/generic/patches-4.4/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch create mode 100644 target/linux/generic/patches-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch create mode 100644 target/linux/generic/patches-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch create mode 100644 target/linux/generic/patches-4.4/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch create mode 100644 target/linux/generic/patches-4.4/083-0002-clk-Add-clk_hw-OF-clk-providers.patch create mode 100644 target/linux/generic/patches-4.4/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch create mode 100644 target/linux/generic/patches-4.4/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch create mode 100644 target/linux/generic/patches-4.4/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch create mode 100644 target/linux/generic/patches-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch create mode 100644 target/linux/generic/patches-4.4/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch create mode 100644 target/linux/generic/patches-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch create mode 100644 target/linux/generic/patches-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch create mode 100644 target/linux/generic/patches-4.4/096-arc-add-model-property-in-dts.patch create mode 100644 target/linux/generic/patches-4.4/097-MIPS-io.h-Define-ioremap_cache.patch create mode 100644 target/linux/generic/patches-4.4/101-MIPS-fix-cache-flushing-for-highmem-pages.patch create mode 100644 target/linux/generic/patches-4.4/102-ehci_hcd_ignore_oc.patch create mode 100644 target/linux/generic/patches-4.4/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch create mode 100644 target/linux/generic/patches-4.4/104-of-Add-check-to-of_scan_flat_dt-before-accessing-ini.patch create mode 100644 target/linux/generic/patches-4.4/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch create mode 100644 target/linux/generic/patches-4.4/111-jffs2-add-RENAME_EXCHANGE-support.patch create mode 100644 target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch create mode 100644 target/linux/generic/patches-4.4/132-mips_inline_dma_ops.patch create mode 100644 target/linux/generic/patches-4.4/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch create mode 100644 target/linux/generic/patches-4.4/142-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch create mode 100644 target/linux/generic/patches-4.4/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch create mode 100644 target/linux/generic/patches-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch create mode 100644 target/linux/generic/patches-4.4/170-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch create mode 100644 target/linux/generic/patches-4.4/200-fix_localversion.patch create mode 100644 target/linux/generic/patches-4.4/201-extra_optimization.patch create mode 100644 target/linux/generic/patches-4.4/202-reduce_module_size.patch create mode 100644 target/linux/generic/patches-4.4/203-kallsyms_uncompressed.patch create mode 100644 target/linux/generic/patches-4.4/204-module_strip.patch create mode 100644 target/linux/generic/patches-4.4/205-backtrace_module_info.patch create mode 100644 target/linux/generic/patches-4.4/206-mips-disable-vdso.patch create mode 100644 target/linux/generic/patches-4.4/207-mips-vdso-dbg-rebuild-after-genvdso.patch create mode 100644 target/linux/generic/patches-4.4/210-darwin_scripts_include.patch create mode 100644 target/linux/generic/patches-4.4/211-sign-file-libressl.patch create mode 100644 target/linux/generic/patches-4.4/212-byteshift_portability.patch create mode 100644 target/linux/generic/patches-4.4/214-spidev_h_portability.patch create mode 100644 target/linux/generic/patches-4.4/220-gc_sections.patch create mode 100644 target/linux/generic/patches-4.4/221-module_exports.patch create mode 100644 target/linux/generic/patches-4.4/222-arm_zimage_none.patch create mode 100644 target/linux/generic/patches-4.4/230-openwrt_lzma_options.patch create mode 100644 target/linux/generic/patches-4.4/250-netfilter_depends.patch create mode 100644 target/linux/generic/patches-4.4/251-sound_kconfig.patch create mode 100644 target/linux/generic/patches-4.4/252-mv_cesa_depends.patch create mode 100644 target/linux/generic/patches-4.4/253-ssb_b43_default_on.patch create mode 100644 target/linux/generic/patches-4.4/254-textsearch_kconfig_hacks.patch create mode 100644 target/linux/generic/patches-4.4/255-lib80211_kconfig_hacks.patch create mode 100644 target/linux/generic/patches-4.4/256-crypto_add_kconfig_prompts.patch create mode 100644 target/linux/generic/patches-4.4/257-wireless_ext_kconfig_hack.patch create mode 100644 target/linux/generic/patches-4.4/258-netfilter_netlink_kconfig_hack.patch create mode 100644 target/linux/generic/patches-4.4/259-regmap_dynamic.patch create mode 100644 target/linux/generic/patches-4.4/260-crypto_test_dependencies.patch create mode 100644 target/linux/generic/patches-4.4/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch create mode 100644 target/linux/generic/patches-4.4/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch create mode 100644 target/linux/generic/patches-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch create mode 100644 target/linux/generic/patches-4.4/280-rfkill-stubs.patch create mode 100644 target/linux/generic/patches-4.4/300-mips_expose_boot_raw.patch create mode 100644 target/linux/generic/patches-4.4/301-mips_image_cmdline_hack.patch create mode 100644 target/linux/generic/patches-4.4/302-mips_no_branch_likely.patch create mode 100644 target/linux/generic/patches-4.4/304-mips_disable_fpu.patch create mode 100644 target/linux/generic/patches-4.4/305-mips_module_reloc.patch create mode 100644 target/linux/generic/patches-4.4/306-mips_mem_functions_performance.patch create mode 100644 target/linux/generic/patches-4.4/307-mips_highmem_offset.patch create mode 100644 target/linux/generic/patches-4.4/308-mips32r2_tune.patch create mode 100644 target/linux/generic/patches-4.4/310-arm_module_unresolved_weak_sym.patch create mode 100644 target/linux/generic/patches-4.4/320-ppc4xx_optimization.patch create mode 100644 target/linux/generic/patches-4.4/321-powerpc_crtsavres_prereq.patch create mode 100644 target/linux/generic/patches-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch create mode 100644 target/linux/generic/patches-4.4/331-arc-remove-dependency-on-DEVTMPFS.patch create mode 100644 target/linux/generic/patches-4.4/332-arc-add-OWRTDTB-section.patch create mode 100644 target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch create mode 100644 target/linux/generic/patches-4.4/400-mtd-add-rootfs-split-support.patch create mode 100644 target/linux/generic/patches-4.4/401-mtd-add-support-for-different-partition-parser-types.patch create mode 100644 target/linux/generic/patches-4.4/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch create mode 100644 target/linux/generic/patches-4.4/403-mtd-hook-mtdsplit-to-Kbuild.patch create mode 100644 target/linux/generic/patches-4.4/404-mtd-add-more-helper-functions.patch create mode 100644 target/linux/generic/patches-4.4/410-mtd-move-forward-declaration-of-struct-mtd_info.patch create mode 100644 target/linux/generic/patches-4.4/411-mtd-partial_eraseblock_write.patch create mode 100644 target/linux/generic/patches-4.4/412-mtd-partial_eraseblock_unlock.patch create mode 100644 target/linux/generic/patches-4.4/420-mtd-redboot_space.patch create mode 100644 target/linux/generic/patches-4.4/430-mtd-add-myloader-partition-parser.patch create mode 100644 target/linux/generic/patches-4.4/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch create mode 100644 target/linux/generic/patches-4.4/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch create mode 100644 target/linux/generic/patches-4.4/440-block2mtd_init.patch create mode 100644 target/linux/generic/patches-4.4/441-block2mtd_probe.patch create mode 100644 target/linux/generic/patches-4.4/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch create mode 100644 target/linux/generic/patches-4.4/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch create mode 100644 target/linux/generic/patches-4.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch create mode 100644 target/linux/generic/patches-4.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch create mode 100644 target/linux/generic/patches-4.4/465-m25p80-mx-disable-software-protection.patch create mode 100644 target/linux/generic/patches-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch create mode 100644 target/linux/generic/patches-4.4/476-mtd-spi-nor-add-eon-en25q128.patch create mode 100644 target/linux/generic/patches-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch create mode 100644 target/linux/generic/patches-4.4/480-mtd-set-rootfs-to-be-root-dev.patch create mode 100644 target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch create mode 100644 target/linux/generic/patches-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch create mode 100644 target/linux/generic/patches-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch create mode 100644 target/linux/generic/patches-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch create mode 100644 target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch create mode 100644 target/linux/generic/patches-4.4/500-yaffs-Kbuild-integration.patch create mode 100644 target/linux/generic/patches-4.4/502-yaffs-fix-compat-tags-handling.patch create mode 100644 target/linux/generic/patches-4.4/503-yaffs-add-tags-9bytes-mount-option.patch create mode 100644 target/linux/generic/patches-4.4/504-yaffs-3.16-new-fops.patch create mode 100644 target/linux/generic/patches-4.4/505-yaffs-3.19-f_dentry-remove.patch create mode 100644 target/linux/generic/patches-4.4/506-yaffs2-using-new-follow_link-and-put_link.patch create mode 100644 target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch create mode 100644 target/linux/generic/patches-4.4/531-debloat_lzma.patch create mode 100644 target/linux/generic/patches-4.4/532-jffs2_eofdetect.patch create mode 100644 target/linux/generic/patches-4.4/540-crypto-xz-decompression-support.patch create mode 100644 target/linux/generic/patches-4.4/541-ubifs-xz-decompression-support.patch create mode 100644 target/linux/generic/patches-4.4/551-ubifs-fix-default-compression-selection.patch create mode 100644 target/linux/generic/patches-4.4/600-netfilter_conntrack_flush.patch create mode 100644 target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch create mode 100644 target/linux/generic/patches-4.4/611-netfilter_match_bypass_default_table.patch create mode 100644 target/linux/generic/patches-4.4/612-netfilter_match_reduce_memory_access.patch create mode 100644 target/linux/generic/patches-4.4/613-netfilter_optional_tcp_window_check.patch create mode 100644 target/linux/generic/patches-4.4/615-netfilter_add_xt_id_match.patch create mode 100644 target/linux/generic/patches-4.4/616-net_optimize_xfrm_calls.patch create mode 100644 target/linux/generic/patches-4.4/630-packet_socket_type.patch create mode 100644 target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch create mode 100644 target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch create mode 100644 target/linux/generic/patches-4.4/642-bridge_port_isolate.patch create mode 100644 target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch create mode 100644 target/linux/generic/patches-4.4/650-pppoe_header_pad.patch create mode 100644 target/linux/generic/patches-4.4/651-wireless_mesh_header.patch create mode 100644 target/linux/generic/patches-4.4/653-disable_netlink_trim.patch create mode 100644 target/linux/generic/patches-4.4/655-increase_skb_pad.patch create mode 100644 target/linux/generic/patches-4.4/660-fq_codel_defaults.patch create mode 100644 target/linux/generic/patches-4.4/661-fq_codel_keep_dropped_stats.patch create mode 100644 target/linux/generic/patches-4.4/662-use_fq_codel_by_default.patch create mode 100644 target/linux/generic/patches-4.4/663-remove_pfifo_fast.patch create mode 100644 target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch create mode 100644 target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch create mode 100644 target/linux/generic/patches-4.4/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch create mode 100644 target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch create mode 100644 target/linux/generic/patches-4.4/681-NET-add-of_get_mac_address_mtd.patch create mode 100644 target/linux/generic/patches-4.4/700-swconfig.patch create mode 100644 target/linux/generic/patches-4.4/701-phy_extension.patch create mode 100644 target/linux/generic/patches-4.4/702-phy_add_aneg_done_function.patch create mode 100644 target/linux/generic/patches-4.4/703-phy-add-detach-callback-to-struct-phy_driver.patch create mode 100644 target/linux/generic/patches-4.4/704-phy-no-genphy-soft-reset.patch create mode 100644 target/linux/generic/patches-4.4/710-phy-add-mdio_register_board_info.patch create mode 100644 target/linux/generic/patches-4.4/720-phy_adm6996.patch create mode 100644 target/linux/generic/patches-4.4/721-phy_packets.patch create mode 100644 target/linux/generic/patches-4.4/722-phy_mvswitch.patch create mode 100644 target/linux/generic/patches-4.4/723-phy_ip175c.patch create mode 100644 target/linux/generic/patches-4.4/724-phy_ar8216.patch create mode 100644 target/linux/generic/patches-4.4/725-phy_rtl8306.patch create mode 100644 target/linux/generic/patches-4.4/726-phy_rtl8366.patch create mode 100644 target/linux/generic/patches-4.4/727-phy-rtl8367.patch create mode 100644 target/linux/generic/patches-4.4/728-phy-rtl8367b.patch create mode 100644 target/linux/generic/patches-4.4/729-phy-tantos.patch create mode 100644 target/linux/generic/patches-4.4/730-phy_b53.patch create mode 100644 target/linux/generic/patches-4.4/732-phy-ar8216-led-support.patch create mode 100644 target/linux/generic/patches-4.4/733-phy_mvsw61xx.patch create mode 100644 target/linux/generic/patches-4.4/734-net-phy-at803x-allow-to-configure-via-pdata.patch create mode 100644 target/linux/generic/patches-4.4/735-net-phy-at803x-fix-at8033-sgmii-mode.patch create mode 100644 target/linux/generic/patches-4.4/736-at803x-fix-reset-handling.patch create mode 100644 target/linux/generic/patches-4.4/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch create mode 100644 target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch create mode 100644 target/linux/generic/patches-4.4/739-net-phy-at803x-add-support-for-AT8032.patch create mode 100644 target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch create mode 100644 target/linux/generic/patches-4.4/785-hso-support-0af0-9300.patch create mode 100644 target/linux/generic/patches-4.4/810-pci_disable_common_quirks.patch create mode 100644 target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch create mode 100644 target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch create mode 100644 target/linux/generic/patches-4.4/831-ledtrig_netdev.patch create mode 100644 target/linux/generic/patches-4.4/834-ledtrig-libata.patch create mode 100644 target/linux/generic/patches-4.4/835-misc-owl_loader.patch create mode 100644 target/linux/generic/patches-4.4/840-rtc7301.patch create mode 100644 target/linux/generic/patches-4.4/841-rtc_pt7c4338.patch create mode 100644 target/linux/generic/patches-4.4/861-04_spi_gpio_implement_spi_delay.patch create mode 100644 target/linux/generic/patches-4.4/862-gpio_spi_driver.patch create mode 100644 target/linux/generic/patches-4.4/863-gpiommc.patch create mode 100644 target/linux/generic/patches-4.4/864-gpiommc_configfs_locking.patch create mode 100644 target/linux/generic/patches-4.4/870-hifn795x_byteswap.patch create mode 100644 target/linux/generic/patches-4.4/880-gateworks_system_controller.patch create mode 100644 target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch create mode 100644 target/linux/generic/patches-4.4/901-debloat_sock_diag.patch create mode 100644 target/linux/generic/patches-4.4/902-debloat_proc.patch create mode 100644 target/linux/generic/patches-4.4/903-debloat_direct_io.patch create mode 100644 target/linux/generic/patches-4.4/904-debloat_dma_buf.patch create mode 100644 target/linux/generic/patches-4.4/910-kobject_uevent.patch create mode 100644 target/linux/generic/patches-4.4/911-kobject_add_broadcast_uevent.patch create mode 100644 target/linux/generic/patches-4.4/921-use_preinit_as_init.patch create mode 100644 target/linux/generic/patches-4.4/922-always-create-console-node-in-initramfs.patch create mode 100644 target/linux/generic/patches-4.4/930-crashlog.patch create mode 100644 target/linux/generic/patches-4.4/970-remove-unsane-filenames-from-deps_initramfs-list.patch create mode 100644 target/linux/generic/patches-4.4/980-arm_openwrt_machtypes.patch create mode 100644 target/linux/generic/patches-4.4/995-mangle_bootargs.patch create mode 100644 target/linux/generic/patches-4.4/998-enable_wilink_platform_without_drivers.patch create mode 100644 target/linux/sunxi/Makefile create mode 100755 target/linux/sunxi/base-files/etc/board.d/02_network create mode 100644 target/linux/sunxi/base-files/etc/inittab create mode 100644 target/linux/sunxi/base-files/lib/firmware/brcm/brcmfmac4329-sdio.txt create mode 100644 target/linux/sunxi/base-files/lib/firmware/brcm/brcmfmac43362-sdio.txt create mode 100644 target/linux/sunxi/base-files/lib/preinit/01_preinit_sunxi.sh create mode 100644 target/linux/sunxi/base-files/lib/preinit/02_b53_hack.sh create mode 100644 target/linux/sunxi/base-files/lib/sunxi.sh create mode 100644 target/linux/sunxi/config-4.4 create mode 100644 target/linux/sunxi/image/Config.in create mode 100644 target/linux/sunxi/image/Makefile create mode 100755 target/linux/sunxi/image/gen_sunxi_sdcard_img.sh create mode 100644 target/linux/sunxi/modules.mk create mode 100644 target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch create mode 100644 target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch create mode 100644 target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch create mode 100644 target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch create mode 100644 target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch create mode 100644 target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch create mode 100644 target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch create mode 100644 target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch create mode 100644 target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch create mode 100644 target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch create mode 100644 target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch create mode 100644 target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch create mode 100644 target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch create mode 100644 target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch create mode 100644 target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch create mode 100644 target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch create mode 100644 target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch create mode 100644 target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch create mode 100644 target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch create mode 100644 target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch create mode 100644 target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch create mode 100644 target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch create mode 100644 target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch create mode 100644 target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch create mode 100644 target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch create mode 100644 target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch create mode 100644 target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch create mode 100644 target/linux/sunxi/profiles/01-default.mk create mode 100644 target/linux/sunxi/profiles/a10-olinuxino.mk create mode 100644 target/linux/sunxi/profiles/a13-olimex-som.mk create mode 100644 target/linux/sunxi/profiles/a13-olinuxino.mk create mode 100644 target/linux/sunxi/profiles/a20-olinuxino.mk create mode 100644 target/linux/sunxi/profiles/bananapi.mk create mode 100644 target/linux/sunxi/profiles/bananapro.mk create mode 100644 target/linux/sunxi/profiles/cubieboard.mk create mode 100644 target/linux/sunxi/profiles/cubieboard2.mk create mode 100644 target/linux/sunxi/profiles/cubietruck.mk create mode 100644 target/linux/sunxi/profiles/lamobo-r1.mk create mode 100644 target/linux/sunxi/profiles/mele_m9.mk create mode 100644 target/linux/sunxi/profiles/orangepi_plus.mk create mode 100644 target/linux/sunxi/profiles/pcduino.mk create mode 100644 target/linux/sunxi/profiles/pcduino3.mk create mode 100644 target/linux/uml/Makefile create mode 100644 target/linux/uml/README create mode 100644 target/linux/uml/base-files/etc/inittab create mode 100644 target/linux/uml/config/i386 create mode 100644 target/linux/uml/config/x86_64 create mode 100644 target/linux/uml/image/Makefile create mode 100644 target/linux/uml/patches-4.4/101-mconsole-exec.patch create mode 100644 target/linux/uml/patches-4.4/102-pseudo-random-mac.patch create mode 100644 target/linux/x86/64/config-default create mode 100644 target/linux/x86/64/profiles/000-Generic.mk create mode 100644 target/linux/x86/64/target.mk create mode 100644 target/linux/x86/Makefile create mode 100644 target/linux/x86/base-files/etc/inittab create mode 100644 target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 create mode 100644 target/linux/x86/base-files/lib/preinit/20_check_iso create mode 100644 target/linux/x86/base-files/lib/preinit/20_sysinfo create mode 100644 target/linux/x86/base-files/lib/preinit/79_move_config create mode 100644 target/linux/x86/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/x86/config-4.4 create mode 100644 target/linux/x86/generic/config-default create mode 100644 target/linux/x86/generic/profiles/000-Generic.mk create mode 100644 target/linux/x86/generic/target.mk create mode 100644 target/linux/x86/geode/config-default create mode 100644 target/linux/x86/geode/target.mk create mode 100644 target/linux/x86/image/Makefile create mode 100755 target/linux/x86/image/gen_image_generic.sh create mode 100644 target/linux/x86/image/grub-early.cfg create mode 100644 target/linux/x86/image/grub-iso.cfg create mode 100644 target/linux/x86/image/grub.cfg create mode 100644 target/linux/x86/legacy/config-default create mode 100644 target/linux/x86/legacy/profiles/000-Generic.mk create mode 100644 target/linux/x86/legacy/target.mk create mode 100644 target/linux/x86/patches-4.4/011-tune_lzma_options.patch create mode 100644 target/linux/x86/patches-4.4/100-fix_cs5535_clockevt.patch create mode 100644 target/linux/x86/xen_domu/base-files/etc/inittab create mode 100644 target/linux/x86/xen_domu/base-files/lib/preinit/45_mount_xenfs create mode 100644 target/linux/x86/xen_domu/config-default create mode 100644 target/linux/x86/xen_domu/profiles/000-Generic.mk create mode 100644 target/linux/x86/xen_domu/target.mk create mode 100644 target/linux/xburst/Makefile create mode 100755 target/linux/xburst/base-files/etc/board.d/01_system create mode 100644 target/linux/xburst/base-files/etc/config/fstab create mode 100644 target/linux/xburst/base-files/etc/config/network create mode 100644 target/linux/xburst/config-3.18 create mode 100644 target/linux/xburst/image/Makefile create mode 100644 target/linux/xburst/image/ubinize.cfg create mode 100644 target/linux/xburst/modules.mk create mode 100644 target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch create mode 100644 target/linux/xburst/patches-3.18/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch create mode 100644 target/linux/xburst/patches-3.18/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch create mode 100644 target/linux/xburst/patches-3.18/004-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch create mode 100644 target/linux/xburst/patches-3.18/005-RTC-JZ4740-Init-the-regulator-register-on-startup.patch create mode 100644 target/linux/xburst/patches-3.18/006-Add-ili8960-lcd-driver.patch create mode 100644 target/linux/xburst/patches-3.18/007-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch create mode 100644 target/linux/xburst/qi_lb60/config-default create mode 100644 target/linux/xburst/qi_lb60/target.mk create mode 100644 target/sdk/Config.in create mode 100644 target/sdk/Makefile create mode 100755 target/sdk/convert-config.pl create mode 100644 target/sdk/files/Config.in create mode 100644 target/sdk/files/Makefile create mode 100644 target/sdk/files/README.SDK create mode 100644 target/sdk/files/include/prepare.mk create mode 100644 target/toolchain/Config.in create mode 100644 target/toolchain/Makefile create mode 100644 target/toolchain/files/README.TOOLCHAIN create mode 100755 target/toolchain/files/wrapper.sh create mode 100644 toolchain/Config.in create mode 100644 toolchain/Makefile create mode 100644 toolchain/binutils/Config.in create mode 100644 toolchain/binutils/Config.version create mode 100644 toolchain/binutils/Makefile create mode 100644 toolchain/binutils/patches/2.25.1/300-001_ld_makefile_patch.patch create mode 100644 toolchain/binutils/patches/2.25.1/300-012_check_ldrunpath_length.patch create mode 100644 toolchain/binutils/patches/2.25.1/400-mips_no_dynamic_linking_sym.patch create mode 100644 toolchain/binutils/patches/2.25.1/500-Change-default-emulation-for-mips64-linux.patch create mode 100644 toolchain/binutils/patches/2.27/300-001_ld_makefile_patch.patch create mode 100644 toolchain/binutils/patches/2.27/300-012_check_ldrunpath_length.patch create mode 100644 toolchain/binutils/patches/2.27/400-mips_no_dynamic_linking_sym.patch create mode 100644 toolchain/binutils/patches/2.27/500-Change-default-emulation-for-mips64-linux.patch create mode 100644 toolchain/binutils/patches/arc-2016.03/200-arc-fix-target-mask.patch create mode 100644 toolchain/fortify-headers/Makefile create mode 100644 toolchain/gcc/Config.in create mode 100644 toolchain/gcc/Config.version create mode 100644 toolchain/gcc/common.mk create mode 100644 toolchain/gcc/files/alternate-arch-cc.in create mode 100644 toolchain/gcc/final/Makefile create mode 100644 toolchain/gcc/initial/Makefile create mode 100644 toolchain/gcc/minimal/Makefile create mode 100644 toolchain/gcc/patches/5.4.0/001-revert_register_mode_search.patch create mode 100644 toolchain/gcc/patches/5.4.0/002-case_insensitive.patch create mode 100644 toolchain/gcc/patches/5.4.0/010-documentation.patch create mode 100644 toolchain/gcc/patches/5.4.0/020-no-plt-backport.patch create mode 100644 toolchain/gcc/patches/5.4.0/040-fix-mips-ICE-PR-68400.patch create mode 100644 toolchain/gcc/patches/5.4.0/100-uclibc-conf.patch create mode 100644 toolchain/gcc/patches/5.4.0/200-musl_config.patch create mode 100644 toolchain/gcc/patches/5.4.0/201-musl_arm.patch create mode 100644 toolchain/gcc/patches/5.4.0/202-musl_mips.patch create mode 100644 toolchain/gcc/patches/5.4.0/203-musl_powerpc.patch create mode 100644 toolchain/gcc/patches/5.4.0/204-musl_sh.patch create mode 100644 toolchain/gcc/patches/5.4.0/205-musl_x86.patch create mode 100644 toolchain/gcc/patches/5.4.0/206-musl_aarch64.patch create mode 100644 toolchain/gcc/patches/5.4.0/207-musl_fixincludes.patch create mode 100644 toolchain/gcc/patches/5.4.0/209-musl_libstdc++.patch create mode 100644 toolchain/gcc/patches/5.4.0/230-musl_libssp.patch create mode 100644 toolchain/gcc/patches/5.4.0/240-musl-libitm-fixes.patch create mode 100644 toolchain/gcc/patches/5.4.0/250-add-musl.patch create mode 100644 toolchain/gcc/patches/5.4.0/260-musl-add-unwind-fix.patch create mode 100644 toolchain/gcc/patches/5.4.0/270-musl-add-powerpc-softfloat-fix.patch create mode 100644 toolchain/gcc/patches/5.4.0/280-musl-disable-ifunc-by-default.patch create mode 100644 toolchain/gcc/patches/5.4.0/300-mips_Os_cpu_rtx_cost_model.patch create mode 100644 toolchain/gcc/patches/5.4.0/800-arm_v5te_no_ldrd_strd.patch create mode 100644 toolchain/gcc/patches/5.4.0/810-arm-softfloat-libgcc.patch create mode 100644 toolchain/gcc/patches/5.4.0/820-libgcc_pic.patch create mode 100644 toolchain/gcc/patches/5.4.0/830-arm_unbreak_armv4t.patch create mode 100644 toolchain/gcc/patches/5.4.0/840-armv4_pass_fix-v4bx_to_ld.patch create mode 100644 toolchain/gcc/patches/5.4.0/850-use_shared_libgcc.patch create mode 100644 toolchain/gcc/patches/5.4.0/851-libgcc_no_compat.patch create mode 100644 toolchain/gcc/patches/5.4.0/870-ppc_no_crtsavres.patch create mode 100644 toolchain/gcc/patches/5.4.0/880-no_java_section.patch create mode 100644 toolchain/gcc/patches/5.4.0/900-bad-mips16-crt.patch create mode 100644 toolchain/gcc/patches/5.4.0/910-mbsd_multi.patch create mode 100644 toolchain/gcc/patches/5.4.0/920-specs_nonfatal_getenv.patch create mode 100644 toolchain/gcc/patches/5.4.0/930-fix-mips-noexecstack.patch create mode 100644 toolchain/gcc/patches/5.4.0/931-fix-MIPS-softfloat-build-issue.patch create mode 100644 toolchain/gcc/patches/5.4.0/940-no-clobber-stamp-bits.patch create mode 100644 toolchain/gcc/patches/5.4.0/950-cpp_file_path_translation.patch create mode 100644 toolchain/gcc/patches/5.4.0/960-go_libm.patch create mode 100644 toolchain/gcc/patches/5.4.0/970-warn_bug.patch create mode 100644 toolchain/gcc/patches/6.2.0/001-revert_register_mode_search.patch create mode 100644 toolchain/gcc/patches/6.2.0/002-case_insensitive.patch create mode 100644 toolchain/gcc/patches/6.2.0/010-documentation.patch create mode 100644 toolchain/gcc/patches/6.2.0/100-uclibc-conf.patch create mode 100644 toolchain/gcc/patches/6.2.0/230-musl_libssp.patch create mode 100644 toolchain/gcc/patches/6.2.0/280-musl-disable-ifunc-by-default.patch create mode 100644 toolchain/gcc/patches/6.2.0/300-mips_Os_cpu_rtx_cost_model.patch create mode 100644 toolchain/gcc/patches/6.2.0/800-arm_v5te_no_ldrd_strd.patch create mode 100644 toolchain/gcc/patches/6.2.0/810-arm-softfloat-libgcc.patch create mode 100644 toolchain/gcc/patches/6.2.0/820-libgcc_pic.patch create mode 100644 toolchain/gcc/patches/6.2.0/830-arm_unbreak_armv4t.patch create mode 100644 toolchain/gcc/patches/6.2.0/840-armv4_pass_fix-v4bx_to_ld.patch create mode 100644 toolchain/gcc/patches/6.2.0/850-use_shared_libgcc.patch create mode 100644 toolchain/gcc/patches/6.2.0/851-libgcc_no_compat.patch create mode 100644 toolchain/gcc/patches/6.2.0/870-ppc_no_crtsavres.patch create mode 100644 toolchain/gcc/patches/6.2.0/880-no_java_section.patch create mode 100644 toolchain/gcc/patches/6.2.0/900-bad-mips16-crt.patch create mode 100644 toolchain/gcc/patches/6.2.0/910-mbsd_multi.patch create mode 100644 toolchain/gcc/patches/6.2.0/920-specs_nonfatal_getenv.patch create mode 100644 toolchain/gcc/patches/6.2.0/930-fix-mips-noexecstack.patch create mode 100644 toolchain/gcc/patches/6.2.0/940-no-clobber-stamp-bits.patch create mode 100644 toolchain/gcc/patches/6.2.0/950-cpp_file_path_translation.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/001-revert_register_mode_search.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/002-weak_data_fix.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/003-universal_initializer.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/004-case_insensitive.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/010-documentation.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/020-no-plt-backport.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/100-uclibc-conf.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/210-disable_libsanitizer_off_t_check.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/800-arc-disablelibgmon.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/820-libgcc_pic.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/850-use_shared_libgcc.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/851-libgcc_no_compat.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/860-use_eh_frame.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/870-ppc_no_crtsavres.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/880-no_java_section.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/910-mbsd_multi.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/920-specs_nonfatal_getenv.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/940-no-clobber-stamp-bits.patch create mode 100644 toolchain/gcc/patches/arc-2016.03/950-fix-building-with-gcc6.patch create mode 100644 toolchain/gdb/Makefile create mode 100644 toolchain/gdb/patches-arc/100-no_extern_inline.patch create mode 100644 toolchain/gdb/patches-arc/110-no_testsuite.patch create mode 100644 toolchain/gdb/patches-arc/120-fix-compile-flag-mismatch.patch create mode 100644 toolchain/gdb/patches/100-no_extern_inline.patch create mode 100644 toolchain/gdb/patches/110-no_testsuite.patch create mode 100644 toolchain/gdb/patches/120-fix-compile-flag-mismatch.patch create mode 100644 toolchain/glibc/Config.in create mode 100644 toolchain/glibc/Config.version create mode 100644 toolchain/glibc/Makefile create mode 100644 toolchain/glibc/common.mk create mode 100644 toolchain/glibc/headers/Makefile create mode 100644 toolchain/glibc/include/libintl.h create mode 100644 toolchain/glibc/patches/2.24/100-fix_cross_rpcgen.patch create mode 100644 toolchain/glibc/patches/2.24/200-add-dl-search-paths.patch create mode 100644 toolchain/info.mk create mode 100644 toolchain/insight/Makefile create mode 100644 toolchain/insight/patches/600-fix-compile-flag-mismatch.patch create mode 100644 toolchain/kernel-headers/Makefile create mode 100644 toolchain/musl/Config.version create mode 100644 toolchain/musl/Makefile create mode 100644 toolchain/musl/common.mk create mode 100644 toolchain/musl/include/bits/wordsize.h create mode 100644 toolchain/musl/include/features.h create mode 100644 toolchain/musl/include/sgidefs.h create mode 100644 toolchain/musl/include/sys/cdefs.h create mode 100644 toolchain/musl/include/sys/glibc-types.h create mode 100644 toolchain/musl/include/sys/queue.h create mode 100644 toolchain/musl/patches/010-fix-regression-in-tcsetattr-on-all-mips-archs.patch create mode 100644 toolchain/musl/patches/040-Add-format-attribute-to-some-function-declarations.patch create mode 100644 toolchain/musl/patches/100-add_glob_onlydir.patch create mode 100644 toolchain/musl/patches/110-read_timezone_from_fs.patch create mode 100644 toolchain/musl/patches/200-add_libssp_nonshared.patch create mode 100644 toolchain/musl/patches/300-relative.patch create mode 100644 toolchain/musl/patches/400-fix_quoted_timezone.patch create mode 100644 toolchain/musl/patches/900-iconv_size_hack.patch create mode 100644 toolchain/musl/patches/901-crypt_size_hack.patch create mode 100644 toolchain/uClibc/Config.in create mode 100644 toolchain/uClibc/Config.version create mode 100644 toolchain/uClibc/Makefile create mode 100644 toolchain/uClibc/common.mk create mode 100644 toolchain/uClibc/config/arc create mode 100644 toolchain/uClibc/config/archs create mode 100644 toolchain/uClibc/config/arm create mode 100644 toolchain/uClibc/config/armeb create mode 100644 toolchain/uClibc/config/common create mode 100644 toolchain/uClibc/config/debug create mode 100644 toolchain/uClibc/config/i386 create mode 100644 toolchain/uClibc/config/i686 create mode 100644 toolchain/uClibc/config/m68k create mode 100644 toolchain/uClibc/config/mips create mode 100644 toolchain/uClibc/config/mips64 create mode 100644 toolchain/uClibc/config/mips64.32 create mode 100644 toolchain/uClibc/config/mips64.64 create mode 100644 toolchain/uClibc/config/mips64.n32 create mode 100644 toolchain/uClibc/config/mips64el create mode 100644 toolchain/uClibc/config/mips64el.32 create mode 100644 toolchain/uClibc/config/mips64el.64 create mode 100644 toolchain/uClibc/config/mips64el.n32 create mode 100644 toolchain/uClibc/config/mipsel create mode 100644 toolchain/uClibc/config/mipsel.cobalt create mode 100644 toolchain/uClibc/config/powerpc create mode 100644 toolchain/uClibc/config/powerpc.e500 create mode 100644 toolchain/uClibc/config/sparc create mode 100644 toolchain/uClibc/config/sparc.leon create mode 100644 toolchain/uClibc/config/x86_64 create mode 100644 toolchain/uClibc/headers/Makefile create mode 100644 toolchain/uClibc/utils/Makefile create mode 100644 toolchain/wrapper/Makefile create mode 100644 toolchain/yasm/Makefile create mode 100644 tools/Makefile create mode 100644 tools/autoconf/Makefile create mode 100644 tools/autoconf/patches/000-relocatable.patch create mode 100644 tools/autoconf/patches/001-no_emacs_lib.patch create mode 100644 tools/autoconf/patches/002-musl_host_fixup.patch create mode 100644 tools/automake/Makefile create mode 100755 tools/automake/files/aclocal create mode 100644 tools/automake/patches/000-relocatable.patch create mode 100644 tools/automake/patches/100-aclocal-skip-not-existing-directories.patch create mode 100644 tools/automake/patches/200-do-not-override-silent-rules.patch create mode 100644 tools/bc/Makefile create mode 100644 tools/bc/patches/001-no_doc.patch create mode 100644 tools/bison/Makefile create mode 100644 tools/bison/patches/010-intl-stub-compat.patch create mode 100644 tools/bison/patches/100-fix-gets-removal.patch create mode 100755 tools/bison/scripts/yacc create mode 100644 tools/ccache/Makefile create mode 100755 tools/ccache/files/ccache_cc create mode 100755 tools/ccache/files/ccache_cxx create mode 100644 tools/ccache/patches/100-honour-copts.patch create mode 100644 tools/ccache/patches/110-disable-assembler-support.patch create mode 100644 tools/cloog/Makefile create mode 100644 tools/cmake/Makefile create mode 100644 tools/cmake/patches/100-disable_qt_tests.patch create mode 100644 tools/cmake/patches/110-freebsd-compat.patch create mode 100644 tools/cmake/patches/120-alpine_musl-compat.patch create mode 100644 tools/cmake/patches/130-upstream-libarchive-openssl-compat-headers.patch create mode 100644 tools/cmake/patches/140-upstream-libarchive-openssl-1.1.x-support.patch create mode 100644 tools/cmake/patches/150-libarchive-fix-libressl-compat.patch create mode 100644 tools/coreutils/Makefile create mode 100644 tools/dosfstools/Makefile create mode 100644 tools/dosfstools/patches/0001-mkfs-Default-to-64-32-heads-sectors-for-targets-smal.patch create mode 100644 tools/dosfstools/patches/0002-Switch-to-AC_CHECK_LIB-for-iconv-library-linking.patch create mode 100644 tools/e2fsprogs/Makefile create mode 100644 tools/e2fsprogs/patches/001-exit_0_on_corrected_errors.patch create mode 100644 tools/e2fsprogs/patches/002-dont-build-e4defrag.patch create mode 100644 tools/e2fsprogs/patches/003-openbsd-compat.patch create mode 100644 tools/e2fsprogs/patches/004-freebsd-compat.patch create mode 100644 tools/e2fsprogs/patches/005-darwin-compat.patch create mode 100644 tools/e2fsprogs/patches/010-old-libmagic.patch create mode 100644 tools/elftosb/Makefile create mode 100644 tools/elftosb/patches/001-libm.patch create mode 100644 tools/elftosb/patches/002-fix-header-path.patch create mode 100644 tools/elftosb/patches/003-use-ldflags.patch create mode 100644 tools/expat/Makefile create mode 100644 tools/findutils/Makefile create mode 100644 tools/firmware-utils/Makefile create mode 100644 tools/firmware-utils/src/add_header.c create mode 100644 tools/firmware-utils/src/addpattern.c create mode 100644 tools/firmware-utils/src/asustrx.c create mode 100644 tools/firmware-utils/src/bcm_tag.h create mode 100644 tools/firmware-utils/src/bcmalgo.c create mode 100644 tools/firmware-utils/src/bcmalgo.h create mode 100644 tools/firmware-utils/src/buffalo-enc.c create mode 100644 tools/firmware-utils/src/buffalo-lib.c create mode 100644 tools/firmware-utils/src/buffalo-lib.h create mode 100644 tools/firmware-utils/src/buffalo-tag.c create mode 100644 tools/firmware-utils/src/buffalo-tftp.c create mode 100644 tools/firmware-utils/src/csysimg.h create mode 100644 tools/firmware-utils/src/cyg_crc.h create mode 100644 tools/firmware-utils/src/cyg_crc16.c create mode 100644 tools/firmware-utils/src/cyg_crc32.c create mode 100644 tools/firmware-utils/src/dgfirmware.c create mode 100644 tools/firmware-utils/src/dgn3500sum.c create mode 100644 tools/firmware-utils/src/edimax_fw_header.c create mode 100644 tools/firmware-utils/src/encode_crc.c create mode 100644 tools/firmware-utils/src/fix-u-media-header.c create mode 100644 tools/firmware-utils/src/fw.h create mode 100644 tools/firmware-utils/src/hcsmakeimage.c create mode 100644 tools/firmware-utils/src/imagetag.c create mode 100644 tools/firmware-utils/src/imagetag.ggo create mode 100644 tools/firmware-utils/src/imagetag_cmdline.c create mode 100644 tools/firmware-utils/src/imagetag_cmdline.h create mode 100644 tools/firmware-utils/src/jcgimage.c create mode 100644 tools/firmware-utils/src/lzma2eva.c create mode 100644 tools/firmware-utils/src/makeamitbin.c create mode 100644 tools/firmware-utils/src/md5.c create mode 100644 tools/firmware-utils/src/md5.h create mode 100644 tools/firmware-utils/src/mkbrncmdline.c create mode 100644 tools/firmware-utils/src/mkbrnimg.c create mode 100644 tools/firmware-utils/src/mkbuffaloimg.c create mode 100644 tools/firmware-utils/src/mkcameofw.c create mode 100644 tools/firmware-utils/src/mkcasfw.c create mode 100644 tools/firmware-utils/src/mkchkimg.c create mode 100644 tools/firmware-utils/src/mkcsysimg.c create mode 100644 tools/firmware-utils/src/mkdapimg.c create mode 100644 tools/firmware-utils/src/mkdcs932.c create mode 100644 tools/firmware-utils/src/mkdniimg.c create mode 100644 tools/firmware-utils/src/mkedimaximg.c create mode 100644 tools/firmware-utils/src/mkfwimage.c create mode 100644 tools/firmware-utils/src/mkfwimage2.c create mode 100644 tools/firmware-utils/src/mkheader_gemtek.c create mode 100644 tools/firmware-utils/src/mkhilinkfw.c create mode 100644 tools/firmware-utils/src/mkmerakifw-old.c create mode 100644 tools/firmware-utils/src/mkmerakifw.c create mode 100644 tools/firmware-utils/src/mkmylofw.c create mode 100644 tools/firmware-utils/src/mkplanexfw.c create mode 100644 tools/firmware-utils/src/mkporayfw.c create mode 100644 tools/firmware-utils/src/mkrtn56uimg.c create mode 100644 tools/firmware-utils/src/mksenaofw.c create mode 100644 tools/firmware-utils/src/mktitanimg.c create mode 100644 tools/firmware-utils/src/mktitanimg.h create mode 100644 tools/firmware-utils/src/mktplinkfw.c create mode 100644 tools/firmware-utils/src/mktplinkfw2.c create mode 100644 tools/firmware-utils/src/mkwrggimg.c create mode 100644 tools/firmware-utils/src/mkwrgimg.c create mode 100644 tools/firmware-utils/src/mkzcfw.c create mode 100644 tools/firmware-utils/src/mkzynfw.c create mode 100644 tools/firmware-utils/src/motorola-bin.c create mode 100644 tools/firmware-utils/src/myloader.h create mode 100644 tools/firmware-utils/src/nand_ecc.c create mode 100644 tools/firmware-utils/src/osbridge-crc.c create mode 100644 tools/firmware-utils/src/oseama.c create mode 100644 tools/firmware-utils/src/pc1crypt.c create mode 100644 tools/firmware-utils/src/ptgen.c create mode 100644 tools/firmware-utils/src/seama.c create mode 100644 tools/firmware-utils/src/seama.h create mode 100644 tools/firmware-utils/src/sha1.c create mode 100644 tools/firmware-utils/src/sha1.h create mode 100644 tools/firmware-utils/src/spw303v.c create mode 100644 tools/firmware-utils/src/srec2bin.c create mode 100644 tools/firmware-utils/src/tplink-safeloader.c create mode 100644 tools/firmware-utils/src/trx.c create mode 100644 tools/firmware-utils/src/trx2edips.c create mode 100644 tools/firmware-utils/src/trx2usr.c create mode 100644 tools/firmware-utils/src/wrt400n.c create mode 100644 tools/firmware-utils/src/xorimage.c create mode 100644 tools/firmware-utils/src/zyimage.c create mode 100644 tools/firmware-utils/src/zynos.h create mode 100644 tools/firmware-utils/src/zyxbcm.c create mode 100644 tools/flex/Makefile create mode 100644 tools/flex/patches/100-disable-tests-docs.patch create mode 100644 tools/flock/Makefile create mode 100644 tools/flock/src/flock.c create mode 100644 tools/genext2fs/Makefile create mode 100644 tools/genext2fs/patches/100-c99_scanf.patch create mode 100644 tools/genext2fs/patches/200-autoconf.patch create mode 100644 tools/genext2fs/patches/300-blocksize-creator.patch create mode 100644 tools/genext2fs/patches/400-byteswap_fix.patch create mode 100644 tools/gengetopt/Makefile create mode 100644 tools/gengetopt/patches/100-dependency_fix.patch create mode 100644 tools/gengetopt/patches/200-no_docs_tests.patch create mode 100644 tools/gmp/Makefile create mode 100644 tools/include/byteswap.h create mode 100644 tools/include/elf.h create mode 100644 tools/include/endian.h create mode 100644 tools/include/getline.h create mode 100644 tools/include/sys/sysmacros.h create mode 100644 tools/isl/Makefile create mode 100644 tools/kernel2minor/Makefile create mode 100644 tools/libelf/Makefile create mode 100644 tools/libressl/Makefile create mode 100644 tools/libtool/Makefile create mode 100644 tools/libtool/files/libtool-v1.5.patch create mode 100644 tools/libtool/files/libtool-v2.2.patch create mode 100644 tools/libtool/files/libtool-v2.4.patch create mode 100644 tools/libtool/patches/000-relocatable.patch create mode 100644 tools/libtool/patches/001-fix-func_append.patch create mode 100644 tools/libtool/patches/100-libdir-fixes.patch create mode 100644 tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch create mode 100644 tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch create mode 100644 tools/libtool/patches/150-trailingslash.patch create mode 100644 tools/libtool/patches/160-passthrough-ssp.patch create mode 100644 tools/libtool/patches/200-openwrt-branding.patch create mode 100644 tools/lzma-old/Makefile create mode 100644 tools/lzma-old/patches/100-lzma_zlib.patch create mode 100644 tools/lzma-old/patches/110-ranlib.patch create mode 100644 tools/lzma/Makefile create mode 100644 tools/lzma/patches/001-large_files.patch create mode 100644 tools/lzma/patches/002-lzmp.patch create mode 100644 tools/lzma/patches/003-compile_fixes.patch create mode 100644 tools/lzma/patches/100-static_library.patch create mode 100644 tools/lzma/patches/101-move-copyright-to-usage-info.patch create mode 100644 tools/m4/Makefile create mode 100644 tools/m4/patches/100-fix-gets-removal.patch create mode 100644 tools/make-ext4fs/Makefile create mode 100644 tools/missing-macros/Makefile create mode 100644 tools/missing-macros/src/README create mode 100755 tools/missing-macros/src/bin/help2man create mode 100755 tools/missing-macros/src/bin/makeinfo create mode 100644 tools/missing-macros/src/m4/as-ac-expand.m4 create mode 100644 tools/missing-macros/src/m4/as-compiler-flag.m4 create mode 100644 tools/missing-macros/src/m4/as-unaligned-access.m4 create mode 100644 tools/missing-macros/src/m4/as-version.m4 create mode 100644 tools/missing-macros/src/m4/dnet.m4 create mode 100644 tools/missing-macros/src/m4/fake-gtk-doc-check.m4 create mode 100644 tools/missing-macros/src/m4/fake-intltool.m4 create mode 100644 tools/missing-macros/src/m4/glibc2.m4 create mode 100644 tools/missing-macros/src/m4/glibc21.m4 create mode 100644 tools/missing-macros/src/m4/intdiv0.m4 create mode 100644 tools/missing-macros/src/m4/intmax.m4 create mode 100644 tools/missing-macros/src/m4/inttypes-pri.m4 create mode 100644 tools/missing-macros/src/m4/inttypes_h.m4 create mode 100644 tools/missing-macros/src/m4/lib-ld.m4 create mode 100644 tools/missing-macros/src/m4/lib-link.m4 create mode 100644 tools/missing-macros/src/m4/lib-prefix.m4 create mode 100644 tools/missing-macros/src/m4/mfx_acc.m4 create mode 100644 tools/missing-macros/src/m4/mfx_cppflags.m4 create mode 100644 tools/missing-macros/src/m4/mfx_limits.m4 create mode 100644 tools/missing-macros/src/m4/progtest.m4 create mode 100644 tools/missing-macros/src/m4/stdint_h.m4 create mode 100644 tools/missing-macros/src/m4/uintmax_t.m4 create mode 100644 tools/missing-macros/src/m4/va_copy.m4 create mode 100644 tools/missing-macros/src/m4/wint_t.m4 create mode 100644 tools/mkimage/Makefile create mode 100644 tools/mkimage/patches/010-freebsd-ulong-fix.patch create mode 100644 tools/mkimage/patches/020-include_compile_fix.patch create mode 100644 tools/mkimage/patches/030-allow-to-use-different-magic.patch create mode 100644 tools/mkimage/patches/040-include_order.patch create mode 100644 tools/mkimage/patches/050-image_h_portability.patch create mode 100644 tools/mkimage/patches/060-remove_kernel_includes.patch create mode 100644 tools/mkimage/patches/070-socfpgaimage_portability.patch create mode 100644 tools/mkimage/patches/080-remove_compiler_check.patch create mode 100644 tools/mkimage/patches/090-reproducible-SOURCE_DATE_EPOCH.patch create mode 100644 tools/mkimage/patches/100-freebsd-compat.patch create mode 100644 tools/mkimage/patches/200-compiler-support.patch create mode 100644 tools/mkimage/patches/210-openssl-1.1.x-compat.patch create mode 100644 tools/mklibs/Makefile create mode 100644 tools/mklibs/include/elf.h create mode 100644 tools/mklibs/patches/001-compile.patch create mode 100644 tools/mklibs/patches/002-disable_symbol_checks.patch create mode 100644 tools/mklibs/patches/003-no_copy.patch create mode 100644 tools/mklibs/patches/004-libpthread_link.patch create mode 100644 tools/mklibs/patches/005-duplicate_syms.patch create mode 100644 tools/mklibs/patches/006-uclibc_init.patch create mode 100644 tools/mklibs/patches/007-gc_sections.patch create mode 100644 tools/mklibs/patches/008-uclibc_libgcc_link.patch create mode 100644 tools/mklibs/patches/009-uclibc_libpthread_symbols.patch create mode 100644 tools/mklibs/patches/010-remove_STT_GNU_IFUNC.patch create mode 100644 tools/mklibs/patches/011-remove_multiarch.patch create mode 100644 tools/mm-macros/Makefile create mode 100644 tools/mpc/Makefile create mode 100644 tools/mpfr/Makefile create mode 100644 tools/mpfr/patches/001-only_src.patch create mode 100644 tools/mpfr/patches/100-freebsd-compat.patch create mode 100644 tools/mtd-utils/Makefile create mode 100644 tools/mtd-utils/include/fls.h create mode 100644 tools/mtd-utils/include/linux/types.h create mode 100644 tools/mtd-utils/patches/100-sscanf_fix.patch create mode 100644 tools/mtd-utils/patches/110-portability.patch create mode 100644 tools/mtd-utils/patches/130-lzma_jffs2.patch create mode 100644 tools/mtd-utils/patches/134-freebsd_loff_t.patch create mode 100644 tools/mtd-utils/patches/135-mkubifs_optional_lzo.patch create mode 100644 tools/mtd-utils/patches/136-mkfs.ubifs-xz-support.patch create mode 100644 tools/mtd-utils/patches/200-libubigen-add-ubigen_write_terminator-function.patch create mode 100644 tools/mtd-utils/patches/201-ubinize-add-terminator-support.patch create mode 100644 tools/mtd-utils/patches/310-add-static-linking-option.patch create mode 100644 tools/mtools/Makefile create mode 100644 tools/mtools/patches/100-compile_fix.patch create mode 100644 tools/padjffs2/Makefile create mode 100644 tools/padjffs2/src/Makefile create mode 100644 tools/padjffs2/src/padjffs2.c create mode 100644 tools/patch-image/Makefile create mode 100644 tools/patch-image/src/patch-cmdline.c create mode 100644 tools/patch-image/src/patch-dtb.c create mode 100644 tools/patch/Makefile create mode 100644 tools/patchelf/Makefile create mode 100644 tools/pkg-config/Makefile create mode 100755 tools/pkg-config/files/pkg-config create mode 100644 tools/pkg-config/patches/001-glib-gdate-suppress-string-format-literal-warning.patch create mode 100644 tools/ppl/Makefile create mode 100644 tools/ppl/patches/001-disable-serial-tests.patch create mode 100644 tools/qemu/Makefile create mode 100644 tools/quilt/Makefile create mode 100644 tools/quilt/patches/000-relocatable.patch create mode 100644 tools/quilt/patches/001-fix_compile.patch create mode 100644 tools/scons/Makefile create mode 100755 tools/scons/files/pywrap.sh create mode 100644 tools/scons/patches/001-platform_env.patch create mode 100644 tools/sdimage/Makefile create mode 100644 tools/sed/Makefile create mode 100644 tools/sed/patches/001-musl_host_fixup.patch create mode 100644 tools/sparse/Makefile create mode 100644 tools/squashfs/Makefile create mode 100644 tools/squashfs/patches/100-lzma.patch create mode 100644 tools/squashfs/patches/110-no_nonstatic_inline.patch create mode 100644 tools/squashfs/patches/120-add-fixed-timestamp-support.patch create mode 100644 tools/squashfs4/Makefile create mode 100644 tools/squashfs4/patches/100-portability.patch create mode 100644 tools/squashfs4/patches/110-allow_static_liblzma.patch create mode 100644 tools/squashfs4/patches/120-cygwin_fixes.patch create mode 100644 tools/squashfs4/patches/150-freebsd_fixes.patch create mode 100644 tools/squashfs4/patches/160-expose_lzma_xz_options.patch create mode 100644 tools/squashfs4/patches/170-add_support_for_LZMA_MAGIC_to_unsqashfs.patch create mode 100644 tools/squashfs4/patches/180-openbsd_compat.patch create mode 100644 tools/squashfs4/patches/190-no_nonstatic_inline.patch create mode 100644 tools/squashfs4/patches/200-add-fixed-timestamp-option.patch create mode 100644 tools/sstrip/Makefile create mode 100644 tools/sstrip/src/sstrip.c create mode 100644 tools/tar/Makefile create mode 100644 tools/upslug2/Makefile create mode 100644 tools/upslug2/patches/100-libpcap_fix.patch create mode 100644 tools/upslug2/patches/110-wrt350nv2_support.patch create mode 100644 tools/upx/Makefile create mode 100644 tools/upx/patches/100-lzmaonly.patch create mode 100644 tools/wrt350nv2-builder/Makefile create mode 100644 tools/wrt350nv2-builder/src/crypt.h create mode 100644 tools/wrt350nv2-builder/src/ioapi.c create mode 100644 tools/wrt350nv2-builder/src/ioapi.h create mode 100644 tools/wrt350nv2-builder/src/md5.c create mode 100644 tools/wrt350nv2-builder/src/md5.h create mode 100644 tools/wrt350nv2-builder/src/upgrade.h create mode 100644 tools/wrt350nv2-builder/src/wrt350nv2-builder.c create mode 100644 tools/xz/Makefile create mode 100644 tools/yaffs2/Makefile create mode 100644 tools/yaffs2/patches/100-compile.patch create mode 100644 tools/yaffs2/patches/110-openbsd-compat.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..fa1385d99a --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..cd86e34cda --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +*.o +.DS_Store +.*.swp +/env +/dl +/.config +/.config.old +/bin +/build_dir +/staging_dir +/tmp +/logs +/feeds +/feeds.conf +/files +/package/feeds +/package/openwrt-packages +key-build* +*.orig +*.rej +*~ +.#* +*# +.emacs.desktop* +TAGS*~ +git-src diff --git a/BSDmakefile b/BSDmakefile new file mode 100644 index 0000000000..c6a0425698 --- /dev/null +++ b/BSDmakefile @@ -0,0 +1,7 @@ +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +world ${.TARGETS}: + @gmake $@ diff --git a/Config.in b/Config.in new file mode 100644 index 0000000000..47391703b5 --- /dev/null +++ b/Config.in @@ -0,0 +1,34 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +mainmenu "libreCMC Configuration" + +config MODULES + option modules + bool + default y + +config HAVE_DOT_CONFIG + bool + default y + +source "target/Config.in" + +source "config/Config-images.in" + +source "config/Config-build.in" + +source "config/Config-devel.in" + +source "toolchain/Config.in" + +source "target/imagebuilder/Config.in" + +source "target/sdk/Config.in" + +source "target/toolchain/Config.in" + +source "tmp/.config-package.in" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..d60c31a97a --- /dev/null +++ b/LICENSE @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..febb1c8d15 --- /dev/null +++ b/Makefile @@ -0,0 +1,96 @@ +# Makefile for OpenWrt +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +TOPDIR:=${CURDIR} +LC_ALL:=C +LANG:=C +TZ:=UTC +export TOPDIR LC_ALL LANG TZ + +empty:= +space:= $(empty) $(empty) +$(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the libreCMC directory must not include any spaces)) + +world: + +include $(TOPDIR)/include/host.mk + +ifneq ($(OPENWRT_BUILD),1) + _SINGLE=export MAKEFLAGS=$(space); + + override OPENWRT_BUILD=1 + export OPENWRT_BUILD + GREP_OPTIONS= + export GREP_OPTIONS + include $(TOPDIR)/include/debug.mk + include $(TOPDIR)/include/depends.mk + include $(TOPDIR)/include/toplevel.mk +else + include rules.mk + include $(INCLUDE_DIR)/depends.mk + include $(INCLUDE_DIR)/subdir.mk + include target/Makefile + include package/Makefile + include tools/Makefile + include toolchain/Makefile + +$(toolchain/stamp-install): $(tools/stamp-install) +$(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(BUILD_DIR)/.prepared +$(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup) +$(package/stamp-install): $(package/stamp-compile) +$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) + +printdb: + @true + +prepare: $(target/stamp-compile) + +clean: FORCE + rm -rf $(BUILD_DIR) $(STAGING_DIR) $(BIN_DIR) $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES) $(BUILD_LOG_DIR) $(TOPDIR)/staging_dir/packages + +dirclean: clean + rm -rf $(STAGING_DIR_HOST) $(TOOLCHAIN_DIR) $(BUILD_DIR_HOST) $(BUILD_DIR_TOOLCHAIN) + rm -rf $(TMP_DIR) + +ifndef DUMP_TARGET_DB +$(BUILD_DIR)/.prepared: Makefile + @mkdir -p $$(dirname $@) + @touch $@ + +tmp/.prereq_packages: .config + unset ERROR; \ + for package in $(sort $(prereq-y) $(prereq-m)); do \ + $(_SINGLE)$(NO_TRACE_MAKE) -s -r -C package/$$package prereq || ERROR=1; \ + done; \ + if [ -n "$$ERROR" ]; then \ + echo "Package prerequisite check failed."; \ + false; \ + fi + touch $@ +endif + +# check prerequisites before starting to build +prereq: $(target/stamp-prereq) tmp/.prereq_packages + @if [ ! -f "$(INCLUDE_DIR)/site/$(ARCH)" ]; then \ + echo 'ERROR: Missing site config for architecture "$(ARCH)" !'; \ + echo ' The missing file will cause configure scripts to fail during compilation.'; \ + echo ' Please provide a "$(INCLUDE_DIR)/site/$(ARCH)" file and restart the build.'; \ + exit 1; \ + fi + +checksum: FORCE + $(call sha256sums,$(BIN_DIR)) + +prepare: .config $(tools/stamp-install) $(toolchain/stamp-install) +world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE + $(_SINGLE)$(SUBMAKE) -r package/index + $(_SINGLE)$(SUBMAKE) -r checksum + +.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean + +endif diff --git a/config/Config-build.in b/config/Config-build.in new file mode 100644 index 0000000000..7c82e8b3b7 --- /dev/null +++ b/config/Config-build.in @@ -0,0 +1,293 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# Copyright (C) 2016 LEDE Project +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +menu "Global build settings" + + config ALL_NONSHARED + bool "Select all target specific packages by default" + default ALL + + config ALL_KMODS + bool "Select all kernel module packages by default" + default ALL + + config ALL + bool "Select all userspace packages by default" + default n + + config SIGNED_PACKAGES + bool "Cryptographically signed package lists" + default y + + comment "General build options" + + config DISPLAY_SUPPORT + bool "Show packages that require graphics support (local or remote)" + default n + + config BUILD_PATENTED + default y + bool "Compile with support for patented functionality" + help + When this option is disabled, software which provides patented functionality + will not be built. In case software provides optional support for patented + functionality, this optional support will get disabled for this package. + + config BUILD_NLS + default n + bool "Compile with full language support" + help + When this option is enabled, packages are built with the full versions of + iconv and GNU gettext instead of the default OpenWrt stubs. If uClibc is + used, it is also built with locale support. + + config SHADOW_PASSWORDS + bool + default y + + config CLEAN_IPKG + bool + prompt "Remove ipkg/opkg status data files in final images" + default n + help + This removes all ipkg/opkg status data files from the target directory + before building the root filesystem. + + config COLLECT_KERNEL_DEBUG + bool + prompt "Collect kernel debug information" + select KERNEL_DEBUG_INFO + default n + help + This collects debugging symbols from the kernel and all compiled modules. + Useful for release builds, so that kernel issues can be debugged offline + later. + + comment "Kernel build options" + + source "config/Config-kernel.in" + + comment "Package build options" + + config DEBUG + bool + prompt "Compile packages with debugging info" + default n + help + Adds -g3 to the CFLAGS. + + config IPV6 + bool + prompt "Enable IPv6 support in packages" + default y + help + Enables IPv6 support in kernel (builtin) and packages. + + config PKG_BUILD_PARALLEL + bool + prompt "Compile certain packages parallelized" + default y + help + This adds a -jX option to certain packages that are known to behave well + for parallel build. By default, the package make processes use the main + jobserver, in which case this option only takes effect when you add -jX + to the make command. + + If you are unsure, select N. + + config PKG_BUILD_USE_JOBSERVER + bool + prompt "Use top-level make jobserver for packages" + depends on PKG_BUILD_PARALLEL + default y + help + This passes the main make process jobserver fds to package builds, + enabling full parallelization across different packages. + + Note that disabling this may overcommit CPU resources depending on the + -j level of the main make process, the number of package submake jobs + selected below and the number of actual CPUs present. + Example: If the main make is passed a -j4 and the submake -j + is also set to 4, we may end up with 16 parallel make processes + in the worst case. + + config PKG_BUILD_JOBS + int + prompt "Number of package submake jobs (2-512)" + range 2 512 + default 2 + depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER + help + The number of jobs (-jX) to pass to packages submake. + + config PKG_DEFAULT_PARALLEL + bool + prompt "Parallelize the default package build rule (May break build)" + depends on PKG_BUILD_PARALLEL + depends on BROKEN + default n + help + Always set the default package build rules to parallel build. + + WARNING: This may break build or kill your cat, as it builds packages + with multiple jobs that are probably not tested in a parallel build + environment. + + Only say Y if you don't mind fixing broken packages. Before reporting + build bugs, set this to N and re-run the build. + + comment "Stripping options" + + choice + prompt "Binary stripping method" + default USE_STRIP if EXTERNAL_TOOLCHAIN + default USE_STRIP if USE_GLIBC + default USE_SSTRIP + help + Select the binary stripping method you wish to use. + + config NO_STRIP + bool "none" + help + This will install unstripped binaries (useful for native + compiling/debugging). + + config USE_STRIP + bool "strip" + help + This will install binaries stripped using strip from binutils. + + + config USE_SSTRIP + bool "sstrip" + depends on !USE_GLIBC + help + This will install binaries stripped using sstrip. + endchoice + + config STRIP_ARGS + string + prompt "Strip arguments" + depends on USE_STRIP + default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG + default "--strip-all" + help + Specifies arguments passed to the strip command when stripping binaries. + + config STRIP_KERNEL_EXPORTS + bool "Strip unnecessary exports from the kernel image" + help + Reduces kernel size by stripping unused kernel exports from the kernel + image. Note that this might make the kernel incompatible with any kernel + modules that were not selected at the time the kernel image was created. + + config USE_MKLIBS + bool "Strip unnecessary functions from libraries" + help + Reduces libraries to only those functions that are necessary for using all + selected packages (including those selected as ). Note that this will + make the system libraries incompatible with most of the packages that are + not selected during the build process. + + choice + prompt "Preferred standard C++ library" + default USE_LIBSTDCXX if USE_GLIBC + default USE_UCLIBCXX + help + Select the preferred standard C++ library for all packages that support this. + + config USE_UCLIBCXX + bool "uClibc++" + + config USE_LIBSTDCXX + bool "libstdc++" + endchoice + + comment "Hardening build options" + + config PKG_CHECK_FORMAT_SECURITY + bool + prompt "Enable gcc format-security" + default y + help + Add -Wformat -Werror=format-security to the CFLAGS. You can disable + this per package by adding PKG_CHECK_FORMAT_SECURITY:=0 in the package + Makefile. + + choice + prompt "User space Stack-Smashing Protection" + depends on USE_MUSL + default PKG_CC_STACKPROTECTOR_REGULAR + help + Enable GCC Stack Smashing Protection (SSP) for userspace applications + config PKG_CC_STACKPROTECTOR_NONE + bool "None" + config PKG_CC_STACKPROTECTOR_REGULAR + bool "Regular" + select SSP_SUPPORT if !USE_MUSL + depends on KERNEL_CC_STACKPROTECTOR_REGULAR + config PKG_CC_STACKPROTECTOR_STRONG + bool "Strong" + select SSP_SUPPORT if !USE_MUSL + depends on !GCC_VERSION_4_8 + depends on KERNEL_CC_STACKPROTECTOR_STRONG + endchoice + + choice + prompt "Kernel space Stack-Smashing Protection" + default KERNEL_CC_STACKPROTECTOR_REGULAR + depends on USE_MUSL || !(x86_64 || i386) + help + Enable GCC Stack-Smashing Protection (SSP) for the kernel + config KERNEL_CC_STACKPROTECTOR_NONE + bool "None" + config KERNEL_CC_STACKPROTECTOR_REGULAR + bool "Regular" + config KERNEL_CC_STACKPROTECTOR_STRONG + depends on !GCC_VERSION_4_8 + bool "Strong" + endchoice + + choice + prompt "Enable buffer-overflows detection (FORTIFY_SOURCE)" + default PKG_FORTIFY_SOURCE_1 + help + Enable the _FORTIFY_SOURCE macro which introduces additional + checks to detect buffer-overflows in the following standard library + functions: memcpy, mempcpy, memmove, memset, strcpy, stpcpy, + strncpy, strcat, strncat, sprintf, vsprintf, snprintf, vsnprintf, + gets. "Conservative" (_FORTIFY_SOURCE set to 1) only introduces + checks that shouldn't change the behavior of conforming programs, + while "aggressive" (_FORTIFY_SOURCES set to 2) some more checking is + added, but some conforming programs might fail. + config PKG_FORTIFY_SOURCE_NONE + bool "None" + config PKG_FORTIFY_SOURCE_1 + bool "Conservative" + config PKG_FORTIFY_SOURCE_2 + bool "Aggressive" + endchoice + + choice + prompt "Enable RELRO protection" + default PKG_RELRO_FULL + help + Enable a link-time protection known as RELRO (Relocation Read Only) + which helps to protect from certain type of exploitation techniques + altering the content of some ELF sections. "Partial" RELRO makes the + .dynamic section not writeable after initialization, introducing + almost no performance penalty, while "full" RELRO also marks the GOT + as read-only at the cost of initializing all of it at startup. + config PKG_RELRO_NONE + bool "None" + config PKG_RELRO_PARTIAL + bool "Partial" + config PKG_RELRO_FULL + bool "Full" + endchoice + +endmenu diff --git a/config/Config-devel.in b/config/Config-devel.in new file mode 100644 index 0000000000..938f0b3c9c --- /dev/null +++ b/config/Config-devel.in @@ -0,0 +1,112 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +menuconfig DEVEL + bool "Advanced configuration options (for developers)" + default n + + config BROKEN + bool "Show broken platforms / packages" if DEVEL + default n + + config BINARY_FOLDER + string "Binary folder" if DEVEL + default "" + help + Store built firmware images and filesystem images in this directory. + If not set, uses './bin/$(BOARD)' + + config DOWNLOAD_FOLDER + string "Download folder" if DEVEL + default "" + help + Store downloaded source bundles in this directory. + If not set then defaults to './dl', which is removed by operations such as + 'git clean -xdf' or 'make distclean'. + This option is useful if you have a low bandwidth Internet connection, and by + setting a path outside the OpenWrt tree downloads will be saved. + + config LOCALMIRROR + string "Local mirror for source packages" if DEVEL + default "" + + config AUTOREBUILD + bool "Automatic rebuild of packages" if DEVEL + default y + help + Automatically rebuild packages when their files change. + + config BUILD_SUFFIX + string "Build suffix to append to the target BUILD_DIR variable" if DEVEL + default "" + help + Build suffix to append to the BUILD_DIR variable, i.e: './build_dir/{target-build-dir}_$(BUILD_SUFFIX)'. + This allows you to switch to a different .config whilst retaining all the build + objects generated by the first .config + + config TARGET_ROOTFS_DIR + string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL + default "" + help + Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with + custom path. Use this option to re-define the location of the target + root filesystem directory. + + config CCACHE + bool "Use ccache" if DEVEL + default n + help + Compiler cache; see http://ccache.samba.org/. + + config EXTERNAL_KERNEL_TREE + string "Use external kernel tree" if DEVEL + default "" + + config KERNEL_GIT_CLONE_URI + string "Enter git repository to clone" if DEVEL + default "" + help + Enter the full git repository path i.e.: + git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + This will create a git clone of the kernel in your build directory. + + config KERNEL_GIT_LOCAL_REPOSITORY + string "Enter path to local reference repository" if DEVEL + depends on (KERNEL_GIT_CLONE_URI != "") + default "" + help + Enter a full pathname to a local reference git repository. + In this instance, the --reference option of git clone will + be used thus creating a quick local clone of your repo. + + config KERNEL_GIT_BRANCH + string "Enter git branch to clone" if DEVEL + depends on (KERNEL_GIT_CLONE_URI != "") + default "" + help + Enter the branch name to checkout after cloning the git repository. + In this instance, the --branch option of git clone will be used. + If unused, the clone's repository HEAD will be checked-out. + + config BUILD_LOG + bool "Enable log files during build process" if DEVEL + help + If enabled, log files will be written to the ./log directory. + + config SRC_TREE_OVERRIDE + bool "Enable package source tree override" if DEVEL + help + If enabled, you can force a package to use a git tree as source + code instead of the normal tarball. Create a symlink 'git-src' + in the package directory, pointing to the .git tree that you want + to pull the source code from. + + config EXTRA_OPTIMIZATION + string "Additional compiler options" if DEVEL + default "-fno-caller-saves -fno-plt" if !CONFIG_EXTERNAL_TOOLCHAIN && !arc + default "-fno-caller-saves" + help + Extra target-independent optimizations to use when building for the target. diff --git a/config/Config-images.in b/config/Config-images.in new file mode 100644 index 0000000000..3c76c6236e --- /dev/null +++ b/config/Config-images.in @@ -0,0 +1,269 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +menu "Target Images" + + menuconfig TARGET_ROOTFS_INITRAMFS + bool "ramdisk" + default y if USES_INITRAMFS + help + Embed the root filesystem into the kernel (initramfs). + + choice + prompt "Compression" + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx + default TARGET_INITRAMFS_COMPRESSION_NONE + depends on TARGET_ROOTFS_INITRAMFS + help + Select ramdisk compression. + + config TARGET_INITRAMFS_COMPRESSION_NONE + bool "none" + + config TARGET_INITRAMFS_COMPRESSION_GZIP + bool "gzip" + + config TARGET_INITRAMFS_COMPRESSION_BZIP2 + bool "bzip2" + + config TARGET_INITRAMFS_COMPRESSION_LZMA + bool "lzma" + + config TARGET_INITRAMFS_COMPRESSION_LZO + bool "lzo" + + config TARGET_INITRAMFS_COMPRESSION_LZ4 + bool "lz4" + + config TARGET_INITRAMFS_COMPRESSION_XZ + bool "xz" + endchoice + + config EXTERNAL_CPIO + string + prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS + default "" + help + Kernel uses specified external cpio as INITRAMFS_SOURCE. + + comment "Root filesystem archives" + + config TARGET_ROOTFS_CPIOGZ + bool "cpio.gz" + default y if USES_CPIOGZ + help + Build a compressed cpio archive of the root filesystem. + + config TARGET_ROOTFS_TARGZ + bool "tar.gz" + default y if USES_TARGZ + help + Build a compressed tar archive of the root filesystem. + + comment "Root filesystem images" + + menuconfig TARGET_ROOTFS_EXT4FS + bool "ext4" + default y if USES_EXT4 + help + Build an ext4 root filesystem. + + config TARGET_EXT4_RESERVED_PCT + int "Percentage of reserved blocks in root filesystem" + depends on TARGET_ROOTFS_EXT4FS + default 0 + help + Select the percentage of reserved blocks in the root filesystem. + + choice + prompt "Root filesystem block size" + default TARGET_EXT4_BLOCKSIZE_4K + depends on TARGET_ROOTFS_EXT4FS + help + Select the block size of the root filesystem. + + config TARGET_EXT4_BLOCKSIZE_4K + bool "4k" + + config TARGET_EXT4_BLOCKSIZE_2K + bool "2k" + + config TARGET_EXT4_BLOCKSIZE_1K + bool "1k" + endchoice + + config TARGET_EXT4_BLOCKSIZE + int + default 4096 if TARGET_EXT4_BLOCKSIZE_4K + default 2048 if TARGET_EXT4_BLOCKSIZE_2K + default 1024 if TARGET_EXT4_BLOCKSIZE_1K + depends on TARGET_ROOTFS_EXT4FS + + config TARGET_EXT4_JOURNAL + bool "Create a journaling filesystem" + depends on TARGET_ROOTFS_EXT4FS + default n + help + Create an ext4 filesystem with a journal. + + config TARGET_ROOTFS_ISO + bool "iso" + default n + depends on TARGET_x86_generic + help + Create a bootable ISO image. + + config TARGET_ROOTFS_JFFS2 + bool "jffs2" + depends on USES_JFFS2 + help + Build a JFFS2 root filesystem. + + config TARGET_ROOTFS_JFFS2_NAND + bool "jffs2 for NAND" + default y if USES_JFFS2_NAND + depends on USES_JFFS2_NAND + help + Build a JFFS2 root filesystem for NAND flash. + + menuconfig TARGET_ROOTFS_SQUASHFS + bool "squashfs" + default y if USES_SQUASHFS + help + Build a squashfs-lzma root filesystem. + + config TARGET_SQUASHFS_BLOCK_SIZE + int "Block size (in KiB)" + depends on TARGET_ROOTFS_SQUASHFS + default 64 if LOW_MEMORY_FOOTPRINT + default 256 + + menuconfig TARGET_ROOTFS_UBIFS + bool "ubifs" + default y if USES_UBIFS + depends on USES_UBIFS + help + Build a UBIFS root filesystem. + + choice + prompt "compression" + default TARGET_UBIFS_COMPRESSION_ZLIB + depends on TARGET_ROOTFS_UBIFS + help + Select compression type + + config TARGET_UBIFS_COMPRESSION_NONE + bool "none" + + config TARGET_UBIFS_COMPRESSION_LZO + bool "lzo" + + config TARGET_UBIFS_COMPRESSION_ZLIB + bool "zlib" + endchoice + + config TARGET_UBIFS_FREE_SPACE_FIXUP + bool "free space fixup" if TARGET_ROOTFS_UBIFS + default y + help + The filesystem free space has to be fixed up on first mount. + + config TARGET_UBIFS_JOURNAL_SIZE + string + prompt "journal size" if TARGET_ROOTFS_UBIFS + default "" + + config GRUB_IMAGES + bool "Build GRUB images (Linux x86 or x86_64 host only)" + depends on TARGET_x86 + depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS + select PACKAGE_grub2 + default y + + config GRUB_CONSOLE + bool "Use Console Terminal (in addition to Serial)" + depends on GRUB_IMAGES + default n if (TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501 || TARGET_x86_geos || TARGET_x86_alix2) + default y + + config GRUB_SERIAL + string "Serial port device" + depends on GRUB_IMAGES + default "hvc0" if TARGET_x86_xen_domu + default "ttyS0" if ! TARGET_x86_xen_domu + + config GRUB_BAUDRATE + int "Serial port baud rate" + depends on GRUB_IMAGES + default 38400 if TARGET_x86_generic + default 38400 if TARGET_x86_geode + default 115200 + + config GRUB_BOOTOPTS + string "Extra kernel boot options" + depends on GRUB_IMAGES + default "xencons=hvc" if TARGET_x86_xen_domu + help + If you don't know, just leave it blank. + + config GRUB_TIMEOUT + string "Seconds to wait before booting the default entry" + depends on GRUB_IMAGES + default "5" + help + If you don't know, 5 seconds is a reasonable default. + + config VDI_IMAGES + bool "Build VirtualBox image files (VDI)" + depends on TARGET_x86 || TARGET_x86_64 + select GRUB_IMAGES + select TARGET_IMAGES_PAD + select PACKAGE_kmod-e1000 + + config VMDK_IMAGES + bool "Build VMware image files (VMDK)" + depends on TARGET_x86 || TARGET_x86_64 + select GRUB_IMAGES + select TARGET_IMAGES_PAD + select PACKAGE_kmod-e1000 + + config TARGET_IMAGES_PAD + bool "Pad images to filesystem size (for JFFS2)" + depends on GRUB_IMAGES + + config TARGET_IMAGES_GZIP + bool "GZip images" + depends on TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS + default y + + comment "Image Options" + + source "target/linux/*/image/Config.in" + + config TARGET_KERNEL_PARTSIZE + int "Kernel partition size (in MB)" + depends on GRUB_IMAGES + default 16 + + config TARGET_ROOTFS_PARTSIZE + int "Root filesystem partition size (in MB)" + depends on GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532 || TARGET_mvebu || TARGET_uml + default 2048 if TARGET_x86 + default 256 if ! TARGET_x86 + help + Select the root filesystem partition size. + + config TARGET_ROOTFS_PARTNAME + string "Root partition on target device" + depends on GRUB_IMAGES + help + Override the root partition on the final device. If left empty, + it will be mounted by PARTUUID which makes the kernel find the + appropriate disk automatically. + +endmenu diff --git a/config/Config-kernel.in b/config/Config-kernel.in new file mode 100644 index 0000000000..d8ca76cf1d --- /dev/null +++ b/config/Config-kernel.in @@ -0,0 +1,739 @@ +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +config KERNEL_BUILD_USER + string "Custom Kernel Build User Name" + default "" + help + Sets the Kernel build user string, which for example will be returned + by 'uname -a' on running systems. + If not set, uses system user at build time. + +config KERNEL_BUILD_DOMAIN + string "Custom Kernel Build Domain Name" + default "" + help + Sets the Kernel build domain string, which for example will be + returned by 'uname -a' on running systems. + If not set, uses system hostname at build time. + +config KERNEL_PRINTK + bool "Enable support for printk" + default y + +config KERNEL_CRASHLOG + bool "Crash logging" + depends on !(arm || powerpc || sparc || TARGET_uml) + default y + +config KERNEL_SWAP + bool "Support for paging of anonymous memory (swap)" + default y + +config KERNEL_DEBUG_FS + bool "Compile the kernel with debug filesystem enabled" + default y + help + debugfs is a virtual file system that kernel developers use to put + debugging files into. Enable this option to be able to read and + write to these files. Many common debugging facilities, such as + ftrace, require the existence of debugfs. + +config KERNEL_ARM_PMU + bool + default n + depends on (arm || arm64) + +config KERNEL_PERF_EVENTS + bool + default n + select KERNEL_ARM_PMU if (arm || arm64) + +config KERNEL_PROFILING + bool "Compile the kernel with profiling enabled" + default n + select KERNEL_PERF_EVENTS + help + Enable the extended profiling support mechanisms used by profilers such + as OProfile. + +config KERNEL_KALLSYMS + bool "Compile the kernel with symbol table information" + default y if !SMALL_FLASH + help + This will give you more information in stack traces from kernel oopses. + +config KERNEL_FTRACE + bool "Compile the kernel with tracing support" + depends on !TARGET_uml + default n + +config KERNEL_FTRACE_SYSCALLS + bool "Trace system calls" + depends on KERNEL_FTRACE + default n + +config KERNEL_ENABLE_DEFAULT_TRACERS + bool "Trace process context switches and events" + depends on KERNEL_FTRACE + default n + +config KERNEL_FUNCTION_TRACER + bool "Function tracer" + depends on KERNEL_FTRACE + default n + +config KERNEL_FUNCTION_GRAPH_TRACER + bool "Function graph tracer" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_DYNAMIC_FTRACE + bool "Enable/disable function tracing dynamically" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_FUNCTION_PROFILER + bool "Function profiler" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_DEBUG_KERNEL + bool + default n + +config KERNEL_DEBUG_INFO + bool "Compile the kernel with debug information" + default y + select KERNEL_DEBUG_KERNEL + help + This will compile your kernel and modules with debug information. + +config KERNEL_DEBUG_LL_UART_NONE + bool + default n + depends on arm + +config KERNEL_DEBUG_LL + bool + default n + depends on arm + select KERNEL_DEBUG_LL_UART_NONE + help + ARM low level debugging. + +config KERNEL_DYNAMIC_DEBUG + bool "Compile the kernel with dynamic printk" + select KERNEL_DEBUG_FS + default n + help + Compiles debug level messages into the kernel, which would not + otherwise be available at runtime. These messages can then be + enabled/disabled based on various levels of scope - per source file, + function, module, format string, and line number. This mechanism + implicitly compiles in all pr_debug() and dev_dbg() calls, which + enlarges the kernel text size by about 2%. + +config KERNEL_EARLY_PRINTK + bool "Compile the kernel with early printk" + default y if TARGET_bcm53xx + default n + depends on arm + select KERNEL_DEBUG_KERNEL + select KERNEL_DEBUG_LL if arm + help + Compile the kernel with early printk support. This is only useful for + debugging purposes to send messages over the serial console in early boot. + Enable this to debug early boot problems. + +config KERNEL_KPROBES + bool "Compile the kernel with kprobes support" + default n + select KERNEL_FTRACE + select KERNEL_PERF_EVENTS + help + Compiles the kernel with KPROBES support, which allows you to trap + at almost any kernel address and execute a callback function. + register_kprobe() establishes a probepoint and specifies the + callback. Kprobes is useful for kernel debugging, non-intrusive + instrumentation and testing. + If in doubt, say "N". + +config KERNEL_KPROBE_EVENT + bool + default y if KERNEL_KPROBES + +config KERNEL_AIO + bool "Compile the kernel with asynchronous IO support" + default n + +config KERNEL_DIRECT_IO + bool "Compile the kernel with direct IO support" + default n + +config KERNEL_FHANDLE + bool "Compile the kernel with support for fhandle syscalls" + default n + +config KERNEL_FANOTIFY + bool "Compile the kernel with modern file notification support" + default n + +config KERNEL_BLK_DEV_BSG + bool "Compile the kernel with SCSI generic v4 support for any block device" + default n + +config KERNEL_MAGIC_SYSRQ + bool "Compile the kernel with SysRq support" + default y + +config KERNEL_COREDUMP + bool + +config KERNEL_ELF_CORE + bool "Enable process core dump support" + select KERNEL_COREDUMP + default y + +config KERNEL_PROVE_LOCKING + bool "Enable kernel lock checking" + select KERNEL_DEBUG_KERNEL + default n + +config KERNEL_PRINTK_TIME + bool "Enable printk timestamps" + default y + +config KERNEL_SLUB_DEBUG + bool + +config KERNEL_SLUB_DEBUG_ON + bool + +config KERNEL_SLABINFO + select KERNEL_SLUB_DEBUG + select KERNEL_SLUB_DEBUG_ON + bool "Enable /proc slab debug info" + +config KERNEL_PROC_PAGE_MONITOR + bool "Enable /proc page monitoring" + +config KERNEL_RELAY + bool + +config KERNEL_KEXEC + bool "Enable kexec support" + +config USE_RFKILL + bool "Enable rfkill support" + default RFKILL_SUPPORT + +config USE_SPARSE + bool "Enable sparse check during kernel build" + default n + +config KERNEL_DEVTMPFS + bool "Compile the kernel with device tmpfs enabled" + default n + help + devtmpfs is a simple, kernel-managed /dev filesystem. The kernel creates + devices nodes for all registered devices ti simplify boot, but leaves more + complex tasks to userspace (e.g. udev). + +if KERNEL_DEVTMPFS + + config KERNEL_DEVTMPFS_MOUNT + bool "Automatically mount devtmpfs after root filesystem is mounted" + default n + +endif + +config KERNEL_KEYS + bool "Enable kernel access key retention support" + default n + +config KERNEL_PERSISTENT_KEYRINGS + bool "Enable kernel persistent keyrings" + depends on KERNEL_KEYS + default n + +config KERNEL_BIG_KEYS + bool "Enable large payload keys on kernel keyrings" + depends on KERNEL_KEYS + default n + +config KERNEL_ENCRYPTED_KEYS + tristate "Enable keys with encrypted payloads on kernel keyrings" + depends on KERNEL_KEYS + default n + +# +# CGROUP support symbols +# + +config KERNEL_CGROUPS + bool "Enable kernel cgroups" + default n + +if KERNEL_CGROUPS + + config KERNEL_CGROUP_DEBUG + bool "Example debug cgroup subsystem" + default n + help + This option enables a simple cgroup subsystem that + exports useful debugging information about the cgroups + framework. + + config KERNEL_FREEZER + bool + default y if KERNEL_CGROUP_FREEZER + + config KERNEL_CGROUP_FREEZER + bool "Freezer cgroup subsystem" + default y + help + Provides a way to freeze and unfreeze all tasks in a + cgroup. + + config KERNEL_CGROUP_DEVICE + bool "Device controller for cgroups" + default y + help + Provides a cgroup implementing whitelists for devices which + a process in the cgroup can mknod or open. + + config KERNEL_CGROUP_PIDS + bool "PIDs cgroup subsystem" + default y + help + Provides enforcement of process number limits in the scope of a + cgroup. + + config KERNEL_CPUSETS + bool "Cpuset support" + default n + help + This option will let you create and manage CPUSETs which + allow dynamically partitioning a system into sets of CPUs and + Memory Nodes and assigning tasks to run only within those sets. + This is primarily useful on large SMP or NUMA systems. + + config KERNEL_PROC_PID_CPUSET + bool "Include legacy /proc//cpuset file" + default n + depends on KERNEL_CPUSETS + + config KERNEL_CGROUP_CPUACCT + bool "Simple CPU accounting cgroup subsystem" + default n + help + Provides a simple Resource Controller for monitoring the + total CPU consumed by the tasks in a cgroup. + + config KERNEL_RESOURCE_COUNTERS + bool "Resource counters" + default n + help + This option enables controller independent resource accounting + infrastructure that works with cgroups. + + config KERNEL_MM_OWNER + bool + default y if KERNEL_MEMCG + + config KERNEL_MEMCG + bool "Memory Resource Controller for Control Groups" + default n + depends on KERNEL_RESOURCE_COUNTERS || !LINUX_3_18 + help + Provides a memory resource controller that manages both anonymous + memory and page cache. (See Documentation/cgroups/memory.txt) + + Note that setting this option increases fixed memory overhead + associated with each page of memory in the system. By this, + 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory + usage tracking struct at boot. Total amount of this is printed out + at boot. + + Only enable when you're ok with these tradeoffs and really + sure you need the memory resource controller. Even when you enable + this, you can set "cgroup_disable=memory" at your boot option to + disable memory resource controller and you can avoid overheads + (but lose benefits of memory resource controller). + + This config option also selects MM_OWNER config option, which + could in turn add some fork/exit overhead. + + config KERNEL_MEMCG_SWAP + bool "Memory Resource Controller Swap Extension" + default n + depends on KERNEL_MEMCG + help + Add swap management feature to memory resource controller. When you + enable this, you can limit mem+swap usage per cgroup. In other words, + when you disable this, memory resource controller has no cares to + usage of swap...a process can exhaust all of the swap. This extension + is useful when you want to avoid exhaustion swap but this itself + adds more overheads and consumes memory for remembering information. + Especially if you use 32bit system or small memory system, please + be careful about enabling this. When memory resource controller + is disabled by boot option, this will be automatically disabled and + there will be no overhead from this. Even when you set this config=y, + if boot option "swapaccount=0" is set, swap will not be accounted. + Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page + size is 4096bytes, 512k per 1Gbytes of swap. + + config KERNEL_MEMCG_SWAP_ENABLED + bool "Memory Resource Controller Swap Extension enabled by default" + default n + depends on KERNEL_MEMCG_SWAP + help + Memory Resource Controller Swap Extension comes with its price in + a bigger memory consumption. General purpose distribution kernels + which want to enable the feature but keep it disabled by default + and let the user enable it by swapaccount boot command line + parameter should have this option unselected. + + Those who want to have the feature enabled by default should + select this option (if, for some reason, they need to disable it, + then swapaccount=0 does the trick). + + + config KERNEL_MEMCG_KMEM + bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)" + default n + depends on KERNEL_MEMCG + help + The Kernel Memory extension for Memory Resource Controller can limit + the amount of memory used by kernel objects in the system. Those are + fundamentally different from the entities handled by the standard + Memory Controller, which are page-based, and can be swapped. Users of + the kmem extension can use it to guarantee that no group of processes + will ever exhaust kernel resources alone. + + config KERNEL_CGROUP_PERF + bool "Enable perf_event per-cpu per-container group (cgroup) monitoring" + select KERNEL_PERF_EVENTS + default n + help + This option extends the per-cpu mode to restrict monitoring to + threads which belong to the cgroup specified and run on the + designated cpu. + + menuconfig KERNEL_CGROUP_SCHED + bool "Group CPU scheduler" + default n + help + This feature lets CPU scheduler recognize task groups and control CPU + bandwidth allocation to such task groups. It uses cgroups to group + tasks. + + if KERNEL_CGROUP_SCHED + + config KERNEL_FAIR_GROUP_SCHED + bool "Group scheduling for SCHED_OTHER" + default n + + config KERNEL_CFS_BANDWIDTH + bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED" + default n + depends on KERNEL_FAIR_GROUP_SCHED + help + This option allows users to define CPU bandwidth rates (limits) for + tasks running within the fair group scheduler. Groups with no limit + set are considered to be unconstrained and will run with no + restriction. + See tip/Documentation/scheduler/sched-bwc.txt for more information. + + config KERNEL_RT_GROUP_SCHED + bool "Group scheduling for SCHED_RR/FIFO" + default n + help + This feature lets you explicitly allocate real CPU bandwidth + to task groups. If enabled, it will also make it impossible to + schedule realtime tasks for non-root users until you allocate + realtime bandwidth for them. + + endif + + config KERNEL_BLK_CGROUP + bool "Block IO controller" + default y + help + Generic block IO controller cgroup interface. This is the common + cgroup interface which should be used by various IO controlling + policies. + + Currently, CFQ IO scheduler uses it to recognize task groups and + control disk bandwidth allocation (proportional time slice allocation) + to such task groups. It is also used by bio throttling logic in + block layer to implement upper limit in IO rates on a device. + + This option only enables generic Block IO controller infrastructure. + One needs to also enable actual IO controlling logic/policy. For + enabling proportional weight division of disk bandwidth in CFQ, set + CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set + CONFIG_BLK_DEV_THROTTLING=y. + + config KERNEL_DEBUG_BLK_CGROUP + bool "Enable Block IO controller debugging" + default n + depends on KERNEL_BLK_CGROUP + help + Enable some debugging help. Currently it exports additional stat + files in a cgroup which can be useful for debugging. + + config KERNEL_NET_CLS_CGROUP + bool "Control Group Classifier" + default y + + config KERNEL_NETPRIO_CGROUP + bool "Network priority cgroup" + default y + +endif + +# +# Namespace support symbols +# + +config KERNEL_NAMESPACES + bool "Enable kernel namespaces" + default n + +if KERNEL_NAMESPACES + + config KERNEL_UTS_NS + bool "UTS namespace" + default y + help + In this namespace, tasks see different info provided + with the uname() system call. + + config KERNEL_IPC_NS + bool "IPC namespace" + default y + help + In this namespace, tasks work with IPC ids which correspond to + different IPC objects in different namespaces. + + config KERNEL_USER_NS + bool "User namespace (EXPERIMENTAL)" + default y + help + This allows containers, i.e. vservers, to use user namespaces + to provide different user info for different servers. + + config KERNEL_PID_NS + bool "PID Namespaces" + default y + help + Support process id namespaces. This allows having multiple + processes with the same pid as long as they are in different + pid namespaces. This is a building block of containers. + + config KERNEL_NET_NS + bool "Network namespace" + default y + help + Allow user space to create what appear to be multiple instances + of the network stack. + +endif + +# +# LXC related symbols +# + +config KERNEL_LXC_MISC + bool "Enable miscellaneous LXC related options" + default n + +if KERNEL_LXC_MISC + + config KERNEL_DEVPTS_MULTIPLE_INSTANCES + bool "Support multiple instances of devpts" + default y + help + Enable support for multiple instances of devpts filesystem. + If you want to have isolated PTY namespaces (eg: in containers), + say Y here. Otherwise, say N. If enabled, each mount of devpts + filesystem with the '-o newinstance' option will create an + independent PTY namespace. + + config KERNEL_POSIX_MQUEUE + bool "POSIX Message Queues" + default y + help + POSIX variant of message queues is a part of IPC. In POSIX message + queues every message has a priority which decides about succession + of receiving it by a process. If you want to compile and run + programs written e.g. for Solaris with use of its POSIX message + queues (functions mq_*) say Y here. + + POSIX message queues are visible as a filesystem called 'mqueue' + and can be mounted somewhere if you want to do filesystem + operations on message queues. + +endif + +config KERNEL_SECCOMP_FILTER + bool + default n + +config KERNEL_SECCOMP + bool "Enable seccomp support" + depends on !(TARGET_uml) + select KERNEL_SECCOMP_FILTER + default n + help + Build kernel with support for seccomp. + +# +# IPv6 configuration +# + +config KERNEL_IPV6 + def_bool IPV6 + +if KERNEL_IPV6 + + config KERNEL_IPV6_MULTIPLE_TABLES + def_bool y + + config KERNEL_IPV6_SUBTREES + def_bool y + + config KERNEL_IPV6_MROUTE + def_bool y + + config KERNEL_IPV6_PIMSM_V2 + def_bool n + +endif + +# +# NFS related symbols +# +config KERNEL_IP_PNP + bool "Compile the kernel with rootfs on NFS" + help + If you want to make your kernel boot off a NFS server as root + filesystem, select Y here. + +if KERNEL_IP_PNP + + config KERNEL_IP_PNP_DHCP + def_bool y + + config KERNEL_IP_PNP_BOOTP + def_bool n + + config KERNEL_IP_PNP_RARP + def_bool n + + config KERNEL_NFS_FS + def_bool y + + config KERNEL_NFS_V2 + def_bool y + + config KERNEL_NFS_V3 + def_bool y + + config KERNEL_ROOT_NFS + def_bool y + +endif + +menu "Filesystem ACL and attr support options" + config USE_FS_ACL_ATTR + bool "Use filesystem ACL and attr support by default" + default n + help + Make using ACLs (e.g. POSIX ACL, NFSv4 ACL) the default + for kernel and packages, except tmpfs, flash filesystems, + and old NFS. Also enable userspace extended attribute support + by default. (OpenWrt already has an expection it will be + present in the kernel). + + config KERNEL_FS_POSIX_ACL + bool "Enable POSIX ACL support" + default y if USE_FS_ACL_ATTR + + config KERNEL_BTRFS_FS_POSIX_ACL + bool "Enable POSIX ACL for BtrFS Filesystems" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_EXT4_FS_POSIX_ACL + bool "Enable POSIX ACL for Ext4 Filesystems" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_F2FS_FS_POSIX_ACL + bool "Enable POSIX ACL for F2FS Filesystems" + select KERNEL_FS_POSIX_ACL + default n + + config KERNEL_JFFS2_FS_POSIX_ACL + bool "Enable POSIX ACL for JFFS2 Filesystems" + select KERNEL_FS_POSIX_ACL + default n + + config KERNEL_TMPFS_POSIX_ACL + bool "Enable POSIX ACL for TMPFS Filesystems" + select KERNEL_FS_POSIX_ACL + default n + + config KERNEL_CIFS_ACL + bool "Enable CIFS ACLs" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_HFS_FS_POSIX_ACL + bool "Enable POSIX ACL for HFS Filesystems" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_HFSPLUG_FS_POSIX_ACL + bool "Enable POSIX ACL for HFS+ Filesystems" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_NFS_ACL_SUPPORT + bool "Enable ACLs for NFS" + default y if USE_FS_ACL_ATTR + + config KERNEL_NFS_V3_ACL_SUPPORT + bool "Enable ACLs for NFSv3" + default n + + config KERNEL_NFSD_V2_ACL_SUPPORT + bool "Enable ACLs for NFSDv2" + default n + + config KERNEL_NFSD_V3_ACL_SUPPORT + bool "Enable ACLs for NFSDv3" + default n + + config KERNEL_REISER_FS_POSIX_ACL + bool "Enable POSIX ACLs for ReiserFS" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_XFS_POSIX_ACL + bool "Enable POSIX ACLs for XFS" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_JFS_POSIX_ACL + bool "Enable POSIX ACLs for JFS" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + +endmenu diff --git a/feeds.conf.default b/feeds.conf.default new file mode 100644 index 0000000000..e69de29bb2 diff --git a/include/autotools.mk b/include/autotools.mk new file mode 100644 index 0000000000..63edd5bddd --- /dev/null +++ b/include/autotools.mk @@ -0,0 +1,170 @@ +# +# Copyright (C) 2007-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +autoconf_bool = $(patsubst %,$(if $($(1)),--enable,--disable)-%,$(2)) + +# delete *.la-files from staging_dir - we can not yet remove respective lines within all package +# Makefiles, since backfire still uses libtool v1.5.x which (may) require those files +define libtool_remove_files + find $(1) -name '*.la' | $(XARGS) rm -f; +endef + + +AM_TOOL_PATHS:= \ + AUTOM4TE=$(STAGING_DIR_HOST)/bin/autom4te \ + AUTOCONF=$(STAGING_DIR_HOST)/bin/autoconf \ + AUTOMAKE=$(STAGING_DIR_HOST)/bin/automake \ + ACLOCAL=$(STAGING_DIR_HOST)/bin/aclocal \ + AUTOHEADER=$(STAGING_DIR_HOST)/bin/autoheader \ + LIBTOOLIZE=$(STAGING_DIR_HOST)/bin/libtoolize \ + LIBTOOL=$(STAGING_DIR_HOST)/bin/libtool \ + M4=$(STAGING_DIR_HOST)/bin/m4 \ + AUTOPOINT=true + +# 1: build dir +# 2: remove files +# 3: automake paths +# 4: libtool paths +# 5: extra m4 dirs +define autoreconf + (cd $(1); \ + $(patsubst %,rm -f %;,$(2)) \ + $(foreach p,$(3), \ + if [ -f $(p)/configure.ac ] || [ -f $(p)/configure.in ]; then \ + [ -d $(p)/autom4te.cache ] && rm -rf autom4te.cache; \ + [ -e $(p)/config.rpath ] || \ + ln -s $(SCRIPT_DIR)/config.rpath $(p)/config.rpath; \ + touch NEWS AUTHORS COPYING ABOUT-NLS ChangeLog; \ + $(AM_TOOL_PATHS) $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \ + $(if $(word 2,$(3)),--no-recursive) \ + -B $(STAGING_DIR_HOST)/share/aclocal \ + $(patsubst %,-I %,$(5)) \ + $(patsubst %,-I %,$(4)) $(p) || true; \ + fi; \ + ) \ + ); +endef + +# 1: build dir +define patch_libtool + @(cd $(1); \ + for lt in $$$$($$(STAGING_DIR_HOST)/bin/find . -name ltmain.sh); do \ + lt_version="$$$$($$(STAGING_DIR_HOST)/bin/sed -ne 's,^[[:space:]]*VERSION="\?\([0-9]\.[0-9]\+\).*,\1,p' $$$$lt)"; \ + case "$$$$lt_version" in \ + 1.5|2.2|2.4) echo "autotools.mk: Found libtool v$$$$lt_version - applying patch to $$$$lt"; \ + (cd $$$$(dirname $$$$lt) && $$(PATCH) -N -s -p1 < $$(TOPDIR)/tools/libtool/files/libtool-v$$$$lt_version.patch || true) ;; \ + *) echo "autotools.mk: error: Unsupported libtool version v$$$$lt_version - cannot patch $$$$lt"; exit 1 ;; \ + esac; \ + done; \ + ); +endef + + +PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH) +PKG_AUTOMAKE_PATHS?=$(CONFIGURE_PATH) +PKG_MACRO_PATHS?=m4 +PKG_REMOVE_FILES?=aclocal.m4 + +Hooks/InstallDev/Post += libtool_remove_files + +define autoreconf_target + $(strip $(call autoreconf, \ + $(PKG_BUILD_DIR), $(PKG_REMOVE_FILES), \ + $(PKG_AUTOMAKE_PATHS), $(PKG_LIBTOOL_PATHS), \ + $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR)/usr/share/aclocal $(PKG_MACRO_PATHS))) +endef + +define patch_libtool_target + $(strip $(call patch_libtool, \ + $(PKG_BUILD_DIR))) +endef + +define gettext_version_target + (cd $(PKG_BUILD_DIR) && \ + GETTEXT_VERSION=$(shell $(STAGING_DIR)/host/bin/gettext -V | $(STAGING_DIR_HOST)/bin/sed -ne '1s/.*\([0-9]\.[0-9]\{2\}\.[0-9]\).*/\1/p' ) && \ + $(STAGING_DIR_HOST)/bin/sed \ + -i $(PKG_BUILD_DIR)/configure.ac \ + -e "s/AM_GNU_GETTEXT_VERSION(.*)/AM_GNU_GETTEXT_VERSION(\[$$$$GETTEXT_VERSION\])/g" && \ + $(STAGING_DIR)/host/bin/autopoint --force \ + ); +endef + +ifneq ($(filter gettext-version,$(PKG_FIXUP)),) + Hooks/Configure/Pre += gettext_version_target + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter patch-libtool,$(PKG_FIXUP)),) + Hooks/Configure/Pre += patch_libtool_target +endif + +ifneq ($(filter libtool,$(PKG_FIXUP)),) + PKG_BUILD_DEPENDS += libtool libintl libiconv + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter libtool-ucxx,$(PKG_FIXUP)),) + PKG_BUILD_DEPENDS += libtool libintl libiconv + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter autoreconf,$(PKG_FIXUP)),) + ifeq ($(filter autoreconf,$(Hooks/Configure/Pre)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + + +HOST_FIXUP?=$(PKG_FIXUP) +HOST_LIBTOOL_PATHS?=$(if $(PKG_LIBTOOL_PATHS),$(PKG_LIBTOOL_PATHS),.) +HOST_AUTOMAKE_PATHS?=$(if $(PKG_AUTOMAKE_PATHS),$(PKG_AUTOMAKE_PATHS),.) +HOST_MACRO_PATHS?=$(if $(PKG_MACRO_PATHS),$(PKG_MACRO_PATHS),m4) +HOST_REMOVE_FILES?=$(PKG_REMOVE_FILES) + +define autoreconf_host + $(strip $(call autoreconf, \ + $(HOST_BUILD_DIR), $(HOST_REMOVE_FILES), \ + $(HOST_AUTOMAKE_PATHS), $(HOST_LIBTOOL_PATHS), \ + $(HOST_MACRO_PATHS))) +endef + +define patch_libtool_host + $(strip $(call patch_libtool, \ + $(HOST_BUILD_DIR))) +endef + +ifneq ($(filter patch-libtool,$(PKG_FIXUP)),) + Hooks/HostConfigure/Pre += patch_libtool_host +endif + +ifneq ($(filter patch-libtool,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += $(strip $(call patch_libtool,$(HOST_BUILD_DIR))) +endif + +ifneq ($(filter libtool,$(HOST_FIXUP)),) + ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif + +ifneq ($(filter libtool-ucxx,$(HOST_FIXUP)),) + ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif + +ifneq ($(filter autoreconf,$(HOST_FIXUP)),) + ifeq ($(filter autoreconf,$(Hooks/HostConfigure/Pre)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif diff --git a/include/cmake.mk b/include/cmake.mk new file mode 100644 index 0000000000..5f572e9d74 --- /dev/null +++ b/include/cmake.mk @@ -0,0 +1,109 @@ +cmake_bool = $(patsubst %,-D%:BOOL=$(if $($(1)),ON,OFF),$(2)) + +PKG_INSTALL:=1 + +ifneq ($(findstring c,$(OPENWRT_VERBOSE)),) + MAKE_FLAGS+=VERBOSE=1 +endif + +CMAKE_BINARY_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_BINARY_SUBDIR),/$(CMAKE_BINARY_SUBDIR)) +CMAKE_SOURCE_DIR = $(PKG_BUILD_DIR) +HOST_CMAKE_SOURCE_DIR = $(HOST_BUILD_DIR) +MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .) + +ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + cmake_tool=$(TOOLCHAIN_DIR)/bin/$(1) +else + cmake_tool=$(shell which $(1)) +endif + +ifeq ($(CONFIG_CCACHE),) + CMAKE_C_COMPILER:=$(call cmake_tool,$(TARGET_CC)) + CMAKE_CXX_COMPILER:=$(call cmake_tool,$(TARGET_CXX)) + CMAKE_C_COMPILER_ARG1:= + CMAKE_CXX_COMPILER_ARG1:= +else + CCACHE:=$(STAGING_DIR_HOST)/bin/ccache + CMAKE_C_COMPILER:=$(CCACHE) + CMAKE_C_COMPILER_ARG1:=$(TARGET_CC_NOCACHE) + CMAKE_CXX_COMPILER:=$(CCACHE) + CMAKE_CXX_COMPILER_ARG1:=$(TARGET_CXX_NOCACHE) +endif +CMAKE_AR:=$(call cmake_tool,$(TARGET_AR)) +CMAKE_NM:=$(call cmake_tool,$(TARGET_NM)) +CMAKE_RANLIB:=$(call cmake_tool,$(TARGET_RANLIB)) + +CMAKE_FIND_ROOT_PATH:=$(STAGING_DIR)/usr;$(TOOLCHAIN_DIR)$(if $(CONFIG_EXTERNAL_TOOLCHAIN),;$(CONFIG_TOOLCHAIN_ROOT)) +CMAKE_HOST_FIND_ROOT_PATH:=$(STAGING_DIR)/host;$(STAGING_DIR_HOST) +CMAKE_SHARED_LDFLAGS:=-Wl,-Bsymbolic-functions + +define Build/Configure/Default + mkdir -p $(CMAKE_BINARY_DIR) + (cd $(CMAKE_BINARY_DIR); \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + cmake \ + -DCMAKE_SYSTEM_NAME=Linux \ + -DCMAKE_SYSTEM_VERSION=1 \ + -DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_C_COMPILER="$(CMAKE_C_COMPILER)" \ + -DCMAKE_C_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \ + -DCMAKE_CXX_COMPILER="$(CMAKE_CXX_COMPILER)" \ + -DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_CXX_COMPILER_ARG1)" \ + -DCMAKE_ASM_COMPILER="$(CMAKE_C_COMPILER)" \ + -DCMAKE_ASM_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \ + -DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \ + -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) $(CMAKE_SHARED_LDFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) $(CMAKE_SHARED_LDFLAGS)" \ + -DCMAKE_AR="$(CMAKE_AR)" \ + -DCMAKE_NM="$(CMAKE_NM)" \ + -DCMAKE_RANLIB="$(CMAKE_RANLIB)" \ + -DCMAKE_FIND_ROOT_PATH="$(CMAKE_FIND_ROOT_PATH)" \ + -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ + -DCMAKE_STRIP=: \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDL_LIBRARY=$(STAGING_DIR) \ + -DCMAKE_PREFIX_PATH=$(STAGING_DIR) \ + -DCMAKE_SKIP_RPATH=TRUE \ + $(CMAKE_OPTIONS) \ + $(CMAKE_SOURCE_DIR) \ + ) +endef + +define Build/InstallDev/cmake + $(INSTALL_DIR) $(1) + $(CP) $(PKG_INSTALL_DIR)/* $(1)/ +endef + +Build/InstallDev = $(if $(CMAKE_INSTALL),$(Build/InstallDev/cmake)) + +define Host/Configure/Default + (cd $(HOST_BUILD_DIR); \ + CFLAGS="$(HOST_CFLAGS)" \ + CXXFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_FIND_ROOT_PATH="$(CMAKE_HOST_FIND_ROOT_PATH)" \ + -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ + -DCMAKE_STRIP=: \ + -DCMAKE_INSTALL_PREFIX=$(HOST_BUILD_PREFIX) \ + -DCMAKE_PREFIX_PATH=$(HOST_BUILD_PREFIX) \ + -DCMAKE_SKIP_RPATH=TRUE \ + $(CMAKE_HOST_OPTIONS) \ + $(HOST_CMAKE_SOURCE_DIR) \ + ) +endef diff --git a/include/debug.mk b/include/debug.mk new file mode 100644 index 0000000000..59a99c0f77 --- /dev/null +++ b/include/debug.mk @@ -0,0 +1,51 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +# debug flags: +# +# d: show subdirectory tree +# t: show added targets +# l: show legacy targets +# r: show autorebuild messages +# v: verbose (no .SILENCE for common targets) + +ifeq ($(DUMP),) + ifeq ($(DEBUG),all) + build_debug:=dltvr + else + build_debug:=$(DEBUG) + endif +endif + +ifneq ($(DEBUG),) + +define debug +$$(findstring $(2),$$(if $$(DEBUG_SCOPE_DIR),$$(if $$(filter $$(DEBUG_SCOPE_DIR)%,$(1)),$(build_debug)),$(build_debug))) +endef + +define warn +$$(if $(call debug,$(1),$(2)),$$(warning $(3))) +endef + +define debug_eval +$$(if $(call debug,$(1),$(2)),$(3)) +endef + +define warn_eval +$(call warn,$(1),$(2),$(3) $(4)) +$(4) +endef + +else + +debug:= +warn:= +debug_eval:= +warn_eval = $(4) + +endif + diff --git a/include/depends.mk b/include/depends.mk new file mode 100644 index 0000000000..7135e52c0f --- /dev/null +++ b/include/depends.mk @@ -0,0 +1,48 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# define a dependency on a subtree +# parameters: +# 1: directories/files +# 2: directory dependency +# 3: tempfile for file listings +# 4: find options + +DEP_FINDPARAMS := -x "*/.svn*" -x ".*" -x "*:*" -x "*\!*" -x "* *" -x "*\\\#*" -x "*/.*_check" -x "*/.*.swp" + +find_md5=$(SH_FUNC) find $(wildcard $(1)) -type f $(patsubst -x,-and -not -path,$(DEP_FINDPARAMS) $(2)) | md5s + +define rdep + .PRECIOUS: $(2) + .SILENT: $(2)_check + + $(2): $(2)_check + +ifneq ($(wildcard $(2)),) + $(2)_check:: + $(if $(3), \ + $(call find_md5,$(1),$(4)) > $(3).1; \ + { [ \! -f "$(3)" ] || diff $(3) $(3).1 >/dev/null; } && \ + ) \ + { \ + [ -f "$(2)_check.1" ] && mv "$(2)_check.1"; \ + $(TOPDIR)/scripts/timestamp.pl $(DEP_FINDPARAMS) $(4) -n $(2) $(1) && { \ + $(call debug_eval,$(SUBDIR),r,echo "No need to rebuild $(2)";) \ + touch -r "$(2)" "$(2)_check"; \ + } \ + } || { \ + $(call debug_eval,$(SUBDIR),r,echo "Need to rebuild $(2)";) \ + touch "$(2)_check"; \ + } + $(if $(3), mv $(3).1 $(3)) +else + $(2)_check:: + $(if $(3), rm -f $(3) $(3).1) + $(call debug_eval,$(SUBDIR),r,echo "Target $(2) not built") +endif + +endef + diff --git a/include/device_table.txt b/include/device_table.txt new file mode 100644 index 0000000000..f45b158892 --- /dev/null +++ b/include/device_table.txt @@ -0,0 +1,5 @@ +# minimal device table file for OpenWrt + +# +/dev d 755 0 0 - - - - - +/dev/console c 600 0 0 5 1 0 0 - diff --git a/include/download.mk b/include/download.mk new file mode 100644 index 0000000000..fccd83942f --- /dev/null +++ b/include/download.mk @@ -0,0 +1,196 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# Copyright (C) 2016 LEDE project +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +OPENWRT_GIT = http://git.openwrt.org +LEDE_GIT = https://git.lede-project.org + +DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED) + +# Try to guess the download method from the URL +define dl_method +$(strip \ + $(if $(2),$(2), \ + $(if $(filter @APACHE/% @GITHUB/% @GNOME/% @GNU/% @KERNEL_LIBRE/% @KERNEL/% @SF/% @SAVANNAH/% ftp://% http://% https://% file://%,$(1)),default, \ + $(if $(filter git://%,$(1)),git, \ + $(if $(filter svn://%,$(1)),svn, \ + $(if $(filter cvs://%,$(1)),cvs, \ + $(if $(filter hg://%,$(1)),hg, \ + $(if $(filter sftp://%,$(1)),bzr, \ + unknown \ + ) \ + ) \ + ) \ + ) \ + ) \ + ) \ + ) \ +) +endef + +# code for creating tarballs from cvs/svn/git/bzr/hg/darcs checkouts - useful for mirror support +dl_pack/bz2=$(TAR) --owner=0 --group=0 --sort=name $$$${TAR_TIMESTAMP:+--mtime="$$$$TAR_TIMESTAMP"} -cjf $(1) $(2) +dl_pack/gz=$(TAR) --owner=0 --group=0 --sort=name $$$${TAR_TIMESTAMP:+--mtime="$$$$TAR_TIMESTAMP"} -c $(2) | gzip -nc > $(1) +dl_pack/xz=$(TAR) --owner=0 --group=0 --sort=name $$$${TAR_TIMESTAMP:+--mtime="$$$$TAR_TIMESTAMP"} -c $(2) | xz -zc -7e > $(1) +dl_pack/unknown=echo "ERROR: Unknown pack format for file $(1)"; false +define dl_pack + $(if $(dl_pack/$(call ext,$(1))),$(dl_pack/$(call ext,$(1))),$(dl_pack/unknown)) +endef + +define DownloadMethod/unknown + @echo "ERROR: No download method available"; false +endef + +define DownloadMethod/default + $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MD5SUM)" "$(URL_FILE)" $(foreach url,$(URL),"$(url)") +endef + +define wrap_mirror +$(if $(if $(MIRROR),$(filter-out x,$(MIRROR_MD5SUM))),$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MIRROR_MD5SUM)" "" || ( $(1) ),$(1)) +endef + +define DownloadMethod/cvs + $(call wrap_mirror, \ + echo "Checking out files from the cvs repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + cvs -d $(URL) export $(VERSION) $(SUBDIR) && \ + echo "Packing checkout..." && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/svn + $(call wrap_mirror, \ + echo "Checking out files from the svn repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + ( svn help export | grep -q trust-server-cert && \ + svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) || \ + svn export --non-interactive -r$(VERSION) $(URL) $(SUBDIR) ) && \ + echo "Packing checkout..." && \ + export TAR_TIMESTAMP="" && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/git + $(call wrap_mirror, \ + echo "Checking out files from the git repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + git clone $(OPTS) $(URL) $(SUBDIR) && \ + (cd $(SUBDIR) && git checkout $(VERSION) && \ + git submodule update --init --recursive) && \ + echo "Packing checkout..." && \ + export TAR_TIMESTAMP=`cd $(SUBDIR) && git log -1 --format='@%ct'` && \ + rm -rf $(SUBDIR)/.git && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/bzr + $(call wrap_mirror, \ + echo "Checking out files from the bzr repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + bzr export --per-file-timestamps -r$(VERSION) $(SUBDIR) $(URL) && \ + echo "Packing checkout..." && \ + export TAR_TIMESTAMP="" && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/hg + $(call wrap_mirror, \ + echo "Checking out files from the hg repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + hg clone -r $(VERSION) $(URL) $(SUBDIR) && \ + export TAR_TIMESTAMP=`cd $(SUBDIR) && hg log --template '@{date}' -l 1` && \ + find $(SUBDIR) -name .hg | xargs rm -rf && \ + echo "Packing checkout..." && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/darcs + $(call wrap_mirror, \ + echo "Checking out files from the darcs repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + darcs get -t $(VERSION) $(URL) $(SUBDIR) && \ + export TAR_TIMESTAMP=`cd $(SUBDIR) && LC_ALL=C darcs log --last 1 | sed -ne 's!^Date: \+!!p'` && \ + find $(SUBDIR) -name _darcs | xargs rm -rf && \ + echo "Packing checkout..." && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +Validate/cvs=VERSION SUBDIR +Validate/svn=VERSION SUBDIR +Validate/git=VERSION SUBDIR +Validate/bzr=VERSION SUBDIR +Validate/hg=VERSION SUBDIR +Validate/darcs=VERSION SUBDIR + +define Download/Defaults + URL:= + FILE:= + URL_FILE:= + PROTO:= + MD5SUM:= + SUBDIR:= + MIRROR:=1 + MIRROR_MD5SUM:=x + VERSION:= + OPTS:= +endef + +define Download + $(eval $(Download/Defaults)) + $(eval $(Download/$(1))) + $(foreach FIELD,URL FILE $(Validate/$(call dl_method,$(URL),$(PROTO))), + ifeq ($($(FIELD)),) + $$(error Download/$(1) is missing the $(FIELD) field.) + endif + ) + + $(foreach dep,$(DOWNLOAD_RDEP), + $(dep): $(DL_DIR)/$(FILE) + ) + download: $(DL_DIR)/$(FILE) + + $(DL_DIR)/$(FILE): + mkdir -p $(DL_DIR) + $(call locked,$(if $(DownloadMethod/$(call dl_method,$(URL),$(PROTO))),$(DownloadMethod/$(call dl_method,$(URL),$(PROTO))),$(DownloadMethod/unknown)),$(FILE)) + +endef diff --git a/include/feeds.mk b/include/feeds.mk new file mode 100644 index 0000000000..2ff57e5762 --- /dev/null +++ b/include/feeds.mk @@ -0,0 +1,56 @@ +# +# Copyright (C) 2014 OpenWrt.org +# Copyright (C) 2016 LEDE Project +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +-include $(TMP_DIR)/.packagesubdirs + +FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*)) +FEEDS_AVAILABLE:=$(sort $(FEEDS_INSTALLED) $(shell $(SCRIPT_DIR)/feeds list -n)) +FEEDS_ENABLED:=$(foreach feed,$(FEEDS_INSTALLED),$(if $(CONFIG_FEED_$(feed)),$(feed))) +FEEDS_DISABLED:=$(filter-out $(FEEDS_ENABLED),$(FEEDS_AVAILABLE)) + +PACKAGE_SUBDIRS=$(PACKAGE_DIR) +ifneq ($(CONFIG_PER_FEED_REPO),) + PACKAGE_SUBDIRS += $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/base + ifneq ($(CONFIG_PER_FEED_REPO_ADD_DISABLED),) + PACKAGE_SUBDIRS += $(foreach FEED,$(FEEDS_AVAILABLE),$(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(FEED)) + else + PACKAGE_SUBDIRS += $(foreach FEED,$(FEEDS_ENABLED),$(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(FEED)) + endif +endif + +PACKAGE_DIR_ALL := $(TOPDIR)/staging_dir/packages/$(BOARD) + +opkg_package_files = $(wildcard \ + $(foreach dir,$(PACKAGE_SUBDIRS), \ + $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk))) + +PKG_CONFIG_DEPENDS += \ + CONFIG_PER_FEED_REPO \ + CONFIG_PER_FEED_REPO_ADD_DISABLED \ + CONFIG_PER_FEED_REPO_ADD_COMMENTED \ + $(foreach feed,$(FEEDS_INSTALLED),CONFIG_FEED_$(feed)) + +# 1: package name +define FeedPackageDir +$(strip $(if $(CONFIG_PER_FEED_REPO), \ + $(if $(Package/$(1)/subdir), \ + $(abspath $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(Package/$(1)/subdir)), \ + $(PACKAGE_DIR)), \ + $(PACKAGE_DIR))) +endef + +# 1: destination file +define FeedSourcesAppend +( \ + echo "src/gz %n_core %U/targets/%S/packages"; \ + $(strip $(if $(CONFIG_PER_FEED_REPO), \ + $(foreach feed,base $(FEEDS_ENABLED),echo "src/gz %n_$(feed) %U/packages/%A/$(feed)";) \ + $(if $(CONFIG_PER_FEED_REPO_ADD_DISABLED), \ + $(foreach feed,$(FEEDS_DISABLED),echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %n_$(feed) %U/packages/%A/$(feed)";)))) \ +) >> $(1) +endef diff --git a/include/hardening.mk b/include/hardening.mk new file mode 100644 index 0000000000..c277081c51 --- /dev/null +++ b/include/hardening.mk @@ -0,0 +1,50 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +PKG_CHECK_FORMAT_SECURITY ?= 1 +PKG_SSP ?= 1 +PKG_FORTIFY_SOURCE ?= 1 +PKG_RELRO ?= 1 + +ifdef CONFIG_PKG_CHECK_FORMAT_SECURITY + ifeq ($(strip $(PKG_CHECK_FORMAT_SECURITY)),1) + TARGET_CFLAGS += -Wformat -Werror=format-security + endif +endif +ifdef CONFIG_PKG_CC_STACKPROTECTOR_REGULAR + ifeq ($(strip $(PKG_SSP)),1) + TARGET_CFLAGS += -fstack-protector + endif +endif +ifdef CONFIG_PKG_CC_STACKPROTECTOR_STRONG + ifeq ($(strip $(PKG_SSP)),1) + TARGET_CFLAGS += -fstack-protector-strong + endif +endif +ifdef CONFIG_PKG_FORTIFY_SOURCE_1 + ifeq ($(strip $(PKG_FORTIFY_SOURCE)),1) + TARGET_CFLAGS += -D_FORTIFY_SOURCE=1 + endif +endif +ifdef CONFIG_PKG_FORTIFY_SOURCE_2 + ifeq ($(strip $(PKG_FORTIFY_SOURCE)),1) + TARGET_CFLAGS += -D_FORTIFY_SOURCE=2 + endif +endif +ifdef CONFIG_PKG_RELRO_PARTIAL + ifeq ($(strip $(PKG_RELRO)),1) + TARGET_CFLAGS += -Wl,-z,relro + TARGET_LDFLAGS += -zrelro + endif +endif +ifdef CONFIG_PKG_RELRO_FULL + ifeq ($(strip $(PKG_RELRO)),1) + TARGET_CFLAGS += -Wl,-z,now -Wl,-z,relro + TARGET_LDFLAGS += -znow -zrelro + endif +endif + diff --git a/include/host-build.mk b/include/host-build.mk new file mode 100644 index 0000000000..d353c88b5c --- /dev/null +++ b/include/host-build.mk @@ -0,0 +1,210 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) +HOST_INSTALL_DIR ?= $(HOST_BUILD_DIR)/host-install +HOST_BUILD_PARALLEL ?= + +ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),) + HOST_MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j)) +else + HOST_MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS) +endif + +ifeq ($(strip $(HOST_BUILD_PARALLEL)),0) +HOST_JOBS?=-j1 +else +HOST_JOBS?=$(if $(HOST_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\ + $(if $(CONFIG_PKG_BUILD_PARALLEL),$(HOST_MAKE_J),-j1),-j1) +endif + +include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/unpack.mk +include $(INCLUDE_DIR)/depends.mk + +BUILD_TYPES += host +HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared$(if $(HOST_QUILT)$(DUMP),,$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPENDS),))) +HOST_STAMP_CONFIGURED:=$(HOST_BUILD_DIR)/.configured +HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built +HOST_BUILD_PREFIX:=$(if $(IS_PACKAGE_BUILD),$(STAGING_DIR_HOSTPKG),$(STAGING_DIR_HOST)) +HOST_STAMP_INSTALLED:=$(HOST_BUILD_PREFIX)/stamp/.$(PKG_NAME)_installed + +override MAKEFLAGS= + +include $(INCLUDE_DIR)/download.mk +include $(INCLUDE_DIR)/quilt.mk +include $(INCLUDE_DIR)/autotools.mk + +Host/Patch:=$(Host/Patch/Default) +ifneq ($(strip $(HOST_UNPACK)),) + define Host/Prepare/Default + $(HOST_UNPACK) + [ ! -d ./src/ ] || $(CP) ./src/* $(HOST_BUILD_DIR) + $(Host/Patch) + endef +endif + +define Host/Prepare + $(call Host/Prepare/Default) +endef + +ifeq ($(HOST_OS),Darwin) + HOST_CFLAGS += -I/usr/local/opt/openssl/include + HOST_LDFLAGS += -L/usr/local/opt/openssl/lib +endif + +HOST_CONFIGURE_VARS = \ + CC="$(HOSTCC)" \ + CFLAGS="$(HOST_CFLAGS)" \ + CPPFLAGS="$(HOST_CPPFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + SHELL="$(SHELL)" + +HOST_CONFIGURE_ARGS = \ + --target=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=$(HOST_BUILD_PREFIX) \ + --exec-prefix=$(HOST_BUILD_PREFIX) \ + --sysconfdir=$(HOST_BUILD_PREFIX)/etc \ + --localstatedir=$(HOST_BUILD_PREFIX)/var \ + --sbindir=$(HOST_BUILD_PREFIX)/bin + +HOST_MAKE_FLAGS = + +HOST_CONFIGURE_CMD = $(BASH) ./configure + +define Host/Configure/Default + $(if $(HOST_CONFIGURE_PARALLEL),+)(cd $(HOST_BUILD_DIR)/$(3); \ + if [ -x configure ]; then \ + $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/$(3)/ && \ + $(2) \ + $(HOST_CONFIGURE_CMD) \ + $(HOST_CONFIGURE_VARS) \ + $(HOST_CONFIGURE_ARGS) \ + $(1); \ + fi \ + ) +endef + +define Host/Configure + $(call Host/Configure/Default) +endef + +define Host/Compile/Default + +$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \ + $(HOST_MAKE_FLAGS) \ + $(1) +endef + +define Host/Compile + $(call Host/Compile/Default) +endef + +define Host/Install/Default + $(_SINGLE)$(MAKE) -C $(HOST_BUILD_DIR) install +endef + +define Host/Install + $(call Host/Install/Default,$(HOST_BUILD_PREFIX)) +endef + + +ifneq ($(if $(HOST_QUILT),,$(CONFIG_AUTOREBUILD)),) + define HostHost/Autoclean + $(call rdep,${CURDIR} $(PKG_FILE_DEPENDS),$(HOST_STAMP_PREPARED)) + $(if $(if $(Host/Compile),$(filter prepare,$(MAKECMDGOALS)),1),,$(call rdep,$(HOST_BUILD_DIR),$(HOST_STAMP_BUILT))) + endef +endif + +define Download/default + FILE:=$(PKG_SOURCE) + URL:=$(PKG_SOURCE_URL) + PROTO:=$(PKG_SOURCE_PROTO) + SUBDIR:=$(PKG_SOURCE_SUBDIR) + VERSION:=$(PKG_SOURCE_VERSION) + MD5SUM:=$(PKG_MD5SUM) + MIRROR_MD5SUM:=$(PKG_MIRROR_MD5SUM) +endef + +define Host/Exports/Default + $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR_HOST)/share/aclocal $$(STAGING_DIR_HOST)/share/aclocal-* $(if $(IS_PACKAGE_BUILD),$$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*)),-I $$(p)) + $(1) : export STAGING_PREFIX=$$(HOST_BUILD_PREFIX) + $(1) : export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig:$$(HOST_BUILD_PREFIX)/lib/pkgconfig + $(1) : export PKG_CONFIG_LIBDIR=$$(HOST_BUILD_PREFIX)/lib/pkgconfig + $(1) : export CCACHE_DIR:=$(STAGING_DIR_HOST)/ccache + $(if $(IS_PACKAGE_BUILD),$(1) : export PATH=$$(TARGET_PATH_PKG)) +endef +Host/Exports=$(Host/Exports/Default) + +.NOTPARALLEL: + +ifndef DUMP + define HostBuild + $(if $(HOST_QUILT),$(Host/Quilt)) + $(if $(if $(PKG_HOST_ONLY),,$(STAMP_PREPARED)),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) + $(if $(DUMP),,$(call HostHost/Autoclean)) + + $(HOST_STAMP_PREPARED): + @-rm -rf $(HOST_BUILD_DIR) + @mkdir -p $(HOST_BUILD_DIR) + $(foreach hook,$(Hooks/HostPrepare/Pre),$(call $(hook))$(sep)) + $(call Host/Prepare) + $(foreach hook,$(Hooks/HostPrepare/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Host/Exports,$(HOST_STAMP_CONFIGURED)) + $(HOST_STAMP_CONFIGURED): $(HOST_STAMP_PREPARED) + $(foreach hook,$(Hooks/HostConfigure/Pre),$(call $(hook))$(sep)) + $(call Host/Configure) + $(foreach hook,$(Hooks/HostConfigure/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Host/Exports,$(HOST_STAMP_BUILT)) + $(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED) + $(foreach hook,$(Hooks/HostCompile/Pre),$(call $(hook))$(sep)) + $(call Host/Compile) + $(foreach hook,$(Hooks/HostCompile/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Host/Exports,$(HOST_STAMP_INSTALLED)) + $(HOST_STAMP_INSTALLED): $(HOST_STAMP_BUILT) $(if $(FORCE_HOST_INSTALL),FORCE) + $(call Host/Install,$(HOST_BUILD_PREFIX)) + $(foreach hook,$(Hooks/HostInstall/Post),$(call $(hook))$(sep)) + mkdir -p $$(shell dirname $$@) + touch $(HOST_STAMP_BUILT) + touch $$@ + + ifndef STAMP_BUILT + prepare: host-prepare + compile: host-compile + install: host-install + clean: host-clean + update: host-update + refresh: host-refresh + endif + + host-prepare: $(HOST_STAMP_PREPARED) + host-configure: $(HOST_STAMP_CONFIGURED) + host-compile: $(HOST_STAMP_BUILT) $(if $(STAMP_BUILT),$(HOST_STAMP_INSTALLED)) + host-install: $(HOST_STAMP_INSTALLED) + host-clean: FORCE + $(call Host/Clean) + $(call Host/Uninstall) + rm -rf $(HOST_BUILD_DIR) $(HOST_STAMP_INSTALLED) $(HOST_STAMP_BUILT) + + endef + + download: + prepare: + compile: + install: + clean: + +endif diff --git a/include/host.mk b/include/host.mk new file mode 100644 index 0000000000..ec3ae276a4 --- /dev/null +++ b/include/host.mk @@ -0,0 +1,51 @@ +# +# Copyright (C) 2007-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +TMP_DIR ?= $(TOPDIR)/tmp +ifeq ($(if $(TARGET_BUILD),,$(DUMP)),) + -include $(TMP_DIR)/.host.mk +endif + +ifneq ($(__host_inc),1) +__host_inc:=1 + +export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH) + +try-run = $(shell set -e; \ + TMP_F="$(TMP_DIR)/try-run.$$$$.tmp"; \ + if ($(1)) >/dev/null 2>&1; then echo "$(2)"; else echo "$(3)"; fi; \ + rm -f "$$TMP_F"; \ +) + +host-cc-option = $(call try-run, \ + $(HOSTCC) $(HOST_CFLAGS) $(1) -c -xc /dev/null -o "$$TMP_F",$(1),$(2) \ +) + +.PRECIOUS: $(TMP_DIR)/.host.mk +$(TMP_DIR)/.host.mk: $(TOPDIR)/include/host.mk + @mkdir -p $(TMP_DIR) + @( \ + HOST_OS=`uname`; \ + case "$$HOST_OS" in \ + Linux) HOST_ARCH=`uname -m`;; \ + Darwin) HOST_ARCH=`uname -m`;; \ + *) HOST_ARCH=`uname -p`;; \ + esac; \ + GNU_HOST_NAME=`gcc -dumpmachine`; \ + [ -z "$$GNU_HOST_NAME" -o "$$HOST_OS" = "Darwin" ] && \ + GNU_HOST_NAME=`$(TOPDIR)/scripts/config.guess`; \ + echo "HOST_OS:=$$HOST_OS" > $@; \ + echo "HOST_ARCH:=$$HOST_ARCH" >> $@; \ + echo "GNU_HOST_NAME:=$$GNU_HOST_NAME" >> $@; \ + if gfind -L /dev/null || find -L /dev/null; then \ + echo "FIND_L=find -L \$$(1)" >> $@; \ + else \ + echo "FIND_L=find \$$(1) -follow" >> $@; \ + fi \ + ) >/dev/null 2>/dev/null + +endif diff --git a/include/image-commands.mk b/include/image-commands.mk new file mode 100644 index 0000000000..083a389031 --- /dev/null +++ b/include/image-commands.mk @@ -0,0 +1,192 @@ +# Build commands that can be called from Device/* templates + +IMAGE_KERNEL = $(word 1,$^) +IMAGE_ROOTFS = $(word 2,$^) + +define Build/uImage + mkimage -A $(LINUX_KARCH) \ + -O linux -T kernel \ + -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) LEDE Linux-$(LINUX_VERSION))' -d $@ $@.new + @mv $@.new $@ +endef + +define Build/netgear-chk + $(STAGING_DIR_HOST)/bin/mkchkimg \ + -o $@.new \ + -k $@ \ + -b $(NETGEAR_BOARD_ID) \ + -r $(NETGEAR_REGION) + mv $@.new $@ +endef + +define Build/netgear-dni + $(STAGING_DIR_HOST)/bin/mkdniimg \ + -B $(NETGEAR_BOARD_ID) -v LEDE.$(REVISION) \ + $(if $(NETGEAR_HW_ID),-H $(NETGEAR_HW_ID)) \ + -r "$(1)" \ + -i $@ -o $@.new + mv $@.new $@ +endef + +define Build/tplink-safeloader + -$(STAGING_DIR_HOST)/bin/tplink-safeloader \ + -B $(TPLINK_BOARD_NAME) \ + -V $(REVISION) \ + -k $(IMAGE_KERNEL) \ + -r $@ \ + -o $@.new \ + -j \ + $(wordlist 2,$(words $(1)),$(1)) \ + $(if $(findstring sysupgrade,$(word 1,$(1))),-S) && mv $@.new $@ || rm -f $@ +endef + +define Build/append-dtb + $(call Image/BuildDTB,$(if $(DEVICE_DTS_DIR),$(DEVICE_DTS_DIR),$(DTS_DIR))/$(DEVICE_DTS).dts,$@.dtb) + cat $@.dtb >> $@ +endef + +define Build/install-dtb + $(foreach dts,$(DEVICE_DTS), \ + $(CP) \ + $(DTS_DIR)/$(dts).dtb \ + $(BIN_DIR)/$(IMG_PREFIX)-$(dts).dtb; \ + ) +endef + +define Build/fit + $(TOPDIR)/scripts/mkits.sh \ + -D $(DEVICE_NAME) -o $@.its -k $@ \ + $(if $(word 2,$(1)),-d $(word 2,$(1))) -C $(word 1,$(1)) \ + -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -A $(ARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new + @mv $@.new $@ +endef + +define Build/lzma + $(call Build/lzma-no-dict,-lc1 -lp2 -pb2 $(1)) +endef + +define Build/lzma-no-dict + $(STAGING_DIR_HOST)/bin/lzma e $@ $(1) $@.new + @mv $@.new $@ +endef + +define Build/gzip + gzip -9n -c $@ $(1) > $@.new + @mv $@.new $@ +endef + +define Build/jffs2 + rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \ + mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \ + cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \ + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \ + $(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \ + --squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \ + -o $@.new \ + -d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \ + 2>&1 1>/dev/null | awk '/^.+$$$$/' && \ + $(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE)) + -rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/ + @mv $@.new $@ +endef + +define Build/kernel-bin + rm -f $@ + cp $< $@ +endef + +define Build/patch-cmdline + $(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)' +endef + +define Build/append-kernel + dd if=$(IMAGE_KERNEL) >> $@ +endef + +define Build/append-rootfs + dd if=$(IMAGE_ROOTFS) >> $@ +endef + +define Build/append-ubi + sh $(TOPDIR)/scripts/ubinize-image.sh \ + $(if $(UBOOTENV_IN_UBI),--uboot-env) \ + $(if $(KERNEL_IN_UBI),--kernel $(IMAGE_KERNEL)) \ + $(foreach part,$(UBINIZE_PARTS),--part $(part)) \ + $(IMAGE_ROOTFS) \ + $@.tmp \ + -p $(BLOCKSIZE:%k=%KiB) -m $(PAGESIZE) \ + $(if $(SUBPAGESIZE),-s $(SUBPAGESIZE)) \ + $(if $(VID_HDR_OFFSET),-O $(VID_HDR_OFFSET)) \ + $(UBINIZE_OPTS) + cat $@.tmp >> $@ + rm $@.tmp +endef + +define Build/pad-to + dd if=$@ of=$@.new bs=$(1) conv=sync + mv $@.new $@ +endef + +define Build/pad-extra + dd if=/dev/zero bs=$(1) count=1 >> $@ +endef + +define Build/pad-rootfs + $(STAGING_DIR_HOST)/bin/padjffs2 $@ $(1) \ + $(if $(BLOCKSIZE),$(BLOCKSIZE:%k=%),4 8 16 64 128 256) +endef + +define Build/pad-offset + let \ + size="$$(stat -c%s $@)" \ + pad="$(subst k,* 1024,$(word 1, $(1)))" \ + offset="$(subst k,* 1024,$(word 2, $(1)))" \ + pad="(pad - ((size + offset) % pad)) % pad" \ + newsize='size + pad'; \ + dd if=$@ of=$@.new bs=$$newsize count=1 conv=sync + mv $@.new $@ +endef + +define Build/check-size + @[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1))))) -ge "$$(stat -c%s $@)" ] || { \ + echo "WARNING: Image file $@ is too big" >&2; \ + rm -f $@; \ + } +endef + +define Build/combined-image + -sh $(TOPDIR)/scripts/combined-image.sh \ + "$(IMAGE_KERNEL)" \ + "$@" \ + "$@.new" + @mv $@.new $@ +endef + +define Build/sysupgrade-tar + sh $(TOPDIR)/scripts/sysupgrade-tar.sh \ + --board $(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)) \ + --kernel $(call param_get_default,kernel,$(1),$(IMAGE_KERNEL)) \ + --rootfs $(call param_get_default,rootfs,$(1),$(IMAGE_ROOTFS)) \ + $@ +endef + +json_quote=$(subst ','\'',$(subst ",\",$(1))) +#")') +metadata_devices=$(if $(1),$(subst "$(space)","$(comma)",$(strip $(foreach v,$(1),"$(call json_quote,$(v))")))) +metadata_json = \ + '{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \ + "supported_devices":[$(call metadata_devices,$(1))], \ + "version": { \ + "dist": "$(call json_quote,$(VERSION_DIST))", \ + "version": "$(call json_quote,$(VERSION_NUMBER))", \ + "revision": "$(call json_quote,$(REVISION))", \ + "board": "$(call json_quote,$(BOARD))" \ + } \ + }' + +define Build/append-metadata + $(if $(SUPPORTED_DEVICES),echo $(call metadata_json,$(SUPPORTED_DEVICES)) | fwtool -I - $@) +endef diff --git a/include/image-legacy.mk b/include/image-legacy.mk new file mode 100644 index 0000000000..edbee4c831 --- /dev/null +++ b/include/image-legacy.mk @@ -0,0 +1,92 @@ +ifneq ($(CONFIG_TARGET_ROOTFS_UBIFS),) + define Image/mkfs/ubifs/generate + $(CP) ./ubinize$(1).cfg $(KDIR) + ( cd $(KDIR); \ + $(STAGING_DIR_HOST)/bin/ubinize \ + $(if $($(PROFILE)_UBI_OPTS),$($(PROFILE)_UBI_OPTS),$(shell echo $(UBI_OPTS))) \ + -o $(KDIR)/root$(1).ubi \ + ubinize$(1).cfg \ + ) + endef + + define Image/mkfs/ubifs/legacy + + $(if $($(PROFILE)_UBIFS_OPTS)$(UBIFS_OPTS), + $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ + $(if $($(PROFILE)_UBIFS_OPTS),$($(PROFILE)_UBIFS_OPTS),$(UBIFS_OPTS)) \ + $(if $(CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP),--space-fixup) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_NONE),--force-compr=none) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_LZO),--force-compr=lzo) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_ZLIB),--force-compr=zlib) \ + $(if $(shell echo $(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)),--jrn-size=$(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)) \ + --squash-uids \ + -o $(KDIR)/root.ubifs \ + -d $(TARGET_DIR) + ) + $(call Image/Build,ubifs) + + $(if $($(PROFILE)_UBI_OPTS)$(UBI_OPTS), + $(if $(wildcard ./ubinize.cfg),$(call Image/mkfs/ubifs/generate,)) + $(if $(wildcard ./ubinize-overlay.cfg),$(call Image/mkfs/ubifs/generate,-overlay)) + ) + $(if $(wildcard ./ubinize.cfg),$(call Image/Build,ubi)) + endef +endif + +LegacyDevice/Dump = $(Device/Dump) + +define LegacyDevice/Check + $(Device/Check/Common) + _TARGET_PREPARE := $$(if $$(_PROFILE_SET),legacy-images-prepare,prepare-disabled) + _TARGET := $$(if $$(_PROFILE_SET),legacy-images,install-disabled) + $$(if $$(_PROFILE_SET),install: legacy-images-make) + ifndef IB + $$(if $$(_PROFILE_SET),kernel_prepare: legacy-images-prepare-make) + endif +endef + +ifdef TARGET_PER_DEVICE_ROOTFS + define Image/Build/Profile/Filesystem + cp $(KDIR)/root.$(2)+pkg=$(3) $(KDIR)/root.$(2) + $(call Image/Build/Profile,$(1),$(2)) + endef +else + Image/Build/Profile/Filesystem = $(Image/Build/Profile) +endif + +define LegacyDevice/Build + $$(_TARGET): legacy-image-$(1) + $$(_TARGET_PREPARE): legacy-image-prepare-$(1) + .PHONY: legacy-image-prepare-$(1) legacy-image-$(1) + + legacy-image-prepare-$(1): + $$(call Image/Prepare/Profile,$(1)) + + ifndef IB + ifdef CONFIG_TARGET_PER_DEVICE_ROOTFS + ROOTFS/$(1) := $(foreach fs,$(TARGET_FILESYSTEMS), \ + $(KDIR)/root.$(fs)$$(strip $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),+pkg=$$(ROOTFS_ID/$(1)))) \ + ) + + $$(ROOTFS/$(1)): target-dir-$$(ROOTFS_ID/$(1)) + legacy-images-make: $$(if $$(_PROFILE_SET),$$(ROOTFS/$(1))) + endif + endif + + legacy-image-$(1): + $$(call Image/BuildKernel/Profile,$(1)) + $(foreach fs,$(TARGET_FILESYSTEMS), + $$(call Image/Build/Profile/Filesystem,$(1),$(fs),$$(ROOTFS_ID/$(1))) + ) + +endef + +define LegacyDevice + $(call Device/InitProfile,$(1)) + $(call Device/Default,$(1)) + $(call LegacyDevice/Default,$(1)) + $(call LegacyDevice/$(1),$(1)) + $(call LegacyDevice/Check,$(1)) + $(call LegacyDevice/$(if $(DUMP),Dump,Build),$(1)) + +endef diff --git a/include/image.mk b/include/image.mk new file mode 100644 index 0000000000..d1dcdd6bad --- /dev/null +++ b/include/image.mk @@ -0,0 +1,562 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +override TARGET_BUILD= +include $(INCLUDE_DIR)/prereq.mk +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/version.mk +include $(INCLUDE_DIR)/image-commands.mk + +ifndef IB + ifdef CONFIG_TARGET_PER_DEVICE_ROOTFS + TARGET_PER_DEVICE_ROOTFS := 1 + endif +endif + +include $(INCLUDE_DIR)/image-legacy.mk + +ifdef TARGET_PER_DEVICE_ROOTFS + include $(INCLUDE_DIR)/rootfs.mk +endif + +override MAKE:=$(_SINGLE)$(SUBMAKE) +override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE) + +target_params = $(subst +,$(space),$*) +param_get = $(patsubst $(1)=%,%,$(filter $(1)=%,$(2))) +param_get_default = $(firstword $(call param_get,$(1),$(2)) $(3)) +param_mangle = $(subst $(space),_,$(strip $(1))) +param_unmangle = $(subst _,$(space),$(1)) + +mkfs_packages_id = $(shell echo $(sort $(1)) | md5sum | head -c 8) +mkfs_target_dir = $(if $(call param_get,pkg,$(1)),$(KDIR)/target-dir-$(call param_get,pkg,$(1)),$(TARGET_DIR)) + +KDIR=$(KERNEL_BUILD_DIR) +KDIR_TMP=$(KDIR)/tmp +DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts + +EXTRA_NAME_SANITIZED=$(call sanitize,$(EXTRA_IMAGE_NAME)) + +IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(if $(CONFIG_VERSION_FILENAMES),$(VERSION_NUMBER)-)$(if $(EXTRA_NAME_SANITIZED),$(EXTRA_NAME_SANITIZED)-)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) + +MKFS_DEVTABLE_OPT := -D $(INCLUDE_DIR)/device_table.txt + +ifneq ($(CONFIG_BIG_ENDIAN),) + JFFS2OPTS := --big-endian --squash-uids -v +else + JFFS2OPTS := --little-endian --squash-uids -v +endif + +ifeq ($(CONFIG_JFFS2_RTIME),y) + JFFS2OPTS += -X rtime +endif +ifeq ($(CONFIG_JFFS2_ZLIB),y) + JFFS2OPTS += -X zlib +endif +ifeq ($(CONFIG_JFFS2_LZMA),y) + JFFS2OPTS += -X lzma --compression-mode=size +endif +ifneq ($(CONFIG_JFFS2_RTIME),y) + JFFS2OPTS += -x rtime +endif +ifneq ($(CONFIG_JFFS2_ZLIB),y) + JFFS2OPTS += -x zlib +endif +ifneq ($(CONFIG_JFFS2_LZMA),y) + JFFS2OPTS += -x lzma +endif + +JFFS2OPTS += $(MKFS_DEVTABLE_OPT) + +SQUASHFS_BLOCKSIZE := $(CONFIG_TARGET_SQUASHFS_BLOCK_SIZE)k +SQUASHFSOPT := -b $(SQUASHFS_BLOCKSIZE) +SQUASHFSOPT += -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' +SQUASHFSCOMP := gzip +LZMA_XZ_OPTIONS := -Xpreset 9 -Xe -Xlc 0 -Xlp 2 -Xpb 2 +ifeq ($(CONFIG_SQUASHFS_XZ),y) + ifneq ($(filter arm x86 powerpc sparc,$(LINUX_KARCH)),) + BCJ_FILTER:=-Xbcj $(LINUX_KARCH) + endif + SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) $(BCJ_FILTER) +endif + +JFFS2_BLOCKSIZE ?= 64k 128k + +fs-types-$(CONFIG_TARGET_ROOTFS_SQUASHFS) += squashfs +fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addprefix jffs2-,$(JFFS2_BLOCKSIZE)) +fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2_NAND) += $(addprefix jffs2-nand-,$(NAND_BLOCKSIZE)) +fs-types-$(CONFIG_TARGET_ROOTFS_EXT4FS) += ext4 +fs-types-$(CONFIG_TARGET_ROOTFS_ISO) += iso +fs-types-$(CONFIG_TARGET_ROOTFS_UBIFS) += ubifs +fs-subtypes-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addsuffix -raw,$(addprefix jffs2-,$(JFFS2_BLOCKSIZE))) + +TARGET_FILESYSTEMS := $(fs-types-y) + +FS_64K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-64k +FS_128K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-128k +FS_256K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-256k + +define add_jffs2_mark + echo -ne '\xde\xad\xc0\xde' >> $(1) +endef + +PROFILE_SANITIZED := $(call sanitize,$(PROFILE)) + +define split_args +$(foreach data, \ + $(subst |,$(space),\ + $(subst $(space),^,$(1))), \ + $(call $(2),$(strip $(subst ^,$(space),$(data))))) +endef + +define build_cmd +$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1)))) +$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1))) + +endef + +define concat_cmd +$(call split_args,$(1),build_cmd) +endef + +# pad to 4k, 8k, 16k, 64k, 128k, 256k and add jffs2 end-of-filesystem mark +define prepare_generic_squashfs + $(STAGING_DIR_HOST)/bin/padjffs2 $(1) 4 8 16 64 128 256 +endef + +define Image/BuildKernel/Initramfs + $(call Image/Build/Initramfs) +endef + +define Image/BuildKernel/MkuImage + mkimage -A $(ARCH) -O linux -T kernel -C $(1) -a $(2) -e $(3) \ + -n '$(call toupper,$(ARCH)) LEDE Linux-$(LINUX_VERSION)' -d $(4) $(5) +endef + +define Image/BuildKernel/MkFIT + $(TOPDIR)/scripts/mkits.sh \ + -D $(1) -o $(KDIR)/fit-$(1).its -k $(2) $(if $(3),-d $(3)) -C $(4) -a $(5) -e $(6) \ + -A $(ARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(1).its $(KDIR)/fit-$(1)$(7).itb +endef + +# $(1) source dts file +# $(2) target dtb file +# $(3) extra CPP flags +# $(4) extra DTC flags +define Image/BuildDTB + $(TARGET_CROSS)cpp -nostdinc -x assembler-with-cpp \ + -I$(DTS_DIR) \ + -I$(DTS_DIR)/include \ + -undef -D__DTS__ $(3) \ + -o $(2).tmp $(1) + $(LINUX_DIR)/scripts/dtc/dtc -O dtb \ + -i$(dir $(1)) $(4) \ + -o $(2) $(2).tmp + $(RM) $(2).tmp +endef + +define Image/mkfs/jffs2/sub-raw + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \ + $(2) \ + -e $(patsubst %k,%KiB,$(1)) \ + -o $@ -d $(call mkfs_target_dir,$(3)) \ + -v 2>&1 1>/dev/null | awk '/^.+$$$$/' +endef + +define Image/mkfs/jffs2/sub + $(call Image/mkfs/jffs2/sub-raw,$(1),--pad $(2),$(3)) + $(call add_jffs2_mark,$@) +endef + +define Image/mkfs/jffs2/template + Image/mkfs/jffs2-$(1) = $$(call Image/mkfs/jffs2/sub,$(1),$(JFFS2OPTS),$$(1)) + Image/mkfs/jffs2-$(1)-raw = $$(call Image/mkfs/jffs2/sub-raw,$(1),$(JFFS2OPTS),$$(1)) + +endef + +define Image/mkfs/jffs2-nand/template + Image/mkfs/jffs2-nand-$(1) = \ + $$(call Image/mkfs/jffs2/sub, \ + $(word 2,$(subst -, ,$(1))), \ + $(JFFS2OPTS) --no-cleanmarkers --pagesize=$(word 1,$(subst -, ,$(1))),$$(1)) + +endef + +$(eval $(foreach S,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/template,$(S)))) +$(eval $(foreach S,$(NAND_BLOCKSIZE),$(call Image/mkfs/jffs2-nand/template,$(S)))) + +define Image/mkfs/squashfs + $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \ + -nopad -noappend -root-owned \ + -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) \ + -processors $(if $(CONFIG_PKG_BUILD_JOBS),$(CONFIG_PKG_BUILD_JOBS),1) \ + $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH)) +endef + +# $(1): board name +# $(2): rootfs type +# $(3): kernel image +ifneq ($(CONFIG_NAND_SUPPORT),) + define Image/Build/SysupgradeNAND + mkdir -p "$(KDIR_TMP)/sysupgrade-$(1)/" + echo "BOARD=$(1)" > "$(KDIR_TMP)/sysupgrade-$(1)/CONTROL" + [ -z "$(2)" ] || $(CP) "$(KDIR)/root.$(2)" "$(KDIR_TMP)/sysupgrade-$(1)/root" + [ -z "$(3)" ] || $(CP) "$(3)" "$(KDIR_TMP)/sysupgrade-$(1)/kernel" + (cd "$(KDIR_TMP)"; $(TAR) cvf \ + "$(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(2)-sysupgrade.tar" sysupgrade-$(1) \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + ) + endef + +# $(1) board name +# $(2) ubinize-image options (e.g. --uboot-env and/or --kernel kernelimage) +# $(3) rootfstype (e.g. squashfs or ubifs) +# $(4) options to pass-through to ubinize (i.e. $($(PROFILE)_UBI_OPTS))) + define Image/Build/UbinizeImage + sh $(TOPDIR)/scripts/ubinize-image.sh $(2) \ + "$(KDIR)/root.$(3)" \ + "$(KDIR)/$(IMG_PREFIX)-$(1)-$(3)-ubinized.bin" \ + $(4) + endef + +endif + +define Image/mkfs/ubifs + $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ + $(UBIFS_OPTS) $(call param_unmangle,$(call param_get,fs,$(1))) \ + $(if $(CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP),--space-fixup) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_NONE),--force-compr=none) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_LZO),--force-compr=lzo) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_ZLIB),--force-compr=zlib) \ + $(if $(shell echo $(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)),--jrn-size=$(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)) \ + --squash-uids \ + -o $@ -d $(call mkfs_target_dir,$(1)) +endef + +E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024))) + +define Image/mkfs/ext4 + $(STAGING_DIR_HOST)/bin/make_ext4fs \ + -l $(E2SIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \ + $(if $(CONFIG_TARGET_EXT4_RESERVED_PCT),-m $(CONFIG_TARGET_EXT4_RESERVED_PCT)) \ + $(if $(CONFIG_TARGET_EXT4_JOURNAL),,-J) \ + $(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \ + $@ $(call mkfs_target_dir,$(1))/ +endef + +define Image/Manifest + $(STAGING_DIR_HOST)/bin/opkg \ + --offline-root $(TARGET_DIR) \ + --add-arch all:100 \ + --add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200 list-installed > \ + $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest +endef + +ifdef CONFIG_TARGET_ROOTFS_TARGZ + define Image/Build/targz + $(TAR) -cp --numeric-owner --owner=0 --group=0 --sort=name \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz + endef +endif + +ifdef CONFIG_TARGET_ROOTFS_CPIOGZ + define Image/Build/cpiogz + ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9n >$(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz ) + endef +endif + +mkfs_packages = $(filter-out @%,$(PACKAGES_$(call param_get,pkg,pkg=$(target_params)))) +mkfs_packages_add = $(filter-out -%,$(mkfs_packages)) +mkfs_packages_remove = $(patsubst -%,%,$(filter -%,$(mkfs_packages))) +mkfs_cur_target_dir = $(call mkfs_target_dir,pkg=$(target_params)) + +opkg_target = \ + $(call opkg,$(mkfs_cur_target_dir)) \ + -f $(mkfs_cur_target_dir).conf + +target-dir-%: FORCE + rm -rf $(mkfs_cur_target_dir) $(mkfs_cur_target_dir).opkg + $(CP) $(TARGET_DIR_ORIG) $(mkfs_cur_target_dir) + -mv $(mkfs_cur_target_dir)/etc/opkg $(mkfs_cur_target_dir).opkg + echo 'src default file://$(PACKAGE_DIR_ALL)' > $(mkfs_cur_target_dir).conf + $(if $(mkfs_packages_remove), \ + -$(call opkg,$(mkfs_cur_target_dir)) remove \ + $(mkfs_packages_remove)) + $(if $(call opkg_package_files,$(mkfs_packages_add)), \ + $(opkg_target) update && \ + $(opkg_target) install \ + $(call opkg_package_files,$(mkfs_packages_add))) + $(call prepare_rootfs,$(mkfs_cur_target_dir)) + -mv $(mkfs_cur_target_dir).opkg $(mkfs_cur_target_dir)/etc/opkg + rm -f $(mkfs_cur_target_dir).conf + +$(KDIR)/root.%: kernel_prepare + $(call Image/mkfs/$(word 1,$(target_params)),$(target_params)) + +define Device/InitProfile + PROFILES := $(PROFILE) + DEVICE_TITLE := + DEVICE_PACKAGES := + DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE) +endef + +define Device/Init + DEVICE_NAME := $(1) + KERNEL:= + KERNEL_INITRAMFS = $$(KERNEL) + KERNEL_SIZE:= + CMDLINE:= + + IMAGES := + IMAGE_PREFIX := $(IMG_PREFIX)-$(1) + IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2) + KERNEL_PREFIX = $$(IMAGE_PREFIX) + KERNEL_SUFFIX := -kernel.bin + KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX) + KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX) + KERNEL_INITRAMFS_PREFIX = $$(IMAGE_PREFIX)-initramfs + KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX) + KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs + KERNEL_INSTALL := + KERNEL_NAME := vmlinux + KERNEL_DEPENDS := + KERNEL_SIZE := + + UBOOTENV_IN_UBI := + KERNEL_IN_UBI := + BLOCKSIZE := + PAGESIZE := + SUBPAGESIZE := + VID_HDR_OFFSET := + UBINIZE_OPTS := + UBINIZE_PARTS := + MKUBIFS_OPTS := + + FS_OPTIONS/ubifs = $$(MKUBIFS_OPTS) + + DEVICE_DTS := + DEVICE_DTS_DIR := + + BOARD_NAME := + UIMAGE_NAME := + SUPPORTED_DEVICES := + IMAGE_METADATA := + + FILESYSTEMS := $(TARGET_FILESYSTEMS) +endef + +DEFAULT_DEVICE_VARS := \ + DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_SIZE KERNEL_INITRAMFS_IMAGE \ + DEVICE_DTS DEVICE_DTS_DIR BOARD_NAME CMDLINE \ + UBOOTENV_IN_UBI KERNEL_IN_UBI \ + BLOCKSIZE PAGESIZE SUBPAGESIZE VID_HDR_OFFSET \ + UBINIZE_OPTS UIMAGE_NAME UBINIZE_PARTS \ + SUPPORTED_DEVICES IMAGE_METADATA + +define Device/ExportVar + $(1) : $(2):=$$($(2)) + +endef +define Device/Export + $(foreach var,$(DEVICE_VARS) $(DEFAULT_DEVICE_VARS),$(call Device/ExportVar,$(1),$(var))) + $(1) : FILESYSTEM:=$(2) +endef + +ifdef IB + DEVICE_CHECK_PROFILE = $(filter $(1),DEVICE_$(PROFILE) $(PROFILE)) +else + DEVICE_CHECK_PROFILE = $(CONFIG_TARGET_$(if $(CONFIG_TARGET_MULTI_PROFILE),DEVICE_)$(call target_conf,$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)))_$(1)) +endif + +DEVICE_EXTRA_PACKAGES = $(call qstrip,$(CONFIG_TARGET_DEVICE_PACKAGES_$(call target_conf,$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)))_DEVICE_$(1))) + +define merge_packages + $(1) := + $(foreach pkg,$(2), + $(1) := $$(strip $$(filter-out -$$(patsubst -%,%,$(pkg)) $$(patsubst -%,%,$(pkg)),$$($(1))) $(pkg)) + ) +endef + +define Device/Check/Common + _PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile)))) + ifdef TARGET_PER_DEVICE_ROOTFS + $$(eval $$(call merge_packages,_PACKAGES,$$(DEVICE_PACKAGES) $$(call DEVICE_EXTRA_PACKAGES,$(1)))) + ROOTFS_ID/$(1) := $$(if $$(_PROFILE_SET),$$(call mkfs_packages_id,$$(_PACKAGES))) + PACKAGES_$$(ROOTFS_ID/$(1)) := $$(_PACKAGES) + endif +endef + +define Device/Check + $(Device/Check/Common) + KDIR_KERNEL_IMAGE := $(KDIR)/$(1)$$(KERNEL_SUFFIX) + _TARGET := $$(if $$(_PROFILE_SET),install-images,install-disabled) + ifndef IB + _COMPILE_TARGET := $$(if $(CONFIG_IB)$$(_PROFILE_SET),compile,compile-disabled) + endif +endef + +ifndef IB +define Device/Build/initramfs + $(call Device/Export,$(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE),$(1)) + $$(_TARGET): $$(if $$(KERNEL_INITRAMFS),$(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE)) + + $(KDIR)/$$(KERNEL_INITRAMFS_NAME):: image_prepare + $(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE) + cp $$^ $$@ + + $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/$$(KERNEL_INITRAMFS_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS) + @rm -f $$@ + $$(call concat_cmd,$$(KERNEL_INITRAMFS)) +endef +endif + +define Device/Build/compile + $$(_COMPILE_TARGET): $(KDIR)/$(1) + $(eval $(call Device/Export,$(KDIR)/$(1))) + $(KDIR)/$(1): + $$(call concat_cmd,$(COMPILE/$(1))) + +endef + +define Device/Build/kernel + $(KDIR)/$$(KERNEL_NAME):: image_prepare + $$(_TARGET): $$(if $$(KERNEL_INSTALL),$(BIN_DIR)/$$(KERNEL_IMAGE)) + $(call Device/Export,$$(KDIR_KERNEL_IMAGE),$(1)) + $(BIN_DIR)/$$(KERNEL_IMAGE): $$(KDIR_KERNEL_IMAGE) + cp $$^ $$@ + ifndef IB + ifdef CONFIG_IB + install: $$(KDIR_KERNEL_IMAGE) + endif + $$(KDIR_KERNEL_IMAGE): $(KDIR)/$$(KERNEL_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS) + @rm -f $$@ + $$(call concat_cmd,$$(KERNEL)) + $$(if $$(KERNEL_SIZE),$$(call Build/check-size,$$(KERNEL_SIZE))) + endif +endef + +define Device/Build/image + $$(_TARGET): $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)) + $(eval $(call Device/Export,$(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)),$(1))) + ROOTFS/$(1)/$(3) := \ + $(KDIR)/root.$(1)$$(strip \ + $$(if $$(FS_OPTIONS/$(1)),+fs=$$(call param_mangle,$$(FS_OPTIONS/$(1)))) \ + )$$(strip \ + $(if $(TARGET_PER_DEVICE_ROOTFS),+pkg=$$(ROOTFS_ID/$(3))) \ + ) + ifndef IB + $$(ROOTFS/$(1)/$(3)): $(if $(TARGET_PER_DEVICE_ROOTFS),target-dir-$$(ROOTFS_ID/$(3))) + endif + $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)): $$(KDIR_KERNEL_IMAGE) $$(ROOTFS/$(1)/$(3)) + @rm -f $$@ + [ -f $$(word 1,$$^) -a -f $$(word 2,$$^) ] + $$(call concat_cmd,$(if $(IMAGE/$(2)/$(1)),$(IMAGE/$(2)/$(1)),$(IMAGE/$(2)))) + + .IGNORE: $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)) + $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)) + cp $$^ $$@ + +endef + +define Device/Build + $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1))) + $(call Device/Build/kernel,$(1)) + + $$(eval $$(foreach compile,$$(COMPILE), \ + $$(call Device/Build/compile,$$(compile),$(1)))) + + $$(eval $$(foreach image,$$(IMAGES), \ + $$(foreach fs,$$(filter $(TARGET_FILESYSTEMS),$$(FILESYSTEMS)), \ + $$(call Device/Build/image,$$(fs),$$(image),$(1))))) +endef + +define Device/DumpInfo +Target-Profile: DEVICE_$(1) +Target-Profile-Name: $(DEVICE_TITLE) +Target-Profile-Packages: $(DEVICE_PACKAGES) +Target-Profile-Description: +$(DEVICE_DESCRIPTION) +@@ + +endef + +define Device/Dump +$$(eval $$(if $$(DEVICE_TITLE),$$(info $$(call Device/DumpInfo,$(1))))) +endef + +define Device + $(call Device/InitProfile,$(1)) + $(call Device/Init,$(1)) + $(call Device/Default,$(1)) + $(call Device/$(1),$(1)) + $(call Device/Check,$(1)) + $(call Device/$(if $(DUMP),Dump,Build),$(1)) + +endef + +define BuildImage + + ifneq ($(DUMP),) + all: dumpinfo + dumpinfo: FORCE + @true + endif + + download: + prepare: + compile: + clean: + legacy-images-prepare: + legacy-images: + image_prepare: + + ifeq ($(IB),) + .PHONY: download prepare compile clean image_prepare kernel_prepare install install-images + compile: + $(call Build/Compile) + + clean: + $(call Build/Clean) + + image_prepare: compile + mkdir -p $(BIN_DIR) $(KDIR)/tmp + $(call Image/Prepare) + + legacy-images-prepare-make: image_prepare + $(MAKE) legacy-images-prepare + + else + image_prepare: + mkdir -p $(BIN_DIR) $(KDIR)/tmp + endif + + kernel_prepare: image_prepare + $(call Image/Build/targz) + $(call Image/Build/cpiogz) + $(call Image/BuildKernel) + $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(if $(IB),,$(call Image/BuildKernel/Initramfs))) + $(call Image/InstallKernel) + + $(foreach device,$(TARGET_DEVICES),$(call Device,$(device))) + $(foreach device,$(LEGACY_DEVICES),$(call LegacyDevice,$(device))) + + install-images: kernel_prepare $(foreach fs,$(filter-out $(if $(UBIFS_OPTS),,ubifs),$(TARGET_FILESYSTEMS) $(fs-subtypes-y)),$(KDIR)/root.$(fs)) + $(foreach fs,$(TARGET_FILESYSTEMS), + $(call Image/Build,$(fs)) + ) + + legacy-images-make: install-images + $(call Image/mkfs/ubifs/legacy) + $(MAKE) legacy-images + + install: install-images + $(call Image/Manifest) + +endef diff --git a/include/kernel-build.mk b/include/kernel-build.mk new file mode 100644 index 0000000000..062c458ab7 --- /dev/null +++ b/include/kernel-build.mk @@ -0,0 +1,177 @@ +# +# Copyright (C) 2006-2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/prereq.mk +include $(INCLUDE_DIR)/depends.mk + +ifneq ($(DUMP),1) + all: compile +endif + +KERNEL_FILE_DEPENDS=$(GENERIC_PATCH_DIR) $(PATCH_DIR) $(GENERIC_FILES_DIR) $(FILES_DIR) +STAMP_PREPARED=$(LINUX_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call find_md5,$(KERNEL_FILE_DEPENDS),))) +STAMP_CONFIGURED:=$(LINUX_DIR)/.configured +include $(INCLUDE_DIR)/download.mk +include $(INCLUDE_DIR)/quilt.mk +include $(INCLUDE_DIR)/kernel-defaults.mk + +define Kernel/Prepare + $(call Kernel/Prepare/Default) +endef + +define Kernel/Configure + $(call Kernel/Configure/Default) +endef + +define Kernel/CompileModules + $(call Kernel/CompileModules/Default) +endef + +define Kernel/CompileImage + $(call Kernel/CompileImage/Default) + $(call Kernel/CompileImage/Initramfs) +endef + +define Kernel/Clean + $(call Kernel/Clean/Default) +endef + +define Download/kernel + URL:=$(LINUX_SITE) + FILE:=$(LINUX_SOURCE) + MD5SUM:=$(LINUX_KERNEL_MD5SUM) +endef + +KERNEL_GIT_OPTS:= +ifneq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"") + KERNEL_GIT_OPTS+=--reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY) +endif + +ifneq ($(strip $(CONFIG_KERNEL_GIT_BRANCH)),"") + KERNEL_GIT_OPTS+=--branch $(CONFIG_KERNEL_GIT_BRANCH) +endif + +define Download/git-kernel + URL:=$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)) + PROTO:=git + VERSION:=$(CONFIG_KERNEL_GIT_BRANCH) + FILE:=$(LINUX_SOURCE) + SUBDIR:=linux-$(KERNEL_PATCHVER) + OPTS:=$(KERNEL_GIT_OPTS) +endef + +ifdef CONFIG_COLLECT_KERNEL_DEBUG + define Kernel/CollectDebug + rm -rf $(KERNEL_BUILD_DIR)/debug + mkdir -p $(KERNEL_BUILD_DIR)/debug/modules + $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/debug/ + -$(CP) \ + $(STAGING_DIR_ROOT)/lib/modules/$(LINUX_VERSION)/* \ + $(KERNEL_BUILD_DIR)/debug/modules/ + $(FIND) $(KERNEL_BUILD_DIR)/debug -type f | $(XARGS) $(KERNEL_CROSS)strip --only-keep-debug + $(TAR) c -C $(KERNEL_BUILD_DIR) debug \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + | bzip2 -c -9 > $(BIN_DIR)/kernel-debug.tar.bz2 + endef +endif + +ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),) + ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),) + define Kernel/Autoclean + $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED) + $(call rdep,$(KERNEL_FILE_DEPENDS),$(STAMP_PREPARED),$(PKG_BUILD_DIR)/.dep_files,-x "*/.dep_*") + endef + endif +endif + +define BuildKernel + $(if $(QUILT),$(Build/Quilt)) + $(if $(LINUX_SITE),$(call Download,kernel)) + $(if $(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),$(call Download,git-kernel)) + + .NOTPARALLEL: + + $(Kernel/Autoclean) + $(STAMP_PREPARED): $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE)) + -rm -rf $(KERNEL_BUILD_DIR) + -mkdir -p $(KERNEL_BUILD_DIR) + $(Kernel/Prepare) + touch $$@ + + $(KERNEL_BUILD_DIR)/symtab.h: FORCE + rm -f $(KERNEL_BUILD_DIR)/symtab.h + touch $(KERNEL_BUILD_DIR)/symtab.h + +$(MAKE) $(KERNEL_MAKEOPTS) vmlinux + find $(LINUX_DIR) $(STAGING_DIR_ROOT)/lib/modules -name \*.ko | \ + xargs $(TARGET_CROSS)nm | \ + awk '$$$$1 == "U" { print $$$$2 } ' | \ + sort -u > $(KERNEL_BUILD_DIR)/mod_symtab.txt + $(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | grep ' [rR] __ksymtab' | sed -e 's,........ [rR] __ksymtab_,,' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt + grep -Ff $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt + grep -Fvf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt + ( \ + echo '#define SYMTAB_KEEP \'; \ + cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ + awk '{print "KEEP(*(___ksymtab+" $$$$1 ")) \\" }'; \ + echo; \ + echo '#define SYMTAB_KEEP_GPL \'; \ + cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ + awk '{print "KEEP(*(___ksymtab_gpl+" $$$$1 ")) \\" }'; \ + echo; \ + echo '#define SYMTAB_DISCARD \'; \ + cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ + awk '{print "*(___ksymtab+" $$$$1 ") \\" }'; \ + echo; \ + echo '#define SYMTAB_DISCARD_GPL \'; \ + cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ + awk '{print "*(___ksymtab_gpl+" $$$$1 ") \\" }'; \ + echo; \ + ) > $$@ + + $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST) $(TOPDIR)/.config FORCE + $(Kernel/Configure) + touch $$@ + + $(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE + $(Kernel/CompileModules) + touch $$@ + + $(LINUX_DIR)/.image: $(STAMP_CONFIGURED) $(if $(CONFIG_STRIP_KERNEL_EXPORTS),$(KERNEL_BUILD_DIR)/symtab.h) FORCE + $(Kernel/CompileImage) + $(Kernel/CollectDebug) + touch $$@ + + mostlyclean: FORCE + $(Kernel/Clean) + + define BuildKernel + endef + + download: $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE)) + prepare: $(STAMP_CONFIGURED) + compile: $(LINUX_DIR)/.modules + $(MAKE) -C image compile TARGET_BUILD= + + oldconfig menuconfig nconfig: $(STAMP_PREPARED) $(STAMP_CHECKED) FORCE + rm -f $(LINUX_DIR)/.config.prev + rm -f $(STAMP_CONFIGURED) + $(LINUX_RECONF_CMD) > $(LINUX_DIR)/.config + $(_SINGLE)$(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKEOPTS) HOST_LOADLIBES="-L$(STAGING_DIR_HOST)/lib -lncurses" $$@ + $(LINUX_RECONF_DIFF) $(LINUX_DIR)/.config > $(LINUX_RECONFIG_TARGET) + + install: $(LINUX_DIR)/.image + +$(MAKE) -C image compile install TARGET_BUILD= + + clean: FORCE + rm -rf $(KERNEL_BUILD_DIR) + + image-prereq: + @+$(NO_TRACE_MAKE) -s -C image prereq TARGET_BUILD= + + prereq: image-prereq + +endef diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk new file mode 100644 index 0000000000..a17b489c98 --- /dev/null +++ b/include/kernel-defaults.mk @@ -0,0 +1,184 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(SOURCE_DATE_EPOCH),) + ifndef DUMP + KBUILD_BUILD_TIMESTAMP:=$(shell perl -e 'print scalar gmtime($(SOURCE_DATE_EPOCH))') + endif +endif + +KERNEL_MAKEOPTS := -C $(LINUX_DIR) \ + HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \ + CROSS_COMPILE="$(KERNEL_CROSS)" \ + ARCH="$(LINUX_KARCH)" \ + KBUILD_HAVE_NLS=no \ + KBUILD_BUILD_USER="$(call qstrip,$(CONFIG_KERNEL_BUILD_USER))" \ + KBUILD_BUILD_HOST="$(call qstrip,$(CONFIG_KERNEL_BUILD_DOMAIN))" \ + KBUILD_BUILD_TIMESTAMP="$(KBUILD_BUILD_TIMESTAMP)" \ + KBUILD_BUILD_VERSION="0" \ + HOST_LOADLIBES="-L$(STAGING_DIR_HOST)/lib" \ + CONFIG_SHELL="$(BASH)" \ + $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \ + $(if $(PKG_BUILD_ID),LDFLAGS_MODULE=--build-id=0x$(PKG_BUILD_ID)) + +ifdef CONFIG_STRIP_KERNEL_EXPORTS + KERNEL_MAKEOPTS += \ + EXTRA_LDSFLAGS="-I$(KERNEL_BUILD_DIR) -include symtab.h" +endif + +INITRAMFS_EXTRA_FILES ?= $(GENERIC_PLATFORM_DIR)/image/initramfs-base-files.txt + +ifneq (,$(KERNEL_CC)) + KERNEL_MAKEOPTS += CC="$(KERNEL_CC)" +endif + +ifdef CONFIG_USE_SPARSE + KERNEL_MAKEOPTS += C=1 CHECK=$(STAGING_DIR_HOST)/bin/sparse +endif + +ifneq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"") + KERNEL_MAKEOPTS += LOCALVERSION= +endif + +export HOST_EXTRACFLAGS=-I$(STAGING_DIR_HOST)/include + +# defined in quilt.mk +Kernel/Patch:=$(Kernel/Patch/Default) + +ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"") + ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"") + define Kernel/Prepare/Default + xzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS) + $(Kernel/Patch) + $(if $(QUILT),touch $(LINUX_DIR)/.quilt_used) + endef + else + define Kernel/Prepare/Default + xzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS) + endef + endif +else + define Kernel/Prepare/Default + mkdir -p $(KERNEL_BUILD_DIR) + if [ -d $(LINUX_DIR) ]; then \ + rmdir $(LINUX_DIR); \ + fi + ln -s $(CONFIG_EXTERNAL_KERNEL_TREE) $(LINUX_DIR) + endef +endif + +ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) + ifeq ($(strip $(CONFIG_EXTERNAL_CPIO)),"") + define Kernel/SetInitramfs/PreConfigure + grep -v -e INITRAMFS -e CONFIG_RD_ -e CONFIG_BLK_DEV_INITRD $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config + echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(TARGET_DIR) $(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_DIR)/.config + endef + else + define Kernel/SetInitramfs/PreConfigure + grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_SOURCE="$(call qstrip,$(CONFIG_EXTERNAL_CPIO))"' >> $(LINUX_DIR)/.config + endef + endif + + define Kernel/SetInitramfs + rm -f $(LINUX_DIR)/.config.prev + mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old + $(call Kernel/SetInitramfs/PreConfigure) + echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config + echo "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,# CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),CONFIG_INITRAMFS_COMPRESSION_LZO=y\nCONFIG_RD_LZO=y,# CONFIG_INITRAMFS_COMPRESSION_LZO is not set\n# CONFIG_RD_LZO is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),CONFIG_INITRAMFS_COMPRESSION_XZ=y\nCONFIG_RD_XZ=y,# CONFIG_INITRAMFS_COMPRESSION_XZ is not set\n# CONFIG_RD_XZ is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZ4),CONFIG_INITRAMFS_COMPRESSION_LZ4=y\nCONFIG_RD_LZ4=y,# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set\n# CONFIG_RD_LZ4 is not set)" >> $(LINUX_DIR)/.config + endef +else +endif + +define Kernel/SetNoInitramfs + mv $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.old + grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config.set + echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config.set +endef + +define Kernel/Configure/Default + rm -f $(LINUX_DIR)/localversion + $(LINUX_CONF_CMD) > $(LINUX_DIR)/.config.target +# copy CONFIG_KERNEL_* settings over to .config.target + awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' $(TOPDIR)/.config >> $(LINUX_DIR)/.config.target + echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target + echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target + echo "CONFIG_KALLSYMS_UNCOMPRESSED=y" >> $(LINUX_DIR)/.config.target + $(SCRIPT_DIR)/package-metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override + $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config.set + $(call Kernel/SetNoInitramfs) + rm -rf $(KERNEL_BUILD_DIR)/modules + cmp -s $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev || { \ + cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config; \ + cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev; \ + } + $(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(MAKE) $(KERNEL_MAKEOPTS) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install + $(SH_FUNC) grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | md5s > $(LINUX_DIR)/.vermagic +endef + +define Kernel/Configure/Initramfs + $(call Kernel/SetInitramfs) +endef + +define Kernel/CompileModules/Default + rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map + +$(MAKE) $(KERNEL_MAKEOPTS) modules +endef + +OBJCOPY_STRIP = -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id + +# AMD64 shares the location with x86 +ifeq ($(LINUX_KARCH),x86_64) +IMAGES_DIR:=../../x86/boot +endif + +define Kernel/CopyImage + cmp -s $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug || { \ + $(KERNEL_CROSS)objcopy -O binary $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(LINUX_KERNEL)$(1); \ + $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).elf; \ + $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug; \ + $(foreach k, \ + $(if $(KERNEL_IMAGES),$(KERNEL_IMAGES),$(filter-out dtbs,$(KERNELNAME))), \ + $(CP) $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/$(IMAGES_DIR)/$(k) $(KERNEL_BUILD_DIR)/$(k)$(1); \ + ) \ + } +endef + +define Kernel/CompileImage/Default + rm -f $(TARGET_DIR)/init + +$(MAKE) $(KERNEL_MAKEOPTS) $(if $(KERNELNAME),$(KERNELNAME),all) modules + $(call Kernel/CopyImage) +endef + +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) +define Kernel/CompileImage/Initramfs + $(call Kernel/Configure/Initramfs) + $(CP) $(GENERIC_PLATFORM_DIR)/base-files/init $(TARGET_DIR)/init + rm -rf $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/usr/initramfs_data.cpio* + +$(MAKE) $(KERNEL_MAKEOPTS) $(if $(KERNELNAME),$(KERNELNAME),all) modules + $(call Kernel/CopyImage,-initramfs) +endef +else +define Kernel/CompileImage/Initramfs +endef +endif + +define Kernel/Clean/Default + rm -f $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/.configured + rm -f $(LINUX_KERNEL) + $(_SINGLE)$(MAKE) -C $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) clean +endef + + diff --git a/include/kernel-version.mk b/include/kernel-version.mk new file mode 100644 index 0000000000..f2fa0d0b04 --- /dev/null +++ b/include/kernel-version.mk @@ -0,0 +1,25 @@ +# Use the default kernel version if the Makefile doesn't override it + +LINUX_RELEASE?=1 + +LINUX_VERSION-3.18 = .43 +LINUX_VERSION-4.1 = .34 +LINUX_VERSION-4.4 = .36 + +LINUX_KERNEL_MD5SUM-3.18.43 = b1faeb4a2e1e70ffe061bdbb3452840a +LINUX_KERNEL_MD5SUM-4.1.34 = fba99f0f4765ebf01033e69518740a3c +LINUX_KERNEL_MD5SUM-4.4.36 = 505548da130599c866d92105a8b04758 + +ifdef KERNEL_PATCHVER + LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) +endif + +split_version=$(subst ., ,$(1)) +merge_version=$(subst $(space),.,$(1)) +KERNEL_BASE=$(firstword $(subst -, ,$(LINUX_VERSION))) +KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(KERNEL_BASE)))) +KERNEL_PATCHVER ?= $(KERNEL) + +# disable the md5sum check for unknown kernel versions +LINUX_KERNEL_MD5SUM:=$(LINUX_KERNEL_MD5SUM-$(strip $(LINUX_VERSION))) +LINUX_KERNEL_MD5SUM?=x diff --git a/include/kernel.mk b/include/kernel.mk new file mode 100644 index 0000000000..54966da789 --- /dev/null +++ b/include/kernel.mk @@ -0,0 +1,244 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifeq ($(__target_inc),) + include $(INCLUDE_DIR)/target.mk +endif + +ifeq ($(DUMP),1) + KERNEL?= + BOARD?= + LINUX_VERSION?= + LINUX_VERMAGIC?= +else + ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + export GCC_HONOUR_COPTS=s + endif + + LINUX_KMOD_SUFFIX=ko + + ifneq (,$(findstring uml,$(BOARD))) + KERNEL_CC?=$(HOSTCC) + KERNEL_CROSS?= + else + KERNEL_CC?=$(TARGET_CC) + KERNEL_CROSS?=$(TARGET_CROSS) + endif + + ifeq ($(TARGET_BUILD),1) + PATCH_DIR ?= $(CURDIR)/patches$(if $(wildcard ./patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) + FILES_DIR ?= $(foreach dir,$(wildcard $(CURDIR)/files $(CURDIR)/files-$(KERNEL_PATCHVER)),"$(dir)") + endif + KERNEL_BUILD_DIR ?= $(BUILD_DIR)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)) + LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) + LINUX_UAPI_DIR=uapi/ + LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_DIR)/.vermagic 2>/dev/null)) + LINUX_VERMAGIC:=$(if $(LINUX_VERMAGIC),$(LINUX_VERMAGIC),unknown) + + LINUX_UNAME_VERSION:=$(if $(word 3,$(subst ., ,$(KERNEL_BASE))),$(KERNEL_BASE),$(KERNEL_BASE).0) + ifneq ($(findstring -rc,$(LINUX_VERSION)),) + LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION)))) + endif + + MODULES_SUBDIR:=lib/modules/$(LINUX_UNAME_VERSION)-gnu + TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR) + + LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux + + LINUX_SOURCE:=linux-libre-$(LINUX_VERSION)-gnu.tar.xz + TESTING:=$(if $(findstring -rc,$(LINUX_VERSION)),/testing,) + ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE))$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),) + LINUX_SITE:=@KERNEL_LIBRE/$(LINUX_VERSION)-gnu$(TESTING) + endif + + ifneq ($(TARGET_BUILD),1) + PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) + endif +endif + +ifneq (,$(findstring uml,$(BOARD))) + LINUX_KARCH=um +else ifneq (,$(findstring $(ARCH) , aarch64 aarch64_be )) + LINUX_KARCH := arm64 +else ifneq (,$(findstring $(ARCH) , arceb )) + LINUX_KARCH := arc +else ifneq (,$(findstring $(ARCH) , armeb )) + LINUX_KARCH := arm +else ifneq (,$(findstring $(ARCH) , mipsel mips64 mips64el )) + LINUX_KARCH := mips +else ifneq (,$(findstring $(ARCH) , sh2 sh3 sh4 )) + LINUX_KARCH := sh +else ifneq (,$(findstring $(ARCH) , i386 x86_64 )) + LINUX_KARCH := x86 +else + LINUX_KARCH := $(ARCH) +endif + +define KernelPackage/Defaults + FILES:= + AUTOLOAD:= + PKGFLAGS+=nonshared +endef + +define ModuleAutoLoad + $(SH_FUNC) \ + export modules=; \ + probe_module() { \ + mods="$$$$$$$$1"; \ + boot="$$$$$$$$2"; \ + shift 2; \ + for mod in $(sort $$$$$$$$mods); do \ + mkdir -p $(2)/etc/modules.d; \ + echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$(1); \ + done; \ + if [ -e $(2)/etc/modules.d/$(1) ]; then \ + if [ "$$$$$$$$boot" = "1" ]; then \ + mkdir -p $(2)/etc/modules-boot.d; \ + ln -s ../modules.d/$(1) $(2)/etc/modules-boot.d/; \ + fi; \ + modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$mods"; \ + fi; \ + }; \ + add_module() { \ + priority="$$$$$$$$1"; \ + mods="$$$$$$$$2"; \ + boot="$$$$$$$$3"; \ + shift 3; \ + for mod in $(sort $$$$$$$$mods); do \ + mkdir -p $(2)/etc/modules.d; \ + echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$$$$$$$$priority-$(1); \ + done; \ + if [ -e $(2)/etc/modules.d/$$$$$$$$priority-$(1) ]; then \ + if [ "$$$$$$$$boot" = "1" ]; then \ + mkdir -p $(2)/etc/modules-boot.d; \ + ln -s ../modules.d/$$$$$$$$priority-$(1) $(2)/etc/modules-boot.d/; \ + fi; \ + modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$priority-$(1)"; \ + fi; \ + }; \ + $(3) \ + if [ -n "$$$$$$$$modules" ]; then \ + mkdir -p $(2)/etc/modules.d; \ + mkdir -p $(2)/CONTROL; \ + echo "#!/bin/sh" > $(2)/CONTROL/postinst-pkg; \ + echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst-pkg; \ + echo ". /lib/functions.sh" >> $(2)/CONTROL/postinst-pkg; \ + echo "insert_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst-pkg; \ + chmod 0755 $(2)/CONTROL/postinst-pkg; \ + fi +endef + +ifeq ($(DUMP)$(TARGET_BUILD),) + -include $(LINUX_DIR)/.config +endif + +define KernelPackage/depends + $(STAMP_BUILT): $(LINUX_DIR)/.config + define KernelPackage/depends + endef +endef + +define KernelPackage + NAME:=$(1) + $(eval $(call Package/Default)) + $(eval $(call KernelPackage/Defaults)) + $(eval $(call KernelPackage/$(1))) + $(eval $(call KernelPackage/$(1)/$(BOARD))) + + define Package/kmod-$(1) + TITLE:=$(TITLE) + SECTION:=kernel + CATEGORY:=Kernel modules + DESCRIPTION:=$(DESCRIPTION) + EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)) + VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE)) + PKGFLAGS:=$(PKGFLAGS) + $(call KernelPackage/$(1)) + $(call KernelPackage/$(1)/$(BOARD)) + endef + + ifdef KernelPackage/$(1)/conffiles + define Package/kmod-$(1)/conffiles +$(call KernelPackage/$(1)/conffiles) + endef + endif + + ifdef KernelPackage/$(1)/description + define Package/kmod-$(1)/description +$(call KernelPackage/$(1)/description) + endef + endif + + ifdef KernelPackage/$(1)/config + define Package/kmod-$(1)/config +$(call KernelPackage/$(1)/config) + endef + endif + + $(call KernelPackage/depends) + + ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m y,$(foreach c,$(filter-out %=y %=n %=m,$(KCONFIG)),$($(c)))),.),) + ifneq ($(strip $(FILES)),) + define Package/kmod-$(1)/install + @for mod in $$(call version_filter,$$(FILES)); do \ + if grep -q "$$$$$$$${mod##$(LINUX_DIR)/}" "$(LINUX_DIR)/modules.builtin"; then \ + echo "NOTICE: module '$$$$$$$$mod' is built-in."; \ + elif [ -e $$$$$$$$mod ]; then \ + mkdir -p $$(1)/$(MODULES_SUBDIR) ; \ + $(CP) -L $$$$$$$$mod $$(1)/$(MODULES_SUBDIR)/ ; \ + else \ + echo "ERROR: module '$$$$$$$$mod' is missing." >&2; \ + exit 1; \ + fi; \ + done; + $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD)) + $(call KernelPackage/$(1)/install,$$(1)) + endef + endif + $(if $(CONFIG_PACKAGE_kmod-$(1)), + else + compile: $(1)-disabled + $(1)-disabled: + @echo "WARNING: kmod-$(1) is not available in the kernel config - generating empty package" >&2 + + define Package/kmod-$(1)/install + true + endef + ) + endif + $$(eval $$(call BuildPackage,kmod-$(1))) + + $$(IPKG_kmod-$(1)): $$(wildcard $$(FILES)) +endef + +version_filter=$(if $(findstring @,$(1)),$(shell $(SCRIPT_DIR)/package-metadata.pl version_filter $(KERNEL_PATCHVER) $(1)),$(1)) + +define AutoLoad + add_module "$(1)" "$(call version_filter,$(2))" "$(3)"; +endef + +define AutoProbe + probe_module "$(call version_filter,$(1))" "$(2)"; +endef + +version_field=$(if $(word $(1),$(2)),$(word $(1),$(2)),0) +kernel_version_merge=$$(( ($(call version_field,1,$(1)) << 24) + ($(call version_field,2,$(1)) << 16) + ($(call version_field,3,$(1)) << 8) + $(call version_field,4,$(1)) )) + +ifdef DUMP + kernel_version_cmp= +else + kernel_version_cmp=$(shell [ $(call kernel_version_merge,$(call split_version,$(2))) $(1) $(call kernel_version_merge,$(call split_version,$(3))) ] && echo 1 ) +endif + +CompareKernelPatchVer=$(if $(call kernel_version_cmp,-$(2),$(1),$(3)),1,0) + +kernel_patchver_gt=$(call kernel_version_cmp,-gt,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_ge=$(call kernel_version_cmp,-ge,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_eq=$(call kernel_version_cmp,-eq,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_le=$(call kernel_version_cmp,-le,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_lt=$(call kernel_version_cmp,-lt,$(KERNEL_PATCHVER),$(1)) + diff --git a/include/netfilter.mk b/include/netfilter.mk new file mode 100644 index 0000000000..c793ce5ac1 --- /dev/null +++ b/include/netfilter.mk @@ -0,0 +1,376 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__inc_netfilter),1) +__inc_netfilter:=1 + +ifeq ($(NF_KMOD),1) +P_V4:=ipv4/netfilter/ +P_V6:=ipv6/netfilter/ +P_XT:=netfilter/ +P_EBT:=bridge/netfilter/ +endif + +# 1: variable +# 2: kconfig symbols +# 3: file list +# 4: version dependency +define nf_add + $(if $(4),ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),$(firstword $(4)),$(lastword $(4)))),1)) + $(1)-$$($(2)) += $(3) + $(if $(4),endif) + KCONFIG_$(1) = $(filter-out $(2),$(KCONFIG_$(1))) $(2) +endef + + +# core + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT,CONFIG_IP_NF_IPTABLES, $(P_V4)ip_tables),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT,CONFIG_NETFILTER_XTABLES, $(P_XT)x_tables),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT,CONFIG_NF_REJECT_IPV4, $(P_V4)nf_reject_ipv4),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_NETFILTER_XTABLES, $(P_XT)xt_tcpudp),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_FILTER, $(P_V4)iptable_filter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_MANGLE, $(P_V4)iptable_mangle),)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, xt_standard ipt_icmp xt_tcp xt_udp xt_comment xt_id xt_set xt_SET))) + +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_LIMIT, $(P_XT)xt_limit)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MAC, $(P_XT)xt_mac)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MULTIPORT, $(P_XT)xt_multiport)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_COMMENT, $(P_XT)xt_comment)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_ID, $(P_XT)xt_id)) + +#cluster +$(eval $(call nf_add,IPT_CLUSTER,CONFIG_NETFILTER_XT_MATCH_CLUSTER, $(P_XT)xt_cluster)) + +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)xt_LOG)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)nf_log_common)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_V4)nf_log_ipv4)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_TCPMSS, $(P_XT)xt_TCPMSS)) +$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_TARGET_REJECT, $(P_V4)ipt_REJECT)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_TIME, $(P_XT)xt_time)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MARK, $(P_XT)xt_mark)) + +# kernel has xt_MARK.ko merged into xt_mark.ko, userspace is still separate +# userland: xt_MARK.so +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MARK, $(P_XT)xt_MARK))) + + +# conntrack + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_CONNTRACK, $(P_XT)nf_conntrack),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_CONNTRACK_RTCACHE, $(P_XT)nf_conntrack_rtcache),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_DEFRAG_IPV4, $(P_V4)nf_defrag_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_CONNTRACK_IPV4, $(P_V4)nf_conntrack_ipv4),)) + +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_STATE, $(P_XT)xt_state)) +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_IP_NF_RAW, $(P_V4)iptable_raw)) +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_TARGET_CT, $(P_XT)xt_CT)) +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_CONNTRACK, $(P_XT)xt_conntrack)) + + +# conntrack-extra + +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_CONNBYTES, $(P_XT)xt_connbytes)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_CONNLIMIT, $(P_XT)xt_connlimit)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_CONNMARK, $(P_XT)xt_connmark)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_HELPER, $(P_XT)xt_helper)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_RECENT, $(P_XT)xt_recent)) + +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_CONNMARK, $(P_XT)xt_CONNMARK))) + +# extra + +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE, $(if $(NF_KMOD),$(P_XT)xt_addrtype,$(P_XT)ipt_addrtype))) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_OWNER, $(P_XT)xt_owner)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PHYSDEV, $(P_XT)xt_physdev)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PKTTYPE, $(P_XT)xt_pkttype)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_QUOTA, $(P_XT)xt_quota)) + +#$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_TARGET_ROUTE, $(P_V4)ipt_ROUTE)) + + +# filter + +$(eval $(call nf_add,IPT_FILTER,CONFIG_NETFILTER_XT_MATCH_STRING, $(P_XT)xt_string)) + + +# ipopt + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_DSCP, $(P_XT)xt_dscp)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_DSCP, $(P_XT)xt_DSCP)) +$(eval $(call nf_add,IPT_HASHLIMIT,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT, $(P_XT)xt_hashlimit)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_LENGTH, $(P_XT)xt_length)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_STATISTIC, $(P_XT)xt_statistic)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_TCPMSS, $(P_XT)xt_tcpmss)) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_CLASSIFY, $(P_XT)xt_CLASSIFY)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_DSCP, $(P_V4)ipt_dscp)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_ECN, $(P_V4)ipt_ECN)) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_ECN, $(P_XT)xt_ecn)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_DSCP, xt_tos))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_DSCP, xt_TOS))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_HL, ipt_ttl))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_HL, ipt_TTL))) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_HL, $(P_XT)xt_hl)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_HL, $(P_XT)xt_HL)) + +# iprange +$(eval $(call nf_add,IPT_IPRANGE,CONFIG_NETFILTER_XT_MATCH_IPRANGE, $(P_XT)xt_iprange)) + +#clusterip +$(eval $(call nf_add,IPT_CLUSTERIP,CONFIG_IP_NF_TARGET_CLUSTERIP, $(P_V4)ipt_CLUSTERIP)) + +# ipsec +$(eval $(call nf_add,IPT_IPSEC,CONFIG_IP_NF_MATCH_AH, $(P_V4)ipt_ah)) +$(eval $(call nf_add,IPT_IPSEC,CONFIG_NETFILTER_XT_MATCH_ESP, $(P_XT)xt_esp)) +$(eval $(call nf_add,IPT_IPSEC,CONFIG_NETFILTER_XT_MATCH_POLICY, $(P_XT)xt_policy)) + + +# IPv6 + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT6,CONFIG_IP6_NF_IPTABLES, $(P_V6)ip6_tables),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT6,CONFIG_NF_REJECT_IPV6, $(P_V6)nf_reject_ipv6),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK6,CONFIG_NF_DEFRAG_IPV6, $(P_V6)nf_defrag_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK6,CONFIG_NF_CONNTRACK_IPV6, $(P_V6)nf_conntrack_ipv6),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_FILTER, $(P_V6)ip6table_filter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_MANGLE, $(P_V6)ip6table_mangle),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_QUEUE, $(P_V6)ip6_queue),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_RAW, $(P_V6)ip6table_raw),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_NF_LOG_IPV6, $(P_V6)nf_log_ipv6),)) + +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_IPTABLES, ip6t_icmp6))) + + +$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_LOG, $(P_V6)ip6t_LOG)) +$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_REJECT, $(P_V6)ip6t_REJECT)) + +# ipv6 extra +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_IPV6HEADER, $(P_V6)ip6t_ipv6header)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_AH, $(P_V6)ip6t_ah)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_MH, $(P_V6)ip6t_mh)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_EUI64, $(P_V6)ip6t_eui64)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_OPTS, $(P_V6)ip6t_hbh)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_FRAG, $(P_V6)ip6t_frag)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_RT, $(P_V6)ip6t_rt)) + +# nat + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT,CONFIG_NF_NAT, $(P_XT)nf_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT,CONFIG_NF_NAT_REDIRECT, $(P_XT)nf_nat_redirect, ge 3.19.0),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT,CONFIG_NF_NAT_IPV4, $(P_V4)nf_nat_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT,CONFIG_NF_NAT_MASQUERADE_IPV4, $(P_V4)nf_nat_masquerade_ipv4),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT6,CONFIG_NF_NAT_IPV6, $(P_V6)nf_nat_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT6,CONFIG_NF_NAT_MASQUERADE_IPV6, $(P_V6)nf_nat_masquerade_ipv6),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_NETFILTER_XT_NAT, $(P_XT)xt_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_IP_NF_NAT, $(P_V4)iptable_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_NAT, $(P_V6)ip6table_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_MASQUERADE, $(P_V6)ip6t_MASQUERADE),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, $(P_V6)ip6t_NPT),)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT,CONFIG_NF_NAT, ipt_SNAT ipt_DNAT))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, ip6t_DNPT ip6t_SNPT))) + +$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_MASQUERADE, $(P_V4)ipt_MASQUERADE)) +$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_REDIRECT, $(P_XT)xt_REDIRECT)) + + +# nat-extra + +$(eval $(call nf_add,IPT_NAT_EXTRA,CONFIG_IP_NF_TARGET_NETMAP, $(P_XT)xt_NETMAP)) + + +# nathelper + +$(eval $(call nf_add,NF_NATHELPER,CONFIG_NF_CONNTRACK_FTP, $(P_XT)nf_conntrack_ftp)) +$(eval $(call nf_add,NF_NATHELPER,CONFIG_NF_NAT_FTP, $(P_XT)nf_nat_ftp)) + + +# nathelper-extra + +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_BROADCAST, $(P_XT)nf_conntrack_broadcast)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_AMANDA, $(P_XT)nf_conntrack_amanda)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_AMANDA, $(P_XT)nf_nat_amanda)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CT_PROTO_GRE, $(P_XT)nf_conntrack_proto_gre)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_PROTO_GRE, $(P_V4)nf_nat_proto_gre)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_H323, $(P_XT)nf_conntrack_h323)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_H323, $(P_V4)nf_nat_h323)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_PPTP, $(P_XT)nf_conntrack_pptp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_PPTP, $(P_V4)nf_nat_pptp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_SIP, $(P_XT)nf_conntrack_sip)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_SIP, $(P_XT)nf_nat_sip)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_SNMP, $(P_XT)nf_conntrack_snmp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_SNMP_BASIC, $(P_V4)nf_nat_snmp_basic)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_TFTP, $(P_XT)nf_conntrack_tftp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_TFTP, $(P_XT)nf_nat_tftp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_IRC, $(P_XT)nf_conntrack_irc)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_IRC, $(P_XT)nf_nat_irc)) + + +# ulog + +$(eval $(call nf_add,IPT_ULOG,CONFIG_IP_NF_TARGET_ULOG, $(P_V4)ipt_ULOG)) + + +# nflog + +$(eval $(call nf_add,IPT_NFLOG,CONFIG_NETFILTER_XT_TARGET_NFLOG, $(P_XT)xt_NFLOG)) + + +# nfqueue + +$(eval $(call nf_add,IPT_NFQUEUE,CONFIG_NETFILTER_XT_TARGET_NFQUEUE, $(P_XT)xt_NFQUEUE)) + + +# debugging + +$(eval $(call nf_add,IPT_DEBUG,CONFIG_NETFILTER_XT_TARGET_TRACE, $(P_XT)xt_TRACE)) + +# tproxy + +$(eval $(call nf_add,IPT_TPROXY,CONFIG_NETFILTER_XT_MATCH_SOCKET, $(P_XT)xt_socket)) +$(eval $(call nf_add,IPT_TPROXY,CONFIG_NETFILTER_XT_TARGET_TPROXY, $(P_XT)xt_TPROXY)) + +# led +$(eval $(call nf_add,IPT_LED,CONFIG_NETFILTER_XT_TARGET_LED, $(P_XT)xt_LED)) + +# tee + +$(eval $(call nf_add,IPT_TEE,CONFIG_NETFILTER_XT_TARGET_TEE, $(P_XT)xt_TEE)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_TEE,CONFIG_NF_DUP_IPV4, $(P_V4)nf_dup_ipv4, ge 4.3),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_TEE,CONFIG_NF_DUP_IPV6, $(P_V6)nf_dup_ipv6, ge 4.3),)) + +# u32 + +$(eval $(call nf_add,IPT_U32,CONFIG_NETFILTER_XT_MATCH_U32, $(P_XT)xt_u32)) + + +# netlink + +$(eval $(call nf_add,NFNETLINK,CONFIG_NETFILTER_NETLINK, $(P_XT)nfnetlink)) + +# nflog + +$(eval $(call nf_add,NFNETLINK_LOG,CONFIG_NETFILTER_NETLINK_LOG, $(P_XT)nfnetlink_log)) + +# nfqueue + +$(eval $(call nf_add,NFNETLINK_QUEUE,CONFIG_NETFILTER_NETLINK_QUEUE, $(P_XT)nfnetlink_queue)) + +# +# ebtables +# + +$(eval $(if $(NF_KMOD),$(call nf_add,EBTABLES,CONFIG_BRIDGE_NF_EBTABLES, $(P_EBT)ebtables),)) + +# ebtables: tables +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_BROUTE, $(P_EBT)ebtable_broute)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_FILTER, $(P_EBT)ebtable_filter)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_NAT, $(P_EBT)ebtable_nat)) + +# ebtables: matches +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_802_3, $(P_EBT)ebt_802_3)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_AMONG, $(P_EBT)ebt_among)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARP, $(P_EBT)ebt_arp)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_IP, $(P_EBT)ebt_ip)) +$(eval $(call nf_add,EBTABLES_IP6,CONFIG_BRIDGE_EBT_IP6, $(P_EBT)ebt_ip6)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_LIMIT, $(P_EBT)ebt_limit)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK, $(P_EBT)ebt_mark_m)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_PKTTYPE, $(P_EBT)ebt_pkttype)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_STP, $(P_EBT)ebt_stp)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_VLAN, $(P_EBT)ebt_vlan)) + +# targets +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARPREPLY, $(P_EBT)ebt_arpreply)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK_T, $(P_EBT)ebt_mark)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_DNAT, $(P_EBT)ebt_dnat)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_REDIRECT, $(P_EBT)ebt_redirect)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_SNAT, $(P_EBT)ebt_snat)) + +# watchers +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_LOG, $(P_EBT)ebt_log)) +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_ULOG, $(P_EBT)ebt_ulog)) +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFLOG, $(P_EBT)ebt_nflog)) +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFQUEUE, $(P_EBT)ebt_nfqueue)) + +# nftables +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES, $(P_XT)nf_tables),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES_INET, $(P_XT)nf_tables_inet),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_EXTHDR, $(P_XT)nft_exthdr),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_META, $(P_XT)nft_meta),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_CT, $(P_XT)nft_ct),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_RBTREE, $(P_XT)nft_rbtree),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_HASH, $(P_XT)nft_hash),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_COUNTER, $(P_XT)nft_counter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_LOG, $(P_XT)nft_log),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_LIMIT, $(P_XT)nft_limit),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT, $(P_XT)nft_reject $(P_V4)nft_reject_ipv4 $(P_V6)nft_reject_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT_INET, $(P_XT)nft_reject_inet),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES_IPV4, $(P_V4)nf_tables_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_CHAIN_ROUTE_IPV4, $(P_V4)nft_chain_route_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES_IPV6, $(P_V6)nf_tables_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_CHAIN_ROUTE_IPV6, $(P_V6)nft_chain_route_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REDIR, $(P_XT)nft_redir, ge 3.19.0),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_NAT, $(P_XT)nft_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_CHAIN_NAT_IPV4, $(P_V4)nft_chain_nat_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_REDIR_IPV4, $(P_V4)nft_redir_ipv4, ge 3.19.0),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT6,CONFIG_NFT_REDIR_IPV6, $(P_V6)nft_redir_ipv6, ge 3.19.0),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT6,CONFIG_NFT_CHAIN_NAT_IPV6, $(P_V6)nft_chain_nat_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ, $(P_XT)nft_masq),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ_IPV4, $(P_V4)nft_masq_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ_IPV6, $(P_V6)nft_masq_ipv6),)) + +# userland only +IPT_BUILTIN += $(NF_IPT-y) $(NF_IPT-m) +IPT_BUILTIN += $(IPT_CORE-y) $(IPT_CORE-m) +IPT_BUILTIN += $(NF_CONNTRACK-y) +IPT_BUILTIN += $(NF_CONNTRACK6-y) +IPT_BUILTIN += $(IPT_CONNTRACK-y) +IPT_BUILTIN += $(IPT_CONNTRACK_EXTRA-y) +IPT_BUILTIN += $(IPT_EXTRA-y) +IPT_BUILTIN += $(IPT_FILTER-y) +IPT_BUILTIN += $(IPT_IPOPT-y) +IPT_BUILTIN += $(IPT_IPRANGE-y) +IPT_BUILTIN += $(IPT_CLUSTER-y) +IPT_BUILTIN += $(IPT_CLUSTERIP-y) +IPT_BUILTIN += $(IPT_IPSEC-y) +IPT_BUILTIN += $(IPT_IPV6-y) $(IPT_IPV6-m) +IPT_BUILTIN += $(NF_NAT-y) +IPT_BUILTIN += $(NF_NAT6-y) +IPT_BUILTIN += $(IPT_NAT-y) +IPT_BUILTIN += $(IPT_NAT6-y) +IPT_BUILTIN += $(IPT_NAT_EXTRA-y) +IPT_BUILTIN += $(NF_NATHELPER-y) +IPT_BUILTIN += $(NF_NATHELPER_EXTRA-y) +IPT_BUILTIN += $(IPT_ULOG-y) +IPT_BUILTIN += $(IPT_DEBUG-y) +IPT_BUILTIN += $(IPT_TPROXY-y) +IPT_BUILTIN += $(NFNETLINK-y) +IPT_BUILTIN += $(NFNETLINK_LOG-y) +IPT_BUILTIN += $(NFNETLINK_QUEUE-y) +IPT_BUILTIN += $(EBTABLES-y) +IPT_BUILTIN += $(EBTABLES_IP4-y) +IPT_BUILTIN += $(EBTABLES_IP6-y) +IPT_BUILTIN += $(EBTABLES_WATCHERS-y) + +endif # __inc_netfilter diff --git a/include/nls.mk b/include/nls.mk new file mode 100644 index 0000000000..51463b9f12 --- /dev/null +++ b/include/nls.mk @@ -0,0 +1,40 @@ +# +# Copyright (C) 2011-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +# iconv full +ifeq ($(CONFIG_BUILD_NLS),y) + ICONV_PREFIX:=$(STAGING_DIR)/usr/lib/libiconv-full + ICONV_FULL:=1 + + INTL_PREFIX:=$(STAGING_DIR)/usr/lib/libintl-full + INTL_FULL:=1 + +# iconv stub +else + ICONV_PREFIX:=$(STAGING_DIR)/usr/lib/libiconv-stub + ICONV_FULL:= + + INTL_PREFIX:=$(STAGING_DIR)/usr/lib/libintl-stub + INTL_FULL:= +endif + +PKG_CONFIG_DEPENDS += CONFIG_BUILD_NLS +PKG_BUILD_DEPENDS += !BUILD_NLS:libiconv !BUILD_NLS:libintl + +ICONV_DEPENDS:=+BUILD_NLS:libiconv-full +ICONV_CFLAGS:=-I$(ICONV_PREFIX)/include +ICONV_CPPFLAGS:=-I$(ICONV_PREFIX)/include +ICONV_LDFLAGS:=-L$(ICONV_PREFIX)/lib -Wl,-rpath-link=$(ICONV_PREFIX)/lib + +INTL_DEPENDS:=+BUILD_NLS:libintl-full +INTL_CFLAGS:=-I$(INTL_PREFIX)/include +INTL_CPPFLAGS:=-I$(INTL_PREFIX)/include +INTL_LDFLAGS:=-L$(INTL_PREFIX)/lib -Wl,-rpath-link=$(INTL_PREFIX)/lib + +TARGET_CFLAGS += $(ICONV_CFLAGS) $(INTL_CFLAGS) +TARGET_CPPFLAGS += $(ICONV_CPPFLAGS) $(INTL_CPPFLAGS) +TARGET_LDFLAGS += $(ICONV_LDFLAGS) $(INTL_LDFLAGS) diff --git a/include/package-bin.mk b/include/package-bin.mk new file mode 100644 index 0000000000..e5224517f8 --- /dev/null +++ b/include/package-bin.mk @@ -0,0 +1,33 @@ +# +# Copyright (C) 2007-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifeq ($(DUMP),) + define BuildTarget/bin + ifeq ($(if $(VARIANT),$(BUILD_VARIANT)),$(VARIANT)) + ifdef Package/$(1)/install + ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) + compile: install-bin-$(1) + else + compile: $(1)-disabled + $(1)-disabled: + @echo "WARNING: skipping $(1) -- package not selected" >&2 + endif + endif + endif + + install-bin-$(1): $(STAMP_BUILT) + rm -rf $(BIN_DIR)/$(1) + $(INSTALL_DIR) $(BIN_DIR)/$(1) + $(call Package/$(1)/install,$(BIN_DIR)/$(1)) + + clean-$(1): + rm -rf $(BIN_DIR)/$(1) + + clean: clean-$(1) + .PHONY: install-bin-$(1) + endef +endif diff --git a/include/package-defaults.mk b/include/package-defaults.mk new file mode 100644 index 0000000000..487811c0e2 --- /dev/null +++ b/include/package-defaults.mk @@ -0,0 +1,162 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +PKG_DEFAULT_DEPENDS = +libc +SSP_SUPPORT:libssp +USE_GLIBC:librt +USE_GLIBC:libpthread + +ifneq ($(PKG_NAME),toolchain) + PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),$(PKG_DEFAULT_DEPENDS) $(filter-out $(PKG_DEFAULT_DEPENDS),$(2))) +else + PKG_FIXUP_DEPENDS = $(2) +endif + +define Package/Default + CONFIGFILE:= + SECTION:=opt + CATEGORY:=Extra packages + DEPENDS:= + MDEPENDS:= + CONFLICTS:= + PROVIDES:= + EXTRA_DEPENDS:= + MAINTAINER:=$(PKG_MAINTAINER) + SOURCE:=$(patsubst $(TOPDIR)/%,%,$(CURDIR)) + ifneq ($(PKG_VERSION),) + ifneq ($(PKG_RELEASE),) + VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + else + VERSION:=$(PKG_VERSION) + endif + else + VERSION:=$(PKG_RELEASE) + endif + ABI_VERSION:= + ifneq ($(PKG_FLAGS),) + PKGFLAGS:=$(PKG_FLAGS) + else + PKGFLAGS:= + endif + ifneq ($(ARCH_PACKAGES),) + PKGARCH:=$(ARCH_PACKAGES) + else + PKGARCH:=$(BOARD) + endif + DEFAULT:= + MENU:= + SUBMENU:= + SUBMENUDEP:= + TITLE:= + KCONFIG:= + BUILDONLY:= + HIDDEN:= + URL:= + VARIANT:= + DEFAULT_VARIANT:= + USERID:= +endef + +Build/Patch:=$(Build/Patch/Default) +ifneq ($(strip $(PKG_UNPACK)),) + define Build/Prepare/Default + $(PKG_UNPACK) + [ ! -d ./src/ ] || $(CP) ./src/* $(PKG_BUILD_DIR) + $(Build/Patch) + endef +endif + +EXTRA_CXXFLAGS = $(EXTRA_CFLAGS) +ifeq ($(CONFIG_BUILD_NLS),y) + DISABLE_NLS:= +else + DISABLE_NLS:=--disable-nls +endif + +CONFIGURE_PREFIX:=/usr +CONFIGURE_ARGS = \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=$(CONFIGURE_PREFIX) \ + --exec-prefix=$(CONFIGURE_PREFIX) \ + --bindir=$(CONFIGURE_PREFIX)/bin \ + --sbindir=$(CONFIGURE_PREFIX)/sbin \ + --libexecdir=$(CONFIGURE_PREFIX)/lib \ + --sysconfdir=/etc \ + --datadir=$(CONFIGURE_PREFIX)/share \ + --localstatedir=/var \ + --mandir=$(CONFIGURE_PREFIX)/man \ + --infodir=$(CONFIGURE_PREFIX)/info \ + $(DISABLE_NLS) \ + $(DISABLE_LARGEFILE) \ + $(DISABLE_IPV6) + +CONFIGURE_VARS = \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)" \ + CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + +CONFIGURE_PATH = . +CONFIGURE_CMD = ./configure + +replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; \ + $(FIND) $(1) -name $(2) | $(XARGS) -n1 cp --remove-destination \ + $(SCRIPT_DIR)/$(2); + +define Build/Configure/Default + (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/$(strip $(3)); \ + if [ -x $(CONFIGURE_CMD) ]; then \ + $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.guess) \ + $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.sub) \ + $(CONFIGURE_VARS) \ + $(2) \ + $(CONFIGURE_CMD) \ + $(CONFIGURE_ARGS) \ + $(1); \ + fi; \ + ) +endef + +MAKE_VARS = \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" + +MAKE_FLAGS = \ + $(TARGET_CONFIGURE_OPTS) \ + CROSS="$(TARGET_CROSS)" \ + ARCH="$(ARCH)" + +MAKE_INSTALL_FLAGS = \ + $(MAKE_FLAGS) \ + DESTDIR="$(PKG_INSTALL_DIR)" + +MAKE_PATH ?= . + +define Build/Compile/Default + +$(MAKE_VARS) \ + $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ + $(MAKE_FLAGS) \ + $(1); +endef + +define Build/Install/Default + $(MAKE_VARS) \ + $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ + $(MAKE_INSTALL_FLAGS) \ + $(if $(1), $(1), install); +endef + +define Build/Dist/Default + $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" dist) +endef + +define Build/DistCheck/Default + $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" distcheck) +endef diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk new file mode 100644 index 0000000000..b717c1b472 --- /dev/null +++ b/include/package-dumpinfo.mk @@ -0,0 +1,91 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(DUMP),) + +dumpinfo: FORCE + +define Config/template +Preconfig: $(1) +Preconfig-Type: $(2) +Preconfig-Default: $(3) +Preconfig-Label: $(4) + +endef + +define Config + Preconfig/$(1) = $$(call Config/template,$(1),$(2),$(3),$(4)) + preconfig_$$(1) += $(1) +endef + +define Dumpinfo/Package +$(info Package: $(1) +$(if $(MENU),Menu: $(MENU) +)$(if $(SUBMENU),Submenu: $(SUBMENU) +)$(if $(SUBMENUDEP),Submenu-Depends: $(SUBMENUDEP) +)$(if $(DEFAULT),Default: $(DEFAULT) +)$(if $(findstring $(PREREQ_CHECK),1),Prereq-Check: 1 +)Version: $(VERSION) +Depends: $(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) +Conflicts: $(CONFLICTS) +Menu-Depends: $(MDEPENDS) +Provides: $(PROVIDES) +$(if $(VARIANT),Build-Variant: $(VARIANT) +$(if $(DEFAULT_VARIANT),Default-Variant: $(VARIANT) +))$(if $(PKG_BUILD_DEPENDS),Build-Depends: $(PKG_BUILD_DEPENDS) +)$(if $(HOST_BUILD_DEPENDS),Build-Depends/host: $(HOST_BUILD_DEPENDS) +)$(if $(BUILD_TYPES),Build-Types: $(BUILD_TYPES) +)Section: $(SECTION) +Category: $(CATEGORY) +$(if $(filter nonshared,$(PKGFLAGS)),,Repository: $(if $(FEED),$(FEED),base) +)Title: $(TITLE) +Maintainer: $(MAINTAINER) +$(if $(USERID),Require-User: $(USERID) +)Source: $(PKG_SOURCE) +$(if $(PKG_LICENSE),License: $(PKG_LICENSE) +)$(if $(PKG_LICENSE_FILES),LicenseFiles: $(PKG_LICENSE_FILES) +)Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg)) +$(if $(KCONFIG),Kernel-Config: $(KCONFIG) +)$(if $(BUILDONLY),Build-Only: $(BUILDONLY) +)$(if $(HIDDEN),Hidden: $(HIDDEN) +)Description: $(if $(Package/$(1)/description),$(Package/$(1)/description),$(TITLE)) +$(if $(URL),$(URL) +)$(MAINTAINER) +@@ +$(if $(Package/$(1)/config),Config: +$(Package/$(1)/config) +@@ +)$(foreach pc,$(preconfig_$(1)), +$(Preconfig/$(pc)))) +endef + +define Feature/Default + TARGET_NAME:= + TARGET_TITLE:= + PRIORITY:= + NAME:= +endef + +define Feature + $(eval $(Feature/Default)) + $(eval $(Feature/$(1))) + $(if $(DUMP),$(call Dumpinfo/Feature,$(1))) +endef + +define Dumpinfo/Feature +$(info Feature: $(TARGET_NAME)_$(1) +Target-Name: $(TARGET_NAME) +Target-Title: $(TARGET_TITLE) +Feature-Name: $(NAME) +$(if $(PRIORITY),Feature-Priority: $(PRIORITY) +)Feature-Description: +$(Feature/$(1)/description) +@@ +) +endef + +endif diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk new file mode 100644 index 0000000000..afd2d4ef7a --- /dev/null +++ b/include/package-ipkg.mk @@ -0,0 +1,238 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifndef DUMP + include $(INCLUDE_DIR)/feeds.mk +endif + +# invoke ipkg-build with some default options +IPKG_BUILD:= \ + $(SCRIPT_DIR)/ipkg-build -c -o 0 -g 0 + +IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg + +# 1: package name +# 2: variable name +# 3: variable suffix +# 4: file is a script +define BuildIPKGVariable +ifdef Package/$(1)/$(2) + $$(IPKG_$(1)) : VAR_$(2)$(3)=$$(Package/$(1)/$(2)) + $(call shexport,Package/$(1)/$(2)) + $(1)_COMMANDS += echo "$$$$$$$$$(call shvar,Package/$(1)/$(2))" > $(2)$(3); $(if $(4),chmod 0755 $(2)$(3);) +endif +endef + +PARENL :=( +PARENR :=) + +dep_split=$(subst :,$(space),$(1)) +dep_rem=$(subst !,,$(subst $(strip $(PARENL)),,$(subst $(strip $(PARENR)),,$(word 1,$(call dep_split,$(1)))))) +dep_confvar=$(strip $(foreach cond,$(subst ||, ,$(call dep_rem,$(1))),$(CONFIG_$(cond)))) +dep_pos=$(if $(call dep_confvar,$(1)),$(call dep_val,$(1))) +dep_neg=$(if $(call dep_confvar,$(1)),,$(call dep_val,$(1))) +dep_if=$(if $(findstring !,$(1)),$(call dep_neg,$(1)),$(call dep_pos,$(1))) +dep_val=$(word 2,$(call dep_split,$(1))) +strip_deps=$(strip $(subst +,,$(filter-out @%,$(1)))) +filter_deps=$(foreach dep,$(call strip_deps,$(1)),$(if $(findstring :,$(dep)),$(call dep_if,$(dep)),$(dep))) + +define AddDependency + $$(if $(1),$$(if $(2),$$(foreach pkg,$(1),$$(IPKG_$$(pkg))): $$(foreach pkg,$(2),$$(IPKG_$$(pkg))))) +endef + +define FixupReverseDependencies + DEPS := $$(filter %:$(1),$$(IDEPEND)) + DEPS := $$(patsubst %:$(1),%,$$(DEPS)) + DEPS := $$(filter $$(DEPS),$$(IPKGS)) + $(call AddDependency,$$(DEPS),$(1)) +endef + +define FixupDependencies + DEPS := $$(filter $(1):%,$$(IDEPEND)) + DEPS := $$(patsubst $(1):%,%,$$(DEPS)) + DEPS := $$(filter $$(DEPS),$$(IPKGS)) + $(call AddDependency,$(1),$$(DEPS)) +endef + +ifneq ($(PKG_NAME),toolchain) + define CheckDependencies + @( \ + rm -f $(PKG_INFO_DIR)/$(1).missing; \ + ( \ + export \ + READELF=$(TARGET_CROSS)readelf \ + OBJCOPY=$(TARGET_CROSS)objcopy \ + XARGS="$(XARGS)"; \ + $(SCRIPT_DIR)/gen-dependencies.sh "$$(IDIR_$(1))"; \ + ) | while read FILE; do \ + grep -qxF "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \ + echo "$$$$FILE" >> $(PKG_INFO_DIR)/$(1).missing; \ + done; \ + if [ -f "$(PKG_INFO_DIR)/$(1).missing" ]; then \ + echo "Package $(1) is missing dependencies for the following libraries:" >&2; \ + cat "$(PKG_INFO_DIR)/$(1).missing" >&2; \ + false; \ + fi; \ + ) + endef +endif + +_addsep=$(word 1,$(1))$(foreach w,$(wordlist 2,$(words $(1)),$(1)),$(strip $(2) $(w))) +_cleansep=$(subst $(space)$(2)$(space),$(2)$(space),$(1)) +mergelist=$(call _cleansep,$(call _addsep,$(1),$(comma)),$(comma)) +addfield=$(if $(strip $(2)),$(1): $(2)) +_define=define +_endef=endef + +ifeq ($(DUMP),) + define BuildTarget/ipkg + PDIR_$(1):=$(call FeedPackageDir,$(1)) + IPKG_$(1):=$$(PDIR_$(1))/$(1)_$(VERSION)_$(PKGARCH).ipk + IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1) + KEEP_$(1):=$(strip $(call Package/$(1)/conffiles)) + + ifeq ($(BUILD_VARIANT),$$(if $$(VARIANT),$$(VARIANT),$(BUILD_VARIANT))) + ifdef Package/$(1)/install + ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) + IPKGS += $(1) + compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides $(STAGING_DIR_ROOT)/stamp/.$(1)_installed + ifneq ($(ABI_VERSION),) + compile: $(PKG_INFO_DIR)/$(1).version + endif + else + $(if $(CONFIG_PACKAGE_$(1)),$$(info WARNING: skipping $(1) -- package not selected)) + endif + + .PHONY: $(PKG_INSTALL_STAMP).$(1) + compile: $(PKG_INSTALL_STAMP).$(1) + $(PKG_INSTALL_STAMP).$(1): + if [ -f $(PKG_INSTALL_STAMP).clean ]; then \ + rm -f \ + $(PKG_INSTALL_STAMP) \ + $(PKG_INSTALL_STAMP).clean; \ + fi + ifeq ($(CONFIG_PACKAGE_$(1)),y) + echo "$(1)" >> $(PKG_INSTALL_STAMP) + endif + endif + endif + + DEPENDS:=$(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) + IDEPEND_$(1):=$$(call filter_deps,$$(DEPENDS)) + IDEPEND += $$(patsubst %,$(1):%,$$(IDEPEND_$(1))) + $(FixupDependencies) + $(FixupReverseDependencies) + + $(eval $(call BuildIPKGVariable,$(1),conffiles)) + $(eval $(call BuildIPKGVariable,$(1),preinst,,1)) + $(eval $(call BuildIPKGVariable,$(1),postinst,-pkg,1)) + $(eval $(call BuildIPKGVariable,$(1),prerm,-pkg,1)) + $(eval $(call BuildIPKGVariable,$(1),postrm,,1)) + + $(STAGING_DIR_ROOT)/stamp/.$(1)_installed : export PATH=$$(TARGET_PATH_PKG) + $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(STAMP_BUILT) + rm -rf $(STAGING_DIR_ROOT)/tmp-$(1) + mkdir -p $(STAGING_DIR_ROOT)/stamp $(STAGING_DIR_ROOT)/tmp-$(1) + $(call Package/$(1)/install,$(STAGING_DIR_ROOT)/tmp-$(1)) + $(call Package/$(1)/install_lib,$(STAGING_DIR_ROOT)/tmp-$(1)) + $(call locked,$(CP) $(STAGING_DIR_ROOT)/tmp-$(1)/. $(STAGING_DIR_ROOT)/,root-copy) + rm -rf $(STAGING_DIR_ROOT)/tmp-$(1) + touch $$@ + + $(PKG_INFO_DIR)/$(1).version: $$(IPKG_$(1)) + echo '$(ABI_VERSION)' | cmp -s - $$@ || \ + echo '$(ABI_VERSION)' > $$@ + + Package/$(1)/DEPENDS := $$(call mergelist,$$(filter-out @%,$$(IDEPEND_$(1)))) + ifneq ($$(EXTRA_DEPENDS),) + Package/$(1)/DEPENDS := $$(EXTRA_DEPENDS)$$(if $$(Package/$(1)/DEPENDS),$$(comma) $$(Package/$(1)/DEPENDS)) + endif + +$(_define) Package/$(1)/CONTROL +Package: $(1) +Version: $(VERSION) +$$(call addfield,Depends,$$(Package/$(1)/DEPENDS) +)$$(call addfield,Conflicts,$$(call mergelist,$(CONFLICTS)) +)$$(call addfield,Provides,$$(call mergelist,$(PROVIDES)) +)$$(call addfield,Source,$(SOURCE) +)$$(call addfield,License,$$(PKG_LICENSE) +)$$(call addfield,LicenseFiles,$$(PKG_LICENSE_FILES) +)$$(call addfield,Section,$(SECTION) +)$$(call addfield,Require-User,$(USERID) +)$(if $(filter hold,$(PKG_FLAGS)),Status: unknown hold not-installed +)$(if $(filter essential,$(PKG_FLAGS)),Essential: yes +)$(if $(MAINTAINER),Maintainer: $(MAINTAINER) +)Architecture: $(PKGARCH) +Installed-Size: 0 +$(_endef) + + $(PKG_INFO_DIR)/$(1).provides: $$(IPKG_$(1)) + $$(IPKG_$(1)) : export CONTROL=$$(Package/$(1)/CONTROL) + $$(IPKG_$(1)) : export DESCRIPTION=$$(Package/$(1)/description) + $$(IPKG_$(1)) : export PATH=$$(TARGET_PATH_PKG) + $$(IPKG_$(1)): $(STAMP_BUILT) $(INCLUDE_DIR)/package-ipkg.mk + @rm -rf $$(IDIR_$(1)) $$(call opkg_package_files,$(1)) + mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR) + $(call Package/$(1)/install,$$(IDIR_$(1))) + -find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| $(XARGS) rm -rf + @( \ + find $$(IDIR_$(1)) -name lib\*.so\* -or -name \*.ko | awk -F/ '{ print $$$$NF }'; \ + for file in $$(patsubst %,$(PKG_INFO_DIR)/%.provides,$$(IDEPEND_$(1))); do \ + if [ -f "$$$$file" ]; then \ + cat $$$$file; \ + fi; \ + done; $(Package/$(1)/extra_provides) \ + ) | sort -u > $(PKG_INFO_DIR)/$(1).provides + $(if $(PROVIDES),@for pkg in $(PROVIDES); do cp $(PKG_INFO_DIR)/$(1).provides $(PKG_INFO_DIR)/$$$$pkg.provides; done) + $(CheckDependencies) + + $(RSTRIP) $$(IDIR_$(1)) + (cd $$(IDIR_$(1))/CONTROL; \ + ( \ + echo "$$$$CONTROL"; \ + printf "Description: "; echo "$$$$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; \ + ) > control; \ + chmod 644 control; \ + ( \ + echo "#!/bin/sh"; \ + echo "[ \"\$$$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo "default_postinst \$$$$0 \$$$$@"; \ + ) > postinst; \ + ( \ + echo "#!/bin/sh"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo "default_prerm \$$$$0 \$$$$@"; \ + ) > prerm; \ + chmod 0755 postinst prerm; \ + $($(1)_COMMANDS) \ + ) + + ifneq ($$(KEEP_$(1)),) + @( \ + keepfiles=""; \ + for x in $$(KEEP_$(1)); do \ + [ -f "$$(IDIR_$(1))/$$$$x" ] || keepfiles="$$$${keepfiles:+$$$$keepfiles }$$$$x"; \ + done; \ + [ -z "$$$$keepfiles" ] || { \ + mkdir -p $$(IDIR_$(1))/lib/upgrade/keep.d; \ + for x in $$$$keepfiles; do echo $$$$x >> $$(IDIR_$(1))/lib/upgrade/keep.d/$(1); done; \ + }; \ + ) + endif + + $(INSTALL_DIR) $$(PDIR_$(1)) + $(IPKG_BUILD) $$(IDIR_$(1)) $$(PDIR_$(1)) + @[ -f $$(IPKG_$(1)) ] + + $(1)-clean: + $$(if $$(call opkg_package_files,$(1)),rm -f $$(call opkg_package_files,$(1))) + + clean: $(1)-clean + + endef +endif diff --git a/include/package-seccomp.mk b/include/package-seccomp.mk new file mode 100644 index 0000000000..fa49617d41 --- /dev/null +++ b/include/package-seccomp.mk @@ -0,0 +1,15 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +PKG_CONFIG_DEPENDS+= CONFIG_KERNEL_SECCOMP + +ifeq ($(CONFIG_KERNEL_SECCOMP),y) + define InstallSeccomp + $(INSTALL_DIR) $(1)/etc/seccomp + $(INSTALL_DATA) $(2) $(1)/etc/seccomp/ + endef +endif diff --git a/include/package.mk b/include/package.mk new file mode 100644 index 0000000000..99e401e859 --- /dev/null +++ b/include/package.mk @@ -0,0 +1,320 @@ +# +# Copyright (C) 2006-2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +__package_mk:=1 + +all: $(if $(DUMP),dumpinfo,compile) + +PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) +PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install +PKG_MD5SUM ?= unknown +PKG_BUILD_PARALLEL ?= +PKG_USE_MIPS16 ?= 1 +PKG_IREMAP ?= 1 + +ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),) + MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j)) +else + MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS) +endif + +ifeq ($(strip $(PKG_BUILD_PARALLEL)),0) +PKG_JOBS?=-j1 +else +PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\ + $(if $(CONFIG_PKG_BUILD_PARALLEL),$(MAKE_J),-j1),-j1) +endif +ifdef CONFIG_USE_MIPS16 + ifeq ($(strip $(PKG_USE_MIPS16)),1) + TARGET_ASFLAGS_DEFAULT = $(filter-out -mips16 -minterlink-mips16,$(TARGET_CFLAGS)) + TARGET_CFLAGS += -mips16 -minterlink-mips16 + endif +endif +ifeq ($(strip $(PKG_IREMAP)),1) + IREMAP_CFLAGS = $(call iremap,$(PKG_BUILD_DIR),$(notdir $(PKG_BUILD_DIR))) + TARGET_CFLAGS += $(IREMAP_CFLAGS) +endif + +include $(INCLUDE_DIR)/hardening.mk +include $(INCLUDE_DIR)/prereq.mk +include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/unpack.mk +include $(INCLUDE_DIR)/depends.mk + +find_library_dependencies = $(wildcard $(patsubst %,$(STAGING_DIR)/pkginfo/%.version, \ + $(filter-out $(BUILD_PACKAGES),$(foreach dep, \ + $(filter-out @%, $(patsubst +%,%,$(1))), \ + $(if $(findstring :,$(dep)), \ + $(word 2,$(subst :,$(space),$(dep))), \ + $(dep) \ + ) \ + )))) + +PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR))) +STAMP_NO_AUTOREBUILD=$(wildcard $(PKG_BUILD_DIR)/.no_autorebuild) +PREV_STAMP_PREPARED:=$(if $(STAMP_NO_AUTOREBUILD),$(wildcard $(PKG_BUILD_DIR)/.prepared*)) +ifneq ($(PREV_STAMP_PREPARED),) + STAMP_PREPARED:=$(PREV_STAMP_PREPARED) + CONFIG_AUTOREBUILD:= +else + STAMP_PREPARED=$(PKG_BUILD_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPENDS),))$(call confvar,$(PKG_PREPARED_DEPENDS))) +endif +STAMP_CONFIGURED=$(PKG_BUILD_DIR)/.configured$(if $(DUMP),,_$(call confvar,$(PKG_CONFIG_DEPENDS))) +STAMP_CONFIGURED_WILDCARD=$(PKG_BUILD_DIR)/.configured_* +STAMP_BUILT:=$(PKG_BUILD_DIR)/.built +STAMP_INSTALLED:=$(STAGING_DIR)/stamp/.$(PKG_DIR_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),)_installed + +STAGING_FILES_LIST:=$(PKG_DIR_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).list + +define CleanStaging + rm -f $(STAMP_INSTALLED) + @-(\ + cd "$(STAGING_DIR)"; \ + if [ -f packages/$(STAGING_FILES_LIST) ]; then \ + cat packages/$(STAGING_FILES_LIST) | xargs -r rm -f 2>/dev/null; \ + fi; \ + ) +endef + +ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),) + USE_GIT_TREE:=1 + QUILT:=1 +endif +ifdef USE_SOURCE_DIR + QUILT:=1 +endif +ifneq ($(wildcard $(PKG_BUILD_DIR)/.source_dir),) + QUILT:=1 +endif + +PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install + +include $(INCLUDE_DIR)/download.mk +include $(INCLUDE_DIR)/quilt.mk +include $(INCLUDE_DIR)/package-defaults.mk +include $(INCLUDE_DIR)/package-dumpinfo.mk +include $(INCLUDE_DIR)/package-ipkg.mk +include $(INCLUDE_DIR)/package-bin.mk +include $(INCLUDE_DIR)/autotools.mk + +override MAKEFLAGS= +CONFIG_SITE:=$(INCLUDE_DIR)/site/$(ARCH) +CUR_MAKEFILE:=$(filter-out Makefile,$(firstword $(MAKEFILE_LIST))) +SUBMAKE:=$(NO_TRACE_MAKE) $(if $(CUR_MAKEFILE),-f $(CUR_MAKEFILE)) +PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig:$(STAGING_DIR)/usr/share/pkgconfig +unexport QUIET CONFIG_SITE + +ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),) + ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),) + define Build/Autoclean + $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED) + $(call rdep,${CURDIR} $(PKG_FILE_DEPENDS),$(STAMP_PREPARED),$(PKG_BUILD_DIR)/.dep_files,-x "*/.dep_*") + $(if $(filter prepare,$(MAKECMDGOALS)),,$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),,-x "*/.dep_*" -x "*/ipkg*")) + endef + endif +endif + +define Download/default + FILE:=$(PKG_SOURCE) + URL:=$(PKG_SOURCE_URL) + SUBDIR:=$(PKG_SOURCE_SUBDIR) + PROTO:=$(PKG_SOURCE_PROTO) + $(if $(PKG_SOURCE_MIRROR),MIRROR:=$(filter 1,$(PKG_MIRROR))) + $(if $(PKG_MIRROR_MD5SUM),MIRROR_MD5SUM:=$(PKG_MIRROR_MD5SUM)) + VERSION:=$(PKG_SOURCE_VERSION) + MD5SUM:=$(PKG_MD5SUM) +endef + +ifdef USE_GIT_TREE + define Build/Prepare/Default + mkdir -p $(PKG_BUILD_DIR) + ln -s $(CURDIR)/git-src $(PKG_BUILD_DIR)/.git + ( cd $(PKG_BUILD_DIR); git checkout .) + endef +endif +ifdef USE_SOURCE_DIR + define Build/Prepare/Default + rm -rf $(PKG_BUILD_DIR) + $(if $(wildcard $(USE_SOURCE_DIR)/*),,@echo "Error: USE_SOURCE_DIR=$(USE_SOURCE_DIR) path not found"; false) + ln -snf $(USE_SOURCE_DIR) $(PKG_BUILD_DIR) + touch $(PKG_BUILD_DIR)/.source_dir + endef +endif + +define Build/Exports/Default + $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR)/usr/share/aclocal $$(STAGING_DIR)/usr/share/aclocal-* $$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*),-I $$(p)) + $(1) : export STAGING_PREFIX=$$(STAGING_DIR)/usr + $(1) : export PATH=$$(TARGET_PATH_PKG) + $(1) : export CONFIG_SITE:=$$(CONFIG_SITE) + $(1) : export PKG_CONFIG_PATH:=$$(PKG_CONFIG_PATH) + $(1) : export PKG_CONFIG_LIBDIR:=$$(PKG_CONFIG_PATH) + $(1) : export CCACHE_DIR:=$(STAGING_DIR)/ccache +endef +Build/Exports=$(Build/Exports/Default) + +define Build/DefaultTargets + $(if $(QUILT),$(Build/Quilt)) + $(if $(USE_SOURCE_DIR)$(USE_GIT_TREE),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) + $(call Build/Autoclean) + + download: + $(foreach hook,$(Hooks/Download), + $(call $(hook))$(sep) + ) + + $(STAMP_PREPARED) : export PATH=$$(TARGET_PATH_PKG) + $(STAMP_PREPARED): $(STAMP_PREPARED_DEPENDS) + @-rm -rf $(PKG_BUILD_DIR) + @mkdir -p $(PKG_BUILD_DIR) + $(foreach hook,$(Hooks/Prepare/Pre),$(call $(hook))$(sep)) + $(Build/Prepare) + $(foreach hook,$(Hooks/Prepare/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Build/Exports,$(STAMP_CONFIGURED)) + $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(STAMP_CONFIGURED_DEPENDS) + $(CleanStaging) + $(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep)) + $(Build/Configure) + $(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep)) + rm -f $(STAMP_CONFIGURED_WILDCARD) + touch $$@ + + $(call Build/Exports,$(STAMP_BUILT)) + $(STAMP_BUILT): $(STAMP_CONFIGURED) $(STAMP_BUILT_DEPENDS) + $(foreach hook,$(Hooks/Compile/Pre),$(call $(hook))$(sep)) + $(Build/Compile) + $(foreach hook,$(Hooks/Compile/Post),$(call $(hook))$(sep)) + $(Build/Install) + $(foreach hook,$(Hooks/Install/Post),$(call $(hook))$(sep)) + touch $$@ + + $(STAMP_INSTALLED) : export PATH=$$(TARGET_PATH_PKG) + $(STAMP_INSTALLED): $(STAMP_BUILT) + rm -rf $(TMP_DIR)/stage-$(PKG_DIR_NAME) + mkdir -p $(TMP_DIR)/stage-$(PKG_DIR_NAME)/host $(STAGING_DIR)/packages $(STAGING_DIR_HOST)/packages + $(foreach hook,$(Hooks/InstallDev/Pre),\ + $(call $(hook),$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host)$(sep)\ + ) + $(call Build/InstallDev,$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host) + $(foreach hook,$(Hooks/InstallDev/Post),\ + $(call $(hook),$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host)$(sep)\ + ) + if [ -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) ]; then \ + $(SCRIPT_DIR)/clean-package.sh \ + "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \ + "$(STAGING_DIR)"; \ + fi + if [ -d $(TMP_DIR)/stage-$(PKG_DIR_NAME) ]; then \ + (cd $(TMP_DIR)/stage-$(PKG_DIR_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_DIR_NAME).files); \ + $(call locked, \ + mv $(TMP_DIR)/stage-$(PKG_DIR_NAME).files $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) && \ + $(CP) $(TMP_DIR)/stage-$(PKG_DIR_NAME)/* $(STAGING_DIR)/; \ + ,staging-dir); \ + fi + rm -rf $(TMP_DIR)/stage-$(PKG_DIR_NAME) + touch $$@ + + ifdef Build/InstallDev + compile: $(STAMP_INSTALLED) + endif + + define Build/DefaultTargets + endef + + prepare: $(STAMP_PREPARED) + configure: $(STAMP_CONFIGURED) + dist: $(STAMP_CONFIGURED) + distcheck: $(STAMP_CONFIGURED) +endef + +define Build/IncludeOverlay + $(eval -include $(wildcard $(TOPDIR)/overlay/*/$(PKG_DIR_NAME).mk)) + define Build/IncludeOverlay + endef +endef + +define BuildPackage + $(Build/IncludeOverlay) + $(eval $(Package/Default)) + $(eval $(Package/$(1))) + +ifdef DESCRIPTION +$$(error DESCRIPTION:= is obsolete, use Package/PKG_NAME/description) +endif + +ifndef Package/$(1)/description +define Package/$(1)/description + $(TITLE) +endef +endif + + BUILD_PACKAGES += $(1) + $(STAMP_PREPARED): $$(if $(QUILT)$(DUMP),,$(call find_library_dependencies,$(DEPENDS))) + + $(foreach FIELD, TITLE CATEGORY SECTION VERSION, + ifeq ($($(FIELD)),) + $$(error Package/$(1) is missing the $(FIELD) field) + endif + ) + + $(if $(DUMP), \ + $(Dumpinfo/Package), \ + $(foreach target, \ + $(if $(Package/$(1)/targets),$(Package/$(1)/targets), \ + $(if $(PKG_TARGETS),$(PKG_TARGETS), ipkg) \ + ), $(BuildTarget/$(target)) \ + ) \ + ) + $(if $(PKG_HOST_ONLY)$(DUMP),,$(call Build/DefaultTargets,$(1))) +endef + +define pkg_install_files + $(foreach install_file,$(1),$(INSTALL_DIR) $(3)/`dirname $(install_file)`; $(INSTALL_DATA) $(2)/$(install_file) $(3)/`dirname $(install_file)`;) +endef + +define pkg_install_bin + $(foreach install_apps,$(1),$(INSTALL_DIR) $(3)/`dirname $(install_apps)`; $(INSTALL_BIN) $(2)/$(install_apps) $(3)/`dirname $(install_apps)`;) +endef + +Build/Prepare=$(call Build/Prepare/Default,) +Build/Configure=$(call Build/Configure/Default,) +Build/Compile=$(call Build/Compile/Default,) +Build/Install=$(if $(PKG_INSTALL),$(call Build/Install/Default,)) +Build/Dist=$(call Build/Dist/Default,) +Build/DistCheck=$(call Build/DistCheck/Default,) + +.NOTPARALLEL: + +.PHONY: prepare-package-install +prepare-package-install: + @mkdir -p $(PKG_INFO_DIR) + @touch $(PKG_INSTALL_STAMP).clean + @echo "$(filter-out essential nonshared,$(PKG_FLAGS))" > $(PKG_INSTALL_STAMP).flags + +$(PACKAGE_DIR): + mkdir -p $@ + +dumpinfo: +download: +prepare: +configure: +compile: prepare-package-install +install: compile + +clean: FORCE + $(CleanStaging) + $(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR_HOST)) + $(Build/Clean) + rm -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) $(STAGING_DIR_HOST)/packages/$(STAGING_FILES_LIST) + rm -rf $(PKG_BUILD_DIR) + +dist: + $(Build/Dist) + +distcheck: + $(Build/DistCheck) diff --git a/include/prereq-build.mk b/include/prereq-build.mk new file mode 100644 index 0000000000..ed652ca9a7 --- /dev/null +++ b/include/prereq-build.mk @@ -0,0 +1,176 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/prereq.mk +include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/host-build.mk + +SHELL:=sh +PKG_NAME:=Build dependency + + +# Required for the toolchain +$(eval $(call TestHostCommand,working-make, \ + Please install GNU make v3.81 or later. (This version has bugs), \ + $(MAKE) -v | grep -E 'Make (3\.8[1-9]|3\.9[0-9]|[4-9]\.)')) + +$(eval $(call TestHostCommand,case-sensitive-fs, \ + LEDE can only be built on a case-sensitive filesystem, \ + rm -f $(TMP_DIR)/test.*; touch $(TMP_DIR)/test.fs; \ + test ! -f $(TMP_DIR)/test.FS)) + +$(eval $(call TestHostCommand,proper-umask, \ + Please build with umask 022 - other values produce broken packages, \ + umask | grep -xE 00[012][012])) + +$(eval $(call SetupHostCommand,gcc, \ + Please install the GNU C Compiler (gcc), \ + $(CC) --version | grep gcc, \ + gcc --version | grep gcc, \ + gcc49 --version | grep gcc, \ + gcc48 --version | grep gcc, \ + gcc47 --version | grep gcc, \ + gcc46 --version | grep gcc, \ + gcc --version | grep Apple.LLVM )) + +$(eval $(call TestHostCommand,working-gcc, \ + Please reinstall the GNU C Compiler - it appears to be broken, \ + echo 'int main(int argc, char **argv) { return 0; }' | \ + gcc -x c -o $(TMP_DIR)/a.out -)) + +$(eval $(call SetupHostCommand,g++, \ + Please install the GNU C++ Compiler (g++), \ + $(CXX) --version | grep g++, \ + g++ --version | grep g++, \ + g++49 --version | grep g++, \ + g++48 --version | grep g++, \ + g++47 --version | grep g++, \ + g++46 --version | grep g++, \ + g++ --version | grep Apple.LLVM )) + +$(eval $(call TestHostCommand,working-g++, \ + Please reinstall the GNU C++ Compiler - it appears to be broken, \ + echo 'int main(int argc, char **argv) { return 0; }' | \ + g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \ + $(TMP_DIR)/a.out)) + +$(eval $(call TestHostCommand,ncurses, \ + Please install ncurses. (Missing libncurses.so or ncurses.h), \ + echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \ + gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses)) + +ifeq ($(HOST_OS),Linux) + zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic +else + zlib_link_flags := -lz +endif + +$(eval $(call TestHostCommand,zlib, \ + Please install a static zlib. (Missing libz.a or zlib.h), \ + echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | \ + gcc -include zlib.h -x c -o $(TMP_DIR)/a.out - $(zlib_link_flags))) + +# Xcode deprecated openssl, MacPorts doesn't work nicely for other packages +ifneq ($(HOST_OS),Darwin) +$(eval $(call TestHostCommand,libssl, \ + Please install the openssl library (with development headers), \ + echo 'int main(int argc, char **argv) { SSL_library_init(); return 0; }' | \ + gcc $(HOST_CFLAGS) -include openssl/ssl.h -x c -o $(TMP_DIR)/a.out - -lcrypto -lssl $(HOST_LDFLAGS))) +endif + +$(eval $(call TestHostCommand,perl-thread-queue, \ + Please install the Perl Thread::Queue module, \ + perl -MThread::Queue -e 1)) + + +$(eval $(call SetupHostCommand,tar,Please install GNU 'tar', \ + gtar --version 2>&1 | grep GNU, \ + gnutar --version 2>&1 | grep GNU, \ + tar --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,find,Please install GNU 'find', \ + gfind --version 2>&1 | grep GNU, \ + find --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,bash,Please install GNU 'bash', \ + bash --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,patch,Please install GNU 'patch', \ + gpatch --version 2>&1 | grep 'Free Software Foundation', \ + patch --version 2>&1 | grep 'Free Software Foundation')) + +$(eval $(call SetupHostCommand,diff,Please install diffutils, \ + gdiff --version 2>&1 | grep diff, \ + diff --version 2>&1 | grep diff)) + +$(eval $(call SetupHostCommand,cp,Please install GNU fileutils, \ + gcp --help 2>&1 | grep 'Copy SOURCE', \ + cp --help 2>&1 | grep 'Copy SOURCE')) + +$(eval $(call SetupHostCommand,seq,, \ + gseq --version, \ + seq --version)) + +$(eval $(call SetupHostCommand,awk,Please install GNU 'awk', \ + gawk --version 2>&1 | grep GNU, \ + awk --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,grep,Please install GNU 'grep', \ + ggrep --version 2>&1 | grep GNU, \ + grep --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,getopt, \ + Please install an extended getopt version that supports --long, \ + gnugetopt -o t --long test -- --test | grep '^ *--test *--', \ + /usr/local/bin/getopt -o t --long test -- --test | grep '^ *--test *--', \ + getopt -o t --long test -- --test | grep '^ *--test *--')) + +$(eval $(call SetupHostCommand,stat,Cannot find a file stat utility, \ + gnustat -c%s $(TMP_DIR)/.host.mk, \ + gstat -c%s $(TMP_DIR)/.host.mk, \ + stat -c%s $(TMP_DIR)/.host.mk)) + +$(eval $(call SetupHostCommand,md5sum,, \ + gmd5sum /dev/null | grep d41d8cd98f00b204e9800998ecf8427e, \ + md5sum /dev/null | grep d41d8cd98f00b204e9800998ecf8427e, \ + $(SCRIPT_DIR)/md5sum /dev/null | grep d41d8cd98f00b204e9800998ecf8427e)) + +$(eval $(call SetupHostCommand,unzip,Please install 'unzip', \ + unzip 2>&1 | grep zipfile, \ + unzip)) + +$(eval $(call SetupHostCommand,bzip2,Please install 'bzip2', \ + bzip2 --version &1 | grep Python, \ + python2 -V 2>&1 | grep Python, \ + python -V 2>&1 | grep Python)) + +$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \ + git --exec-path | xargs -I % -- grep -q -- --recursive %/git-submodule)) + +$(eval $(call SetupHostCommand,file,Please install the 'file' package, \ + file --version 2>&1 | grep file)) + +ifneq ($(HOST_OS),Darwin) +$(eval $(call SetupHostCommand,openssl,Please install the 'openssl' utility, \ + openssl version | grep '\(OpenSSL\|LibreSSL\)')) +endif + + +# Install ldconfig stub +$(eval $(call TestHostCommand,ldconfig-stub,Failed to install stub, \ + touch $(STAGING_DIR_HOST)/bin/ldconfig && \ + chmod +x $(STAGING_DIR_HOST)/bin/ldconfig)) diff --git a/include/prereq.mk b/include/prereq.mk new file mode 100644 index 0000000000..6cb590e360 --- /dev/null +++ b/include/prereq.mk @@ -0,0 +1,108 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__prereq_inc),1) +__prereq_inc:=1 + +prereq: + if [ -f $(TMP_DIR)/.prereq-error ]; then \ + echo; \ + cat $(TMP_DIR)/.prereq-error; \ + rm -f $(TMP_DIR)/.prereq-error; \ + echo; \ + false; \ + fi + +.SILENT: prereq +endif + +PREREQ_PREV= + +# 1: display name +# 2: error message +define Require + export PREREQ_CHECK=1 + ifeq ($$(CHECK_$(1)),) + prereq: prereq-$(1) + + prereq-$(1): $(if $(PREREQ_PREV),prereq-$(PREREQ_PREV)) FORCE + printf "Checking '$(1)'... " + if $(NO_TRACE_MAKE) -f $(firstword $(MAKEFILE_LIST)) check-$(1) >/dev/null 2>/dev/null; then \ + echo 'ok.'; \ + else \ + echo 'failed.'; \ + echo "$(PKG_NAME): $(strip $(2))" >> $(TMP_DIR)/.prereq-error; \ + fi + + check-$(1): FORCE + $(call Require/$(1)) + CHECK_$(1):=1 + + .SILENT: prereq-$(1) check-$(1) + .NOTPARALLEL: + endif + + PREREQ_PREV=$(1) +endef + + +define RequireCommand + define Require/$(1) + which $(1) + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +define RequireHeader + define Require/$(1) + [ -e "$(1)" ] + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +define QuoteHostCommand +'$(subst ','"'"',$(strip $(1)))' +endef + +# 1: display name +# 2: failure message +# 3: test +define TestHostCommand + define Require/$(1) + ($(3)) >/dev/null 2>/dev/null + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +# 1: canonical name +# 2: failure message +# 3+: candidates +define SetupHostCommand + define Require/$(1) + [ -f "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0; \ + for cmd in $(call QuoteHostCommand,$(3)) $(call QuoteHostCommand,$(4)) \ + $(call QuoteHostCommand,$(5)) $(call QuoteHostCommand,$(6)) \ + $(call QuoteHostCommand,$(7)) $(call QuoteHostCommand,$(8)) \ + $(call QuoteHostCommand,$(9)); do \ + if [ -n "$$$$$$$$cmd" ]; then \ + bin="$$$$$$$$(PATH="$(subst $(space),:,$(filter-out $(STAGING_DIR_HOST)/%,$(subst :,$(space),$(PATH))))" \ + which "$$$$$$$${cmd%% *}")"; \ + if [ -x "$$$$$$$$bin" ] && eval "$$$$$$$$cmd" >/dev/null 2>/dev/null; then \ + mkdir -p "$(STAGING_DIR_HOST)/bin"; \ + ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \ + exit 0; \ + fi; \ + fi; \ + done; \ + exit 1 + endef + + $$(eval $$(call Require,$(1),$(if $(2),$(2),Missing $(1) command))) +endef diff --git a/include/quilt.mk b/include/quilt.mk new file mode 100644 index 0000000000..cd392a7c5d --- /dev/null +++ b/include/quilt.mk @@ -0,0 +1,171 @@ +# +# Copyright (C) 2007-2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. + +ifneq ($(if $(DUMP),1,$(__quilt_inc)),1) +__quilt_inc:=1 + +ifeq ($(TARGET_BUILD),1) + PKG_BUILD_DIR:=$(LINUX_DIR) +endif +PATCH_DIR?=./patches +FILES_DIR?=./files +HOST_PATCH_DIR?=$(PATCH_DIR) +HOST_FILES_DIR?=$(FILES_DIR) + +ifeq ($(MAKECMDGOALS),refresh) + override QUILT=1 + override HOST_QUILT=1 +endif + +QUILT_CMD:=quilt --quiltrc=- + +define filter_series +sed -e s,\\\#.*,, $(1) | grep -E \[a-zA-Z0-9\] +endef + +define PatchDir/Quilt + @mkdir -p "$(1)/patches$(if $(3),/$(patsubst %/,%,$(3)))" + @if [ -s "$(2)/series" ]; then \ + mkdir -p "$(1)/patches/$(3)"; \ + cp "$(2)/series" "$(1)/patches/$(3)"; \ + fi + @for patch in $$$$( (cd "$(2)" && if [ -f series ]; then $(call filter_series,series); else ls | sort; fi; ) 2>/dev/null ); do ( \ + cp "$(2)/$$$$patch" "$(1)/patches/$(3)"; \ + echo "$(3)$$$$patch" >> "$(1)/patches/series"; \ + ); done + $(if $(3),@echo $(3) >> "$(1)/patches/.subdirs") +endef + +define PatchDir/Default + @if [ -d "$(2)" ] && [ "$$$$(ls $(2) | wc -l)" -gt 0 ]; then \ + export PATCH="$(PATCH)"; \ + if [ -s "$(2)/series" ]; then \ + $(call filter_series,$(2)/series) | xargs -n1 \ + $(KPATCH) "$(1)" "$(2)"; \ + else \ + $(KPATCH) "$(1)" "$(2)"; \ + fi; \ + fi +endef + +define PatchDir +$(call PatchDir/$(if $(strip $(QUILT)),Quilt,Default),$(strip $(1)),$(strip $(2)),$(strip $(3))) +endef + +define HostPatchDir +$(call PatchDir/$(if $(strip $(HOST_QUILT)),Quilt,Default),$(strip $(1)),$(strip $(2)),$(strip $(3))) +endef + +ifneq ($(PKG_BUILD_DIR),) + QUILT?=$(if $(wildcard $(PKG_BUILD_DIR)/.quilt_used),y) + ifneq ($(QUILT),) + STAMP_CHECKED:=$(PKG_BUILD_DIR)/.quilt_checked + override CONFIG_AUTOREBUILD= + quilt-check: $(STAMP_CHECKED) + endif +endif + +ifneq ($(HOST_BUILD_DIR),) + HOST_QUILT?=$(if $(findstring command,$(origin QUILT)),$(QUILT),$(if $(wildcard $(HOST_BUILD_DIR)/.quilt_used),y)) + ifneq ($(HOST_QUILT),) + HOST_STAMP_CHECKED:=$(HOST_BUILD_DIR)/.quilt_checked + override CONFIG_AUTOREBUILD= + host-quilt-check: $(HOST_STAMP_CHECKED) + endif +endif + +define Host/Patch/Default + $(if $(HOST_QUILT),rm -rf $(HOST_BUILD_DIR)/patches; mkdir -p $(HOST_BUILD_DIR)/patches) + $(call HostPatchDir,$(HOST_BUILD_DIR),$(HOST_PATCH_DIR),) + $(if $(HOST_QUILT),touch $(HOST_BUILD_DIR)/.quilt_used) +endef + +define Build/Patch/Default + $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches) + $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR),) + $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used) +endef + +kernel_files=$(foreach fdir,$(GENERIC_FILES_DIR) $(FILES_DIR),$(fdir)/.) +define Kernel/Patch/Default + $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches) + $(if $(kernel_files),$(CP) $(kernel_files) $(LINUX_DIR)/) + find $(LINUX_DIR)/ -name \*.rej -or -name \*.orig | $(XARGS) rm -f + $(call PatchDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/) + $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR),platform/) +endef + +define Quilt/RefreshDir + mkdir -p $(2) + -rm -f $(2)/* 2>/dev/null >/dev/null + @( \ + for patch in $$$$($(if $(3),grep "^$(3)",cat) $(1)/patches/series | awk '{print $$$$1}'); do \ + $(CP) -v "$(1)/patches/$$$$patch" $(2); \ + done; \ + ) +endef + +define Quilt/Refresh/Host + $(call Quilt/RefreshDir,$(HOST_BUILD_DIR),$(PATCH_DIR)) +endef + +define Quilt/Refresh/Package + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)) +endef + +define Quilt/Refresh/Kernel + @[ -z "$$(grep -v '^generic/' $(PKG_BUILD_DIR)/patches/series | grep -v '^platform/')" ] || { \ + echo "All kernel patches must start with either generic/ or platform/"; \ + false; \ + } + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/) + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR),platform/) +endef + +define Quilt/Template + $($(2)STAMP_CONFIGURED): $($(2)STAMP_CHECKED) + $(if $(NO_RECONFIGURE),$($(2)STAMP_BUILT),$($(2)STAMP_CONFIGURED)): FORCE + $($(2)STAMP_CHECKED): $($(2)STAMP_PREPARED) + if [ -s "$(1)/patches/series" ]; then \ + (cd "$(1)"; \ + if $(QUILT_CMD) next >/dev/null 2>&1; then \ + $(QUILT_CMD) push -a; \ + else \ + $(QUILT_CMD) top >/dev/null 2>&1; \ + fi \ + ); \ + fi + touch "$$@" + + $(3)quilt-check: $($(2)STAMP_PREPARED) FORCE + @[ -f "$(1)/.quilt_used" ] || { \ + echo "The source directory was not unpacked using quilt. Please rebuild with QUILT=1"; \ + false; \ + } + @[ -f "$(1)/patches/series" ] || { \ + echo "The source directory contains no quilt patches."; \ + false; \ + } + @[ -n "$$$$(ls $(1)/patches/series)" -o "$$$$(cat $(1)/patches/series | md5sum)" = "$$(sort $(1)/patches/series | md5sum)" ] || { \ + echo "The patches are not sorted in the right order. Please fix."; \ + false; \ + } + + $(3)refresh: $(3)quilt-check + @cd "$(1)"; $(QUILT_CMD) pop -a -f >/dev/null 2>/dev/null + @cd "$(1)"; while $(QUILT_CMD) next 2>/dev/null >/dev/null && $(QUILT_CMD) push; do \ + QUILT_DIFF_OPTS="-p" $(QUILT_CMD) refresh -p ab --no-index --no-timestamps; \ + done; ! $(QUILT_CMD) next 2>/dev/null >/dev/null + $(Quilt/Refresh/$(4)) + + $(3)update: $(3)quilt-check + $(Quilt/Refresh/$(4)) +endef + +Build/Quilt=$(call Quilt/Template,$(PKG_BUILD_DIR),,,$(if $(TARGET_BUILD),Kernel,Package)) +Host/Quilt=$(call Quilt/Template,$(HOST_BUILD_DIR),HOST_,host-,Host) + +endif diff --git a/include/rootfs.mk b/include/rootfs.mk new file mode 100644 index 0000000000..90d70a11f2 --- /dev/null +++ b/include/rootfs.mk @@ -0,0 +1,80 @@ +include $(INCLUDE_DIR)/feeds.mk + +ifdef CONFIG_USE_MKLIBS + define mklibs + rm -rf $(TMP_DIR)/mklibs-progs $(TMP_DIR)/mklibs-out + # first find all programs and add them to the mklibs list + find $(STAGING_DIR_ROOT) -type f -perm /100 -exec \ + file -r -N -F '' {} + | \ + awk ' /executable.*dynamically/ { print $$1 }' > $(TMP_DIR)/mklibs-progs + # find all loadable objects that are not regular libraries and add them to the list as well + find $(STAGING_DIR_ROOT) -type f -name \*.so\* -exec \ + file -r -N -F '' {} + | \ + awk ' /shared object/ { print $$1 }' > $(TMP_DIR)/mklibs-libs + mkdir -p $(TMP_DIR)/mklibs-out + $(STAGING_DIR_HOST)/bin/mklibs -D \ + -d $(TMP_DIR)/mklibs-out \ + --sysroot $(STAGING_DIR_ROOT) \ + `cat $(TMP_DIR)/mklibs-libs | sed 's:/*[^/]\+/*$$::' | uniq | sed 's:^$(STAGING_DIR_ROOT):-L :'` \ + --ldlib $(patsubst $(STAGING_DIR_ROOT)/%,/%,$(firstword $(wildcard \ + $(foreach name,ld-uClibc.so.* ld-linux.so.* ld-*.so ld-musl-*.so.*, \ + $(STAGING_DIR_ROOT)/lib/$(name) \ + )))) \ + --target $(REAL_GNU_TARGET_NAME) \ + `cat $(TMP_DIR)/mklibs-progs $(TMP_DIR)/mklibs-libs` 2>&1 + $(RSTRIP) $(TMP_DIR)/mklibs-out + for lib in `ls $(TMP_DIR)/mklibs-out/*.so.* 2>/dev/null`; do \ + LIB="$${lib##*/}"; \ + DEST="`ls "$(1)/lib/$$LIB" "$(1)/usr/lib/$$LIB" 2>/dev/null`"; \ + [ -n "$$DEST" ] || continue; \ + echo "Copying stripped library $$lib to $$DEST"; \ + cp "$$lib" "$$DEST" || exit 1; \ + done + endef +endif + +# where to build (and put) .ipk packages +opkg = \ + IPKG_NO_SCRIPT=1 \ + IPKG_INSTROOT=$(1) \ + TMPDIR=$(1)/tmp \ + $(STAGING_DIR_HOST)/bin/opkg \ + --offline-root $(1) \ + --force-postinstall \ + --add-dest root:/ \ + --add-arch all:100 \ + --add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200 + +TARGET_DIR_ORIG := $(TARGET_ROOTFS_DIR)/root.orig-$(BOARD) + +define prepare_rootfs + @if [ -d $(TOPDIR)/files ]; then \ + $(call file_copy,$(TOPDIR)/files/.,$(1)); \ + fi + @mkdir -p $(1)/etc/rc.d + @( \ + cd $(1); \ + for script in ./usr/lib/opkg/info/*.postinst; do \ + IPKG_INSTROOT=$(1) $$(which bash) $$script; \ + ret=$$?; \ + if [ $$ret -ne 0 ]; then \ + echo "postinst script $$script has failed with exit code $$ret" >&2; \ + exit 1; \ + fi; \ + done; \ + for script in ./etc/init.d/*; do \ + grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \ + IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script enable; \ + done || true \ + ) + $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status) + @-find $(1) -name CVS | $(XARGS) rm -rf + @-find $(1) -name .svn | $(XARGS) rm -rf + @-find $(1) -name .git | $(XARGS) rm -rf + @-find $(1) -name '.#*' | $(XARGS) rm -f + rm -f $(1)/usr/lib/opkg/lists/* + rm -f $(1)/usr/lib/opkg/info/*.postinst* + rm -f $(1)/usr/lib/opkg/info/*.prerm* + $(if $(CONFIG_CLEAN_IPKG),rm -rf $(1)/usr/lib/opkg) + $(call mklibs,$(1)) +endef diff --git a/include/scan.awk b/include/scan.awk new file mode 100644 index 0000000000..0f02782326 --- /dev/null +++ b/include/scan.awk @@ -0,0 +1,19 @@ +BEGIN { FS="/" } +$1 ~ /^feeds/ { FEEDS[$NF]=$0 } +$1 !~ /^feeds/ { PKGS[$NF]=$0 } +END { + # Filter-out OpenWrt packages which have a feeds equivalent + for (pkg in PKGS) + if (pkg in FEEDS) { + print PKGS[pkg] > of + delete PKGS[pkg] + } + n = asort(PKGS) + for (i=1; i <= n; i++) { + print PKGS[i] + } + n = asort(FEEDS) + for (i=1; i <= n; i++){ + print FEEDS[i] + } +} diff --git a/include/scan.mk b/include/scan.mk new file mode 100644 index 0000000000..e6bc0688b7 --- /dev/null +++ b/include/scan.mk @@ -0,0 +1,104 @@ +include $(TOPDIR)/include/verbose.mk +TMP_DIR:=$(TOPDIR)/tmp + +all: $(TMP_DIR)/.$(SCAN_TARGET) + +include $(TOPDIR)/include/host.mk + +SCAN_TARGET ?= packageinfo +SCAN_NAME ?= package +SCAN_DIR ?= package +TARGET_STAMP:=$(TMP_DIR)/info/.files-$(SCAN_TARGET).stamp +FILELIST:=$(TMP_DIR)/info/.files-$(SCAN_TARGET)-$(SCAN_COOKIE) +OVERRIDELIST:=$(TMP_DIR)/info/.overrides-$(SCAN_TARGET)-$(SCAN_COOKIE) + +ifeq ($(IS_TTY),1) + define progress + printf "\033[M\r$(1)" >&2; + endef +else + define progress + :; + endef +endif + +define feedname +$(if $(patsubst feeds/%,,$(1)),,$(word 2,$(subst /, ,$(1)))) +endef + +define PackageDir + $(TMP_DIR)/.$(SCAN_TARGET): $(TMP_DIR)/info/.$(SCAN_TARGET)-$(1) + $(TMP_DIR)/info/.$(SCAN_TARGET)-$(1): $(SCAN_DIR)/$(2)/Makefile $(foreach DEP,$(DEPS_$(SCAN_DIR)/$(2)/Makefile) $(SCAN_DEPS),$(wildcard $(if $(filter /%,$(DEP)),$(DEP),$(SCAN_DIR)/$(2)/$(DEP)))) + { \ + $$(call progress,Collecting $(SCAN_NAME) info: $(SCAN_DIR)/$(2)) \ + echo Source-Makefile: $(SCAN_DIR)/$(2)/Makefile; \ + $(if $(3),echo Override: $(3),true); \ + $(NO_TRACE_MAKE) --no-print-dir -r DUMP=1 FEED="$(call feedname,$(2))" -C $(SCAN_DIR)/$(2) $(SCAN_MAKEOPTS) 2>/dev/null || { \ + mkdir -p "$(TOPDIR)/logs/$(SCAN_DIR)/$(2)"; \ + $(NO_TRACE_MAKE) --no-print-dir -r DUMP=1 FEED="$(call feedname,$(2))" -C $(SCAN_DIR)/$(2) $(SCAN_MAKEOPTS) > $(TOPDIR)/logs/$(SCAN_DIR)/$(2)/dump.txt 2>&1; \ + $$(call progress,ERROR: please fix $(SCAN_DIR)/$(2)/Makefile - see logs/$(SCAN_DIR)/$(2)/dump.txt for details\n) \ + rm -f $$@; \ + }; \ + echo; \ + } > $$@.tmp + mv $$@.tmp $$@ +endef + +$(OVERRIDELIST): + rm -f $(TMP_DIR)/info/.overrides-$(SCAN_TARGET)-* + touch $@ + +ifeq ($(SCAN_NAME),target) + GREP_STRING=BuildTarget +else + GREP_STRING=(Build/DefaultTargets|BuildPackage|.+Package) +endif + +$(FILELIST): $(OVERRIDELIST) + rm -f $(TMP_DIR)/info/.files-$(SCAN_TARGET)-* + $(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -aHE 'call $(GREP_STRING)' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq | awk -v of=$(OVERRIDELIST) -f include/scan.awk > $@ + +$(TMP_DIR)/info/.files-$(SCAN_TARGET).mk: $(FILELIST) + ( \ + cat $< | awk '{print "$(SCAN_DIR)/" $$0 "/Makefile" }' | xargs grep -HE '^ *SCAN_DEPS *= *' | awk -F: '{ gsub(/^.*DEPS *= */, "", $$2); print "DEPS_" $$1 "=" $$2 }'; \ + awk -F/ -v deps="$$DEPS" -v of="$(OVERRIDELIST)" ' \ + BEGIN { \ + while (getline < (of)) \ + override[$$NF]=$$0; \ + close(of) \ + } \ + { \ + info=$$0; \ + gsub(/\//, "_", info); \ + dir=$$0; \ + pkg=""; \ + if($$NF in override) \ + pkg=override[$$NF]; \ + print "$$(eval $$(call PackageDir," info "," dir "," pkg "))"; \ + } ' < $<; \ + true; \ + ) > $@.tmp + mv $@.tmp $@ + +-include $(TMP_DIR)/info/.files-$(SCAN_TARGET).mk + +$(TARGET_STAMP):: + +( \ + $(NO_TRACE_MAKE) $(FILELIST); \ + MD5SUM=$$(cat $(FILELIST) $(OVERRIDELIST) | (md5sum || md5) 2>/dev/null | awk '{print $$1}'); \ + [ -f "$@.$$MD5SUM" ] || { \ + rm -f $@.*; \ + touch $@.$$MD5SUM; \ + touch $@; \ + } \ + ) + +$(TMP_DIR)/.$(SCAN_TARGET): $(TARGET_STAMP) + $(call progress,Collecting $(SCAN_NAME) info: merging...) + -cat $(FILELIST) | awk '{gsub(/\//, "_", $$0);print "$(TMP_DIR)/info/.$(SCAN_TARGET)-" $$0}' | xargs cat > $@ 2>/dev/null + $(call progress,Collecting $(SCAN_NAME) info: done) + echo + +FORCE: +.PHONY: FORCE +.NOTPARALLEL: diff --git a/include/scons.mk b/include/scons.mk new file mode 100644 index 0000000000..2b76710542 --- /dev/null +++ b/include/scons.mk @@ -0,0 +1,23 @@ +export PLATFORM=posix + +SCONS_VARS = \ + CC="$(TARGET_CC_NOCACHE)" \ + CXX="$(TARGET_CXX_NOCACHE)" \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)" \ + CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + DESTDIR="$(PKG_INSTALL_DIR)" + +define Build/Configure/Default + (cd $(PKG_BUILD_DIR); \ + $(SCONS_VARS) \ + scons \ + prefix=/usr \ + $(SCONS_OPTIONS) \ + install \ + ) +endef + +define Build/Compile +endef diff --git a/include/shell.sh b/include/shell.sh new file mode 100644 index 0000000000..6389304c24 --- /dev/null +++ b/include/shell.sh @@ -0,0 +1,37 @@ +getvar() { + eval "echo \"\${$1}\"" +} + +var2file() { + local var + eval "var=\"\${$1}\"" + if [ -n "$var" ]; then echo "$var" > "$2"; fi +} + +isset() { + local var + eval "var=\"\${$1}\"" + [ -n "$var" ] +} + +trapret() {( + local retvals="$1"; shift + local cmd="$1"; shift + for retval in $(echo $retvals); do + local trap_$retval=1 + done + "$cmd" "$@" || { + local retval="$?" + eval "trapped=\${trap_$retval}" + [ -n "$trapped" ] || { + return $retval + } + } +)} + +md5s() { + cat "$@" | ( + md5sum 2>/dev/null || + md5 + ) | awk '{print $1}' +} diff --git a/include/site/aarch64 b/include/site/aarch64 new file mode 100644 index 0000000000..c5aa9c5543 --- /dev/null +++ b/include/site/aarch64 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/aarch64_be b/include/site/aarch64_be new file mode 100644 index 0000000000..19e75ab991 --- /dev/null +++ b/include/site/aarch64_be @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/arc b/include/site/arc new file mode 100644 index 0000000000..72a3805c64 --- /dev/null +++ b/include/site/arc @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/arm b/include/site/arm new file mode 100644 index 0000000000..72a3805c64 --- /dev/null +++ b/include/site/arm @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/armeb b/include/site/armeb new file mode 100644 index 0000000000..a5626a722b --- /dev/null +++ b/include/site/armeb @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/i386 b/include/site/i386 new file mode 100644 index 0000000000..78f1557b79 --- /dev/null +++ b/include/site/i386 @@ -0,0 +1,3 @@ +#!/bin/sh +. $TOPDIR/include/site/i486 + diff --git a/include/site/i486 b/include/site/i486 new file mode 100644 index 0000000000..72a3805c64 --- /dev/null +++ b/include/site/i486 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/i686 b/include/site/i686 new file mode 100644 index 0000000000..78f1557b79 --- /dev/null +++ b/include/site/i686 @@ -0,0 +1,3 @@ +#!/bin/sh +. $TOPDIR/include/site/i486 + diff --git a/include/site/linux b/include/site/linux new file mode 100644 index 0000000000..b193d25c45 --- /dev/null +++ b/include/site/linux @@ -0,0 +1,78 @@ +ac_atomic_add=yes +ac_atomic_sub=yes +ac_cv_c_gettext_without_libintl=yes +ac_cv_c_long_double=no +ac_cv_conv_longlong_to_float=yes +ac_cv_file__dev_zero=yes +ac_cv_func___va_copy=no +ac_cv_func__exit=yes +ac_cv_func_bcopy=yes +ac_cv_func_bzero=yes +ac_cv_func_bcmp=yes +ac_cv_func_creal=yes +ac_cv_func_cimag=yes +ac_cv_func_fchmod=yes +ac_cv_func_getaddrinfo=yes +ac_cv_func_getcwd=yes +ac_cv_func_getdomainname=yes +ac_cv_func_getpgrp_void=yes +ac_cv_func_getpwuid_r=yes +ac_cv_func_gettimeofday=yes +ac_cv_func_index=yes +ac_cv_func_lstat_dereferences_slashed_symlink=yes +ac_cv_func_lstat_empty_string_bug=no +ac_cv_func_lstat=yes +ac_cv_func_malloc_0_nonnull=yes +ac_cv_func_malloc_works=yes +ac_cv_func_memcmp_clean=yes +ac_cv_func_memcmp_working=yes +ac_cv_func_posix_getgrgid_r=yes +ac_cv_func_posix_getpwuid_r=yes +ac_cv_func_psignal=yes +ac_cv_func_pthread_key_delete=yes +ac_cv_func_realloc_0_nonnull=yes +ac_cv_func_realloc_works=yes +ac_cv_func_rename=yes +ac_cv_func_rindex=yes +ac_cv_func_setlocale=yes +ac_cv_func_setgrent_void=yes +ac_cv_func_setpgrp_void=yes +ac_cv_func_setresuid=no +ac_cv_func_setvbuf_reversed=no +ac_cv_func_stat_empty_string_bug=no +ac_cv_func_stat_ignores_trailing_slash=no +ac_cv_func_strerror=yes +ac_cv_func_strftime=yes +ac_cv_func_utimes=yes +ac_cv_func___adjtimex=yes +ac_cv_func_va_copy=no +ac_cv_func_vsnprintf=yes +ac_cv_have_accrights_in_msghdr=no +ac_cv_have_broken_snprintf=no +ac_cv_have_control_in_msghdr=yes +ac_cv_have_decl_sys_siglist=no +ac_cv_have_openpty_ctty_bug=yes +ac_cv_have_space_d_name_in_struct_dirent=yes +ac_cv_header_netinet_sctp_h=no +ac_cv_header_netinet_sctp_uio_h=no +ac_cv_int64_t=yes +ac_cv_lbl_unaligned_fail=no +ac_cv_linux_kernel_pppoe=yes +ac_cv_linux_vers=2 +ac_cv_pack_bitfields_reversed=yes +ac_cv_path_LDCONFIG= +ac_cv_regexec_segfault_emptystr=no +ac_cv_sctp=no +ac_cv_sys_restartable_syscalls=yes +ac_cv_time_r_type=POSIX +ac_cv_type_suseconds_t=yes +ac_cv_uchar=no +ac_cv_uint=yes +ac_cv_uint64_t=yes +ac_cv_ulong=yes +ac_cv_ushort=yes +ac_cv_va_copy=C99 +ac_cv_va_val_copy=yes +as_cv_unaligned_access=yes +ac_cv_func_malloc_0_nonnull=yes +ac_cv_func_realloc_0_nonnull=yes diff --git a/include/site/m68k b/include/site/m68k new file mode 100644 index 0000000000..0037600a09 --- /dev/null +++ b/include/site/m68k @@ -0,0 +1,28 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/mips b/include/site/mips new file mode 100644 index 0000000000..a5626a722b --- /dev/null +++ b/include/site/mips @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/mips64 b/include/site/mips64 new file mode 100644 index 0000000000..19e75ab991 --- /dev/null +++ b/include/site/mips64 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/mips64el b/include/site/mips64el new file mode 100644 index 0000000000..c5aa9c5543 --- /dev/null +++ b/include/site/mips64el @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/mipsel b/include/site/mipsel new file mode 100644 index 0000000000..72a3805c64 --- /dev/null +++ b/include/site/mipsel @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/powerpc b/include/site/powerpc new file mode 100644 index 0000000000..a5626a722b --- /dev/null +++ b/include/site/powerpc @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/sparc b/include/site/sparc new file mode 100644 index 0000000000..a5626a722b --- /dev/null +++ b/include/site/sparc @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/x86_64 b/include/site/x86_64 new file mode 100644 index 0000000000..b8d581d448 --- /dev/null +++ b/include/site/x86_64 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/subdir.mk b/include/subdir.mk new file mode 100644 index 0000000000..f4085f9df4 --- /dev/null +++ b/include/subdir.mk @@ -0,0 +1,92 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifeq ($(MAKECMDGOALS),prereq) + SUBTARGETS:=prereq + PREREQ_ONLY:=1 +else + SUBTARGETS:=clean download prepare compile install update refresh prereq dist distcheck configure +endif + +subtarget-default = $(filter-out ., \ + $(if $($(1)/builddirs-$(2)),$($(1)/builddirs-$(2)), \ + $(if $($(1)/builddirs-default),$($(1)/builddirs-default), \ + $($(1)/builddirs)))) + +define subtarget + $(call warn_eval,$(1),t,T,$(1)/$(2): $($(1)/) $(foreach bd,$(call subtarget-default,$(1),$(2)),$(1)/$(bd)/$(2))) + +endef + +define ERROR + ($(call MESSAGE, $(2)); $(if $(BUILD_LOG), echo "$(2)" >> $(BUILD_LOG_DIR)/$(1)/error.txt)) +endef + +lastdir=$(word $(words $(subst /, ,$(1))),$(subst /, ,$(1))) +diralias=$(if $(findstring $(1),$(call lastdir,$(1))),,$(call lastdir,$(1))) + +# 1: subdir +# 2: target +# 3: build type +# 4: build variant +log_make = \ + $(if $(call debug,$(1),v),,@)+ \ + $(if $(BUILD_LOG), \ + set -o pipefail; \ + mkdir -p $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4));) \ + $$(SUBMAKE) -r -C $(1) $(if $(3),$(3)-)$(2) \ + BUILD_SUBDIR="$(1)" \ + BUILD_VARIANT="$(4)" \ + $(if $(BUILD_LOG),SILENT= 2>&1 | tee $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4))/$(if $(3),$(3)-)$(2).txt) + +# Parameters: +define subdir + $(call warn,$(1),d,D $(1)) + $(foreach bd,$($(1)/builddirs), + $(call warn,$(1),d,BD $(1)/$(bd)) + $(foreach target,$(SUBTARGETS), + $(foreach btype,$(buildtypes-$(bd)), + $(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(btype)/$(target): $(if $(QUILT),,$($(1)/$(bd)/$(btype)/$(target)) $(call $(1)//$(btype)/$(target),$(1)/$(bd)/$(btype)))) + $(call log_make,$(1)/$(bd),$(target),$(btype),$(filter-out __default,$(variant))) \ + $(if $(findstring $(bd),$($(1)/builddirs-ignore-$(btype)-$(target))), || $(call ERROR,$(1), ERROR: $(1)/$(bd) [$(btype)] failed to build.)) + $(if $(call diralias,$(bd)),$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(call diralias,$(bd))/$(btype)/$(target): $(1)/$(bd)/$(btype)/$(target))) + ) + $(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(target): $(if $(QUILT),,$($(1)/$(bd)/$(target)) $(call $(1)//$(target),$(1)/$(bd)))) + $(foreach variant,$(if $(BUILD_VARIANT),$(BUILD_VARIANT),$(if $(strip $($(1)/$(bd)/variants)),$($(1)/$(bd)/variants),$(if $($(1)/$(bd)/default-variant),$($(1)/$(bd)/default-variant),__default))), + $(if $(BUILD_LOG),@mkdir -p $(BUILD_LOG_DIR)/$(1)/$(bd)/$(filter-out __default,$(variant))) + $(call log_make,$(1)/$(bd),$(target),,$(filter-out __default,$(variant))) \ + $(if $(findstring $(bd),$($(1)/builddirs-ignore-$(target))), || $(call ERROR,$(1), ERROR: $(1)/$(bd) failed to build$(if $(filter-out __default,$(variant)), (build variant: $(variant))).)) + ) + $(if $(PREREQ_ONLY)$(DUMP_TARGET_DB),, + # aliases + $(if $(call diralias,$(bd)),$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(call diralias,$(bd))/$(target): $(1)/$(bd)/$(target))) + ) + ) + ) + $(foreach target,$(SUBTARGETS),$(call subtarget,$(1),$(target))) +endef + +ifndef DUMP_TARGET_DB +# Parameters: +define stampfile + $(1)/stamp-$(3):=$(if $(6),$(6),$(STAGING_DIR))/stamp/.$(2)_$(3)$(5) + $$($(1)/stamp-$(3)): $(TMP_DIR)/.build $(4) + @+$(SCRIPT_DIR)/timestamp.pl -n $$($(1)/stamp-$(3)) $(1) $(4) || \ + $(MAKE) $(if $(QUIET),--no-print-directory) $$($(1)/flags-$(3)) $(1)/$(3) + @mkdir -p $$$$(dirname $$($(1)/stamp-$(3))) + @touch $$($(1)/stamp-$(3)) + + $$(if $(call debug,$(1),v),,.SILENT: $$($(1)/stamp-$(3))) + + .PRECIOUS: $$($(1)/stamp-$(3)) # work around a make bug + + $(1)//clean:=$(1)/stamp-$(3)/clean + $(1)/stamp-$(3)/clean: FORCE + @rm -f $$($(1)/stamp-$(3)) + +endef +endif diff --git a/include/target.mk b/include/target.mk new file mode 100644 index 0000000000..a8d3b2b249 --- /dev/null +++ b/include/target.mk @@ -0,0 +1,306 @@ +# +# Copyright (C) 2007-2008 OpenWrt.org +# Copyright (C) 2016 LEDE Project +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__target_inc),1) +__target_inc=1 + +# default device type +DEVICE_TYPE?=router + +# Default packages - the really basic set +DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools uclient-fetch +# For nas targets +DEFAULT_PACKAGES.nas:=block-mount fdisk lsblk mdadm +# For router targets +DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe firewall odhcpd odhcp6c +DEFAULT_PACKAGES.bootloader:= + +ifneq ($(DUMP),) + all: dumpinfo +endif + +target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) +ifeq ($(DUMP),) + PLATFORM_DIR:=$(TOPDIR)/target/linux/$(BOARD) + SUBTARGET:=$(strip $(foreach subdir,$(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk)),$(if $(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(subdir))),$(subdir)))) +else + PLATFORM_DIR:=${CURDIR} + ifeq ($(SUBTARGETS),) + SUBTARGETS:=$(strip $(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk))) + endif +endif + +TARGETID:=$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET)) +PLATFORM_SUBDIR:=$(PLATFORM_DIR)$(if $(SUBTARGET),/$(SUBTARGET)) + +ifneq ($(TARGET_BUILD),1) + ifndef DUMP + include $(PLATFORM_DIR)/Makefile + ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + include $(PLATFORM_SUBDIR)/target.mk + endif + endif +else + ifneq ($(SUBTARGET),) + -include ./$(SUBTARGET)/target.mk + endif +endif + +# Add device specific packages (here below to allow device type set from subtarget) +DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) + +filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1)) +extra_packages = $(if $(filter wpad-mini wpad nas,$(1)),iwinfo) + +define ProfileDefault + NAME:= + PRIORITY:= + PACKAGES:= +endef + +ifndef Profile +define Profile + $(eval $(call ProfileDefault)) + $(eval $(call Profile/$(1))) + dumpinfo : $(call shexport,Profile/$(1)/Description) + DUMPINFO += \ + echo "Target-Profile: $(1)"; \ + $(if $(PRIORITY), echo "Target-Profile-Priority: $(PRIORITY)"; ) \ + echo "Target-Profile-Name: $(NAME)"; \ + echo "Target-Profile-Packages: $(PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES) $(PACKAGES))"; \ + echo "Target-Profile-Description:"; \ + echo "$$$$$$$$$(call shvar,Profile/$(1)/Description)"; \ + echo "@@"; \ + echo; +endef +endif + +ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + define IncludeProfiles + -include $(sort $(wildcard $(PLATFORM_DIR)/profiles/*.mk)) + -include $(sort $(wildcard $(PLATFORM_SUBDIR)/profiles/*.mk)) + endef +else + define IncludeProfiles + -include $(sort $(wildcard $(PLATFORM_DIR)/profiles/*.mk)) + endef +endif + +PROFILE?=$(call qstrip,$(CONFIG_TARGET_PROFILE)) + +ifeq ($(TARGET_BUILD),1) + ifneq ($(DUMP),) + $(eval $(call IncludeProfiles)) + endif +endif + +ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),) + include $(INCLUDE_DIR)/kernel-version.mk +endif + +GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic +GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/patches$(if $(wildcard $(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) +GENERIC_FILES_DIR := $(foreach dir,$(wildcard $(GENERIC_PLATFORM_DIR)/files $(GENERIC_PLATFORM_DIR)/files-$(KERNEL_PATCHVER)),"$(dir)") + +__config_name_list = $(1)/config-$(KERNEL_PATCHVER) $(1)/config-default +__config_list = $(firstword $(wildcard $(call __config_name_list,$(1)))) +find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list))) + +GENERIC_LINUX_CONFIG = $(call find_kernel_config,$(GENERIC_PLATFORM_DIR)) +LINUX_TARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_DIR)) +ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + LINUX_SUBTARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_SUBDIR)) +endif + +# config file list used for compiling +LINUX_KCONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(TOPDIR)/env/kernel-config) + +# default config list for reconfiguring +# defaults to subtarget if subtarget exists and target does not +# defaults to target otherwise +USE_SUBTARGET_CONFIG = $(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1)) + +LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG))) +LINUX_RECONFIG_TARGET = $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG),$(LINUX_TARGET_CONFIG)) + +# select the config file to be changed by kernel_menuconfig/kernel_oldconfig +ifeq ($(CONFIG_TARGET),platform) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG) +endif +ifeq ($(CONFIG_TARGET),subtarget) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_SUBTARGET_CONFIG) +endif +ifeq ($(CONFIG_TARGET),subtarget_platform) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(LINUX_TARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG) +endif +ifeq ($(CONFIG_TARGET),env) + LINUX_RECONFIG_LIST = $(LINUX_KCONFIG_LIST) + LINUX_RECONFIG_TARGET = $(TOPDIR)/env/kernel-config +endif + +__linux_confcmd = $(SCRIPT_DIR)/kconfig.pl $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1) + +LINUX_CONF_CMD = $(call __linux_confcmd,$(LINUX_KCONFIG_LIST),) +LINUX_RECONF_CMD = $(call __linux_confcmd,$(LINUX_RECONFIG_LIST),) +LINUX_RECONF_DIFF = $(call __linux_confcmd,$(filter-out $(LINUX_RECONFIG_TARGET),$(LINUX_RECONFIG_LIST)),'>') + +ifeq ($(DUMP),1) + BuildTarget=$(BuildTargets/DumpCurrent) + + CPU_CFLAGS = -Os -pipe + ifneq ($(findstring mips,$(ARCH)),) + ifneq ($(findstring mips64,$(ARCH)),) + CPU_TYPE ?= mips64 + else + CPU_TYPE ?= mips32 + endif + CPU_CFLAGS += -mno-branch-likely + CPU_CFLAGS_mips32 = -mips32 -mtune=mips32 + CPU_CFLAGS_mips32r2 = -mips32r2 -mtune=mips32r2 + CPU_CFLAGS_mips64 = -mips64 -mtune=mips64 -mabi=64 + CPU_CFLAGS_24kc = -mips32r2 -mtune=24kc + CPU_CFLAGS_74kc = -mips32r2 -mtune=74kc + CPU_CFLAGS_octeon = -march=octeon -mabi=64 + endif + ifeq ($(ARCH),i386) + CPU_TYPE ?= i486 + CPU_CFLAGS_i486 = -march=i486 + CPU_CFLAGS_pentium4 = -march=pentium4 + CPU_CFLAGS_geode = -march=geode -mmmx -m3dnow + endif + ifneq ($(findstring arm,$(ARCH)),) + CPU_TYPE ?= xscale + CPU_CFLAGS_arm920t = -mcpu=arm920t + CPU_CFLAGS_arm926ej-s = -mcpu=arm926ej-s + CPU_CFLAGS_arm1136j-s = -mcpu=arm1136j-s + CPU_CFLAGS_arm1176jzf-s = -mcpu=arm1176jzf-s + CPU_CFLAGS_cortex-a5 = -mcpu=cortex-a5 + CPU_CFLAGS_cortex-a7 = -mcpu=cortex-a7 + CPU_CFLAGS_cortex-a8 = -mcpu=cortex-a8 + CPU_CFLAGS_cortex-a9 = -mcpu=cortex-a9 + CPU_CFLAGS_cortex-a15 = -mcpu=cortex-a15 + CPU_CFLAGS_cortex-a53 = -mcpu=cortex-a53 + CPU_CFLAGS_fa526 = -mcpu=fa526 + CPU_CFLAGS_mpcore = -mcpu=mpcore + CPU_CFLAGS_xscale = -mcpu=xscale + ifeq ($(CONFIG_SOFT_FLOAT),) + CPU_CFLAGS_neon = -mfpu=neon + CPU_CFLAGS_vfp = -mfpu=vfp + CPU_CFLAGS_vfpv3 = -mfpu=vfpv3-d16 + CPU_CFLAGS_neon-vfpv4 = -mfpu=neon-vfpv4 + endif + endif + ifeq ($(ARCH),powerpc) + CPU_CFLAGS_603e:=-mcpu=603e + CPU_CFLAGS_8540:=-mcpu=8540 + CPU_CFLAGS_405:=-mcpu=405 + CPU_CFLAGS_440:=-mcpu=440 + CPU_CFLAGS_464fp:=-mcpu=464fp + endif + ifeq ($(ARCH),sparc) + CPU_TYPE = sparc + CPU_CFLAGS_ultrasparc = -mcpu=ultrasparc + endif + ifeq ($(ARCH),aarch64) + CPU_TYPE ?= armv8-a + CPU_CFLAGS_armv8-a = -mcpu=armv8-a + CPU_CFLAGS_cortex-a53 = -mcpu=cortex-a53 + endif + ifeq ($(ARCH),arc) + CPU_TYPE ?= arc700 + CPU_CFLAGS += -matomic + CPU_CFLAGS_arc700 = -marc700 + CPU_CFLAGS_archs = -marchs + endif + DEFAULT_CFLAGS=$(strip $(CPU_CFLAGS) $(CPU_CFLAGS_$(CPU_TYPE)) $(CPU_CFLAGS_$(CPU_SUBTYPE))) + + ifneq ($(BOARD),) + TMP_CONFIG:=$(TMP_DIR)/.kconfig-$(call target_conf,$(TARGETID)) + $(TMP_CONFIG): $(LINUX_KCONFIG_LIST) + $(LINUX_CONF_CMD) > $@ || rm -f $@ + -include $(TMP_CONFIG) + .SILENT: $(TMP_CONFIG) + .PRECIOUS: $(TMP_CONFIG) + + ifneq ($(CONFIG_OF),) + FEATURES += dt + endif + ifneq ($(CONFIG_GENERIC_GPIO)$(CONFIG_GPIOLIB),) + FEATURES += gpio + endif + ifneq ($(CONFIG_PCI),) + FEATURES += pci + endif + ifneq ($(CONFIG_PCIEPORTBUS),) + FEATURES += pcie + endif + ifneq ($(CONFIG_USB)$(CONFIG_USB_SUPPORT),) + ifneq ($(CONFIG_USB_ARCH_HAS_HCD)$(CONFIG_USB_EHCI_HCD),) + FEATURES += usb + endif + endif + ifneq ($(CONFIG_PCMCIA)$(CONFIG_PCCARD),) + FEATURES += pcmcia + endif + ifneq ($(CONFIG_VGA_CONSOLE)$(CONFIG_FB),) + FEATURES += display + endif + ifneq ($(CONFIG_RTC_CLASS),) + FEATURES += rtc + endif + ifneq ($(CONFIG_VIRTIO),) + FEATURES += virtio + endif + FEATURES += $(foreach v,6 7,$(if $(CONFIG_CPU_V$(v)),arm_v$(v))) + + # remove duplicates + FEATURES:=$(sort $(FEATURES)) + endif +endif + +CUR_SUBTARGET:=$(SUBTARGET) +ifeq ($(SUBTARGETS),) + CUR_SUBTARGET := default +endif + +define BuildTargets/DumpCurrent + .PHONY: dumpinfo + dumpinfo : export DESCRIPTION=$$(Target/Description) + dumpinfo: + @echo 'Target: $(TARGETID)'; \ + echo 'Target-Board: $(BOARD)'; \ + echo 'Target-Name: $(BOARDNAME)$(if $(SUBTARGETS),$(if $(SUBTARGET),))'; \ + echo 'Target-Arch: $(ARCH)'; \ + echo 'Target-Arch-Packages: $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(ARCH)$(if $(CPU_TYPE),_$(CPU_TYPE))$(if $(CPU_SUBTYPE),_$(CPU_SUBTYPE)))'; \ + echo 'Target-Features: $(FEATURES)'; \ + echo 'Target-Depends: $(DEPENDS)'; \ + echo 'Target-Optimization: $(if $(CFLAGS),$(CFLAGS),$(DEFAULT_CFLAGS))'; \ + echo 'CPU-Type: $(CPU_TYPE)$(if $(CPU_SUBTYPE),+$(CPU_SUBTYPE))'; \ + echo 'Linux-Version: $(LINUX_VERSION)'; \ + echo 'Linux-Release: $(LINUX_RELEASE)'; \ + echo 'Linux-Kernel-Arch: $(LINUX_KARCH)'; \ + $(if $(SUBTARGET),,$(if $(DEFAULT_SUBTARGET), echo 'Default-Subtarget: $(DEFAULT_SUBTARGET)'; )) \ + echo 'Target-Description:'; \ + echo "$$$$DESCRIPTION"; \ + echo '@@'; \ + echo 'Default-Packages: $(DEFAULT_PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES))'; \ + $(DUMPINFO) + $(if $(CUR_SUBTARGET),$(SUBMAKE) -r --no-print-directory -C image -s DUMP=1 SUBTARGET=$(CUR_SUBTARGET)) + $(if $(SUBTARGET),,@$(foreach SUBTARGET,$(SUBTARGETS),$(SUBMAKE) -s DUMP=1 SUBTARGET=$(SUBTARGET); )) +endef + +include $(INCLUDE_DIR)/kernel.mk +ifeq ($(TARGET_BUILD),1) + include $(INCLUDE_DIR)/kernel-build.mk + BuildTarget?=$(BuildKernel) +endif + +endif #__target_inc diff --git a/include/toolchain-build.mk b/include/toolchain-build.mk new file mode 100644 index 0000000000..212923a1e6 --- /dev/null +++ b/include/toolchain-build.mk @@ -0,0 +1,25 @@ +# +# Copyright (C) 2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +override CONFIG_AUTOREBUILD= + +REAL_STAGING_DIR_HOST:=$(STAGING_DIR_HOST) +STAGING_DIR_HOST:=$(TOOLCHAIN_DIR) +BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) + +include $(INCLUDE_DIR)/host-build.mk + +HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared + +define FixupLibdir + if [ -d $(1)/lib64 -a \! -L $(1)/lib64 ]; then \ + mkdir -p $(1)/lib; \ + mv $(1)/lib64/* $(1)/lib/; \ + rm -rf $(1)/lib64; \ + fi + ln -sf lib $(1)/lib64 +endef diff --git a/include/toplevel.mk b/include/toplevel.mk new file mode 100644 index 0000000000..f31884d3fe --- /dev/null +++ b/include/toplevel.mk @@ -0,0 +1,235 @@ +# Makefile for OpenWrt +# +# Copyright (C) 2007-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +PREP_MK= OPENWRT_BUILD= QUIET=0 + +export IS_TTY=$(shell tty -s && echo 1 || echo 0) + +include $(TOPDIR)/include/verbose.mk + +ifeq ($(SDK),1) + include $(TOPDIR)/include/version.mk +else + REVISION:=$(shell $(TOPDIR)/scripts/getver.sh) + SOURCE_DATE_EPOCH:=$(shell $(TOPDIR)/scripts/get_source_date_epoch.sh) +endif + +HOSTCC ?= $(CC) +export REVISION +export SOURCE_DATE_EPOCH +export GIT_CONFIG_PARAMETERS='core.autocrlf=false' +export MAKE_JOBSERVER=$(filter --jobserver%,$(MAKEFLAGS)) + +# prevent perforce from messing with the patch utility +unexport P4PORT P4USER P4CONFIG P4CLIENT + +# prevent user defaults for quilt from interfering +unexport QUILT_PATCHES QUILT_PATCH_OPTS + +unexport C_INCLUDE_PATH CROSS_COMPILE ARCH + +# prevent distro default LPATH from interfering +unexport LPATH + +# make sure that a predefined CFLAGS variable does not disturb packages +export CFLAGS= +export LDFLAGS= + +empty:= +space:= $(empty) $(empty) +path:=$(subst :,$(space),$(PATH)) +path:=$(filter-out .%,$(path)) +path:=$(subst $(space),:,$(path)) +export PATH:=$(path) + +unexport TAR_OPTIONS + +ifneq ($(shell $(HOSTCC) 2>&1 | grep clang),) + export HOSTCC_REAL?=$(HOSTCC) + export HOSTCC_WRAPPER:=$(TOPDIR)/scripts/clang-gcc-wrapper +else + export HOSTCC_WRAPPER:=$(HOSTCC) +endif + +ifeq ($(FORCE),) + .config scripts/config/conf scripts/config/mconf: staging_dir/host/.prereq-build +endif + +SCAN_COOKIE?=$(shell echo $$$$) +export SCAN_COOKIE + +SUBMAKE:=umask 022; $(SUBMAKE) + +ULIMIT_FIX=_limit=`ulimit -n`; [ "$$_limit" = "unlimited" -o "$$_limit" -ge 1024 ] || ulimit -n 1024; + +prepare-mk: FORCE ; + +ifdef SDK + IGNORE_PACKAGES = linux +endif + +_ignore = $(foreach p,$(IGNORE_PACKAGES),--ignore $(p)) + +prepare-tmpinfo: FORCE + @+$(MAKE) -r -s staging_dir/host/.prereq-build $(PREP_MK) + mkdir -p tmp/info + $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS="$(TOPDIR)/include/package*.mk $(TOPDIR)/overlay/*/*.mk" SCAN_DEPTH=5 SCAN_EXTRA="" + $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPS="image/Makefile profiles/*.mk $(TOPDIR)/include/kernel*.mk $(TOPDIR)/include/target.mk" SCAN_DEPTH=2 SCAN_EXTRA="" SCAN_MAKEOPTS="TARGET_BUILD=1" + for type in package target; do \ + f=tmp/.$${type}info; t=tmp/.config-$${type}.in; \ + [ "$$t" -nt "$$f" ] || ./scripts/$${type}-metadata.pl $(_ignore) config "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \ + done + [ tmp/.config-feeds.in -nt tmp/.packagesubdirs ] || ./scripts/feeds feed_config > tmp/.config-feeds.in + ./scripts/package-metadata.pl mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; } + ./scripts/package-metadata.pl subdirs tmp/.packageinfo > tmp/.packagesubdirs || { rm -f tmp/.packagesubdirs; false; } + touch $(TOPDIR)/tmp/.build + +.config: ./scripts/config/conf $(if $(CONFIG_HAVE_DOT_CONFIG),,prepare-tmpinfo) + @+if [ \! -e .config ] || ! grep CONFIG_HAVE_DOT_CONFIG .config >/dev/null; then \ + [ -e $(HOME)/.openwrt/defconfig ] && cp $(HOME)/.openwrt/defconfig .config; \ + $(_SINGLE)$(NO_TRACE_MAKE) menuconfig $(PREP_MK); \ + fi + +scripts/config/mconf: + @$(_SINGLE)$(SUBMAKE) -s -C scripts/config all CC="$(HOSTCC_WRAPPER)" + +$(eval $(call rdep,scripts/config,scripts/config/mconf)) + +scripts/config/conf: + @$(_SINGLE)$(SUBMAKE) -s -C scripts/config conf CC="$(HOSTCC_WRAPPER)" + +config: scripts/config/conf prepare-tmpinfo FORCE + $< Config.in + +config-clean: FORCE + $(_SINGLE)$(NO_TRACE_MAKE) -C scripts/config clean + +defconfig: scripts/config/conf prepare-tmpinfo FORCE + touch .config + @if [ ! -s .config -a -e $(HOME)/.openwrt/defconfig ]; then cp $(HOME)/.openwrt/defconfig .config; fi + $< --defconfig=.config Config.in + +confdefault-y=allyes +confdefault-m=allmod +confdefault-n=allno +confdefault:=$(confdefault-$(CONFDEFAULT)) + +oldconfig: scripts/config/conf prepare-tmpinfo FORCE + $< --$(if $(confdefault),$(confdefault),old)config Config.in + +menuconfig: scripts/config/mconf prepare-tmpinfo FORCE + if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \ + cp $(HOME)/.openwrt/defconfig .config; \ + fi + $< Config.in + +prepare_kernel_conf: .config FORCE + +ifeq ($(wildcard staging_dir/host/bin/quilt),) + prepare_kernel_conf: + @+$(SUBMAKE) -r tools/quilt/install +else + prepare_kernel_conf: ; +endif + +kernel_oldconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux oldconfig + +kernel_menuconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux menuconfig + +kernel_nconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux nconfig + +staging_dir/host/.prereq-build: include/prereq-build.mk + mkdir -p tmp + rm -f tmp/.host.mk + @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/include/prereq-build.mk prereq 2>/dev/null || { \ + echo "Prerequisite check failed. Use FORCE=1 to override."; \ + false; \ + } + ifneq ($(realpath $(TOPDIR)/include/prepare.mk),) + @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/include/prepare.mk prepare 2>/dev/null || { \ + echo "Preparation failed."; \ + false; \ + } + endif + touch $@ + +printdb: FORCE + @$(_SINGLE)$(NO_TRACE_MAKE) -p $@ V=99 DUMP_TARGET_DB=1 2>&1 + +ifndef SDK + DOWNLOAD_DIRS = tools/download toolchain/download package/download target/download +else + DOWNLOAD_DIRS = package/download +endif + +download: .config FORCE + @+$(foreach dir,$(DOWNLOAD_DIRS),$(SUBMAKE) $(dir);) + +clean dirclean: .config + @+$(SUBMAKE) -r $@ + +prereq:: prepare-tmpinfo .config + @+$(NO_TRACE_MAKE) -r -s $@ + +WARN_PARALLEL_ERROR = $(if $(BUILD_LOG),,$(and $(filter -j,$(MAKEFLAGS)),$(findstring s,$(OPENWRT_VERBOSE)))) + +ifeq ($(SDK),1) + +%:: + @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq + @./scripts/config/conf --defconfig=.config Config.in + @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ + +else + +%:: + @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq + @( \ + cp .config tmp/.config; \ + ./scripts/config/conf --defconfig=tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \ + if ./scripts/kconfig.pl '>' .config tmp/.config | grep -q CONFIG; then \ + printf "$(_R)WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!$(_N)\n" >&2; \ + fi \ + ) + @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ $(if $(WARN_PARALLEL_ERROR), || { \ + printf "$(_R)Build failed - please re-run with -j1 to see the real error message$(_N)\n" >&2; \ + false; \ + } ) + +endif + +# update all feeds, re-create index files, install symlinks +package/symlinks: + ./scripts/feeds update -a + ./scripts/feeds install -a + +# re-create index files, install symlinks +package/symlinks-install: + ./scripts/feeds update -i + ./scripts/feeds install -a + +# remove all symlinks, don't touch ./feeds +package/symlinks-clean: + ./scripts/feeds uninstall -a + +help: + cat README + +distclean: + rm -rf bin build_dir .config* dl feeds key-build* logs package/feeds package/openwrt-packages staging_dir tmp + @$(_SINGLE)$(SUBMAKE) -C scripts/config clean + +ifeq ($(findstring v,$(DEBUG)),) + .SILENT: symlinkclean clean dirclean distclean config-clean download help tmpinfo-clean .config scripts/config/mconf scripts/config/conf menuconfig staging_dir/host/.prereq-build tmp/.prereq-package prepare-tmpinfo +endif +.PHONY: help FORCE +.NOTPARALLEL: + diff --git a/include/uclibc++.mk b/include/uclibc++.mk new file mode 100644 index 0000000000..a1a61f26d4 --- /dev/null +++ b/include/uclibc++.mk @@ -0,0 +1,16 @@ +ifndef DUMP + ifdef __package_mk + $(error uclibc++.mk must be included before package.mk) + endif +endif + +PKG_PREPARED_DEPENDS += CONFIG_USE_UCLIBCXX +CXX_DEPENDS = +USE_UCLIBCXX:uclibcxx +USE_LIBSTDCXX:libstdcpp + +ifneq ($(CONFIG_USE_UCLIBCXX),) + ifneq ($(CONFIG_CCACHE),) + TARGET_CXX_NOCACHE=g++-uc + else + TARGET_CXX=g++-uc + endif +endif diff --git a/include/unpack.mk b/include/unpack.mk new file mode 100644 index 0000000000..3fabf46033 --- /dev/null +++ b/include/unpack.mk @@ -0,0 +1,81 @@ +# +# Copyright (C) 2006-2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +# unpacking files with +s may break on some platforms. this typically emits error code 2 +ifneq ($(HOST_OS),Linux) + HOST_TAR:=trapret 2 $(TAR) +else + HOST_TAR:=$(TAR) +endif +TAR_CMD=$(HOST_TAR) -C $(1)/.. $(TAR_OPTIONS) +UNZIP_CMD=unzip -d $(1)/.. $(DL_DIR)/$(PKG_SOURCE) + +ifeq ($(PKG_SOURCE),) + PKG_UNPACK ?= true +else + +ifeq ($(strip $(UNPACK_CMD)),) + ifeq ($(strip $(PKG_CAT)),) + # try to autodetect file type + EXT:=$(call ext,$(PKG_SOURCE)) + EXT1:=$(EXT) + + ifeq ($(filter gz tgz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter bzip2 bz2 bz tbz2 tbz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=bzcat $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter xz txz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=xzcat $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter tgz tbz tbz2 txz,$(EXT1)),$(EXT1)) + EXT:=tar + endif + DECOMPRESS_CMD ?= cat $(DL_DIR)/$(PKG_SOURCE) | + ifeq ($(EXT),tar) + UNPACK_CMD=$(DECOMPRESS_CMD) $(TAR_CMD) + endif + ifeq ($(EXT),cpio) + UNPACK_CMD=$(DECOMPRESS_CMD) (cd $(1)/..; cpio -i -d) + endif + ifeq ($(EXT),zip) + UNPACK_CMD=$(UNZIP_CMD) + endif + endif + + # compatibility code for packages that set PKG_CAT + ifeq ($(strip $(UNPACK_CMD)),) + # use existing PKG_CAT + UNPACK_CMD=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) + ifeq ($(PKG_CAT),unzip) + UNPACK_CMD=$(UNZIP_CMD) + endif + # replace zcat with $(ZCAT), because some system don't support it properly + ifeq ($(PKG_CAT),zcat) + UNPACK_CMD=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) + endif + endif + ifneq ($(strip $(CRLF_WORKAROUND)),) + CRLF_CMD := && find $(PKG_BUILD_DIR) -type f -print0 | xargs -0 perl -pi -e 's!\r$$$$!!g' + else + CRLF_CMD := + endif +endif + +ifdef PKG_BUILD_DIR + PKG_UNPACK ?= $(SH_FUNC) $(call UNPACK_CMD,$(PKG_BUILD_DIR)) $(call CRLF_CMD,$(PKG_BUILD_DIR)) +endif +ifdef HOST_BUILD_DIR + HOST_UNPACK ?= $(SH_FUNC) $(call UNPACK_CMD,$(HOST_BUILD_DIR)) $(call CRLF_CMD,$(HOST_BUILD_DIR)) +endif + +endif # PKG_SOURCE + diff --git a/include/verbose.mk b/include/verbose.mk new file mode 100644 index 0000000000..b7e43f7430 --- /dev/null +++ b/include/verbose.mk @@ -0,0 +1,67 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifndef OPENWRT_VERBOSE + OPENWRT_VERBOSE:= +endif +ifeq ("$(origin V)", "command line") + OPENWRT_VERBOSE:=$(V) +endif + +ifeq ($(OPENWRT_VERBOSE),1) + OPENWRT_VERBOSE:=w +endif +ifeq ($(OPENWRT_VERBOSE),99) + OPENWRT_VERBOSE:=s +endif + +ifeq ($(NO_TRACE_MAKE),) +NO_TRACE_MAKE := $(MAKE) V=s$(OPENWRT_VERBOSE) +export NO_TRACE_MAKE +endif + +ifeq ($(IS_TTY),1) + ifneq ($(strip $(NO_COLOR)),1) + _Y:=\\033[33m + _R:=\\033[31m + _N:=\\033[m + endif +endif + +ifeq ($(findstring s,$(OPENWRT_VERBOSE)),) + define MESSAGE + printf "$(_Y)%s$(_N)\n" "$(1)" >&8 + endef + + define ERROR_MESSAGE + printf "$(_R)%s$(_N)\n" "$(1)" >&8 + endef + + ifeq ($(QUIET),1) + ifneq ($(CURDIR),$(TOPDIR)) + _DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) + else + _DIR:= + endif + _NULL:=$(if $(MAKECMDGOALS),$(shell \ + $(call MESSAGE, make[$(MAKELEVEL)]$(if $(_DIR), -C $(_DIR)) $(MAKECMDGOALS)); \ + )) + SUBMAKE=$(MAKE) + else + SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1) + export QUIET:=1 + SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s to see what's going on"; false; } } 8>&1 9>&2; cmd + endif + + .SILENT: $(MAKECMDGOALS) +else + SUBMAKE=$(MAKE) -w + define MESSAGE + printf "%s\n" "$(1)" + endef + ERROR_MESSAGE=$(MESSAGE) +endif diff --git a/include/version.mk b/include/version.mk new file mode 100644 index 0000000000..2e89145fab --- /dev/null +++ b/include/version.mk @@ -0,0 +1,112 @@ +# +# Copyright (C) 2012-2015 OpenWrt.org +# Copyright (C) 2016 LEDE Project +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +# Substituted by SDK, do not remove +# REVISION:=x +# SOURCE_DATE_EPOCH:=x + +RELEASE:=Frivolous Fred + +PKG_CONFIG_DEPENDS += \ + CONFIG_VERSION_BUG_URL \ + CONFIG_VERSION_NUMBER \ + CONFIG_VERSION_CODE \ + CONFIG_VERSION_NICK \ + CONFIG_VERSION_REPO \ + CONFIG_VERSION_DIST \ + CONFIG_VERSION_MANUFACTURER \ + CONFIG_VERSION_MANUFACTURER_URL \ + CONFIG_VERSION_PRODUCT \ + CONFIG_VERSION_SUPPORT_URL \ + CONFIG_VERSION_HWREV \ + +qstrip_escape=$(subst ','\'',$(call qstrip,$(1))) +#' + +sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1)))) + +VERSION_NUMBER:=$(call qstrip_escape,$(CONFIG_VERSION_NUMBER)) +VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),v1.4) + +VERSION_CODE:=$(call qstrip_escape,$(CONFIG_VERSION_CODE)) +VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION)) + +VERSION_NICK:=$(call qstrip_escape,$(CONFIG_VERSION_NICK)) +VERSION_NICK:=$(if $(VERSION_NICK),$(VERSION_NICK),$(RELEASE)) + +VERSION_REPO:=$(call qstrip_escape,$(CONFIG_VERSION_REPO)) +VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://librecmc.org/librecmc) + +VERSION_DIST:=$(call qstrip_escape,$(CONFIG_VERSION_DIST)) +VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),libreCMC) +VERSION_DIST_SANITIZED:=$(call sanitize,$(VERSION_DIST)) + +VERSION_MANUFACTURER:=$(call qstrip_escape,$(CONFIG_VERSION_MANUFACTURER)) +VERSION_MANUFACTURER:=$(if $(VERSION_MANUFACTURER),$(VERSION_MANUFACTURER),libreCMC) + +VERSION_MANUFACTURER_URL:=$(call qstrip_escape,$(CONFIG_VERSION_MANUFACTURER_URL)) +VERSION_MANUFACTURER_URL:=$(if $(VERSION_MANUFACTURER_URL),$(VERSION_MANUFACTURER_URL),https://librecmc.org/librecmc) + +VERSION_BUG_URL:=$(call qstrip_escape,$(CONFIG_VERSION_BUG_URL)) +VERSION_BUG_URL:=$(if $(VERSION_BUG_URL),$(VERSION_BUG_URL)) + +VERSION_SUPPORT_URL:=$(call qstrip_escape,$(CONFIG_VERSION_SUPPORT_URL)) +VERSION_SUPPORT_URL:=$(if $(VERSION_SUPPORT_URL),$(VERSION_SUPPORT_URL)) + +VERSION_PRODUCT:=$(call qstrip_escape,$(CONFIG_VERSION_PRODUCT)) +VERSION_PRODUCT:=$(if $(VERSION_PRODUCT),$(VERSION_PRODUCT),Generic) + +VERSION_HWREV:=$(call qstrip_escape,$(CONFIG_VERSION_HWREV)) +VERSION_HWREV:=$(if $(VERSION_HWREV),$(VERSION_HWREV),v0) + +define taint2sym +$(CONFIG_$(firstword $(subst :, ,$(subst +,,$(subst -,,$(1)))))) +endef + +define taint2name +$(lastword $(subst :, ,$(1))) +endef + +VERSION_TAINT_SPECS := \ + -ALL_KMODS:no-all \ + -IPV6:no-ipv6 \ + +USE_GLIBC:glibc \ + +USE_MKLIBS:mklibs \ + +BUSYBOX_CUSTOM:busybox \ + +OVERRIDE_PKGS:override \ + +VERSION_TAINTS := $(strip $(foreach taint,$(VERSION_TAINT_SPECS), \ + $(if $(findstring +,$(taint)), \ + $(if $(call taint2sym,$(taint)),$(call taint2name,$(taint))), \ + $(if $(call taint2sym,$(taint)),,$(call taint2name,$(taint))) \ + ))) + +PKG_CONFIG_DEPENDS += $(foreach taint,$(VERSION_TAINT_SPECS),$(call taint2sym,$(taint))) + +VERSION_SED:=$(SED) 's,%U,$(VERSION_REPO),g' \ + -e 's,%V,$(VERSION_NUMBER),g' \ + -e 's,%v,\L$(subst $(space),_,$(VERSION_NUMBER)),g' \ + -e 's,%C,$(VERSION_CODE),g' \ + -e 's,%c,\L$(subst $(space),_,$(VERSION_CODE)),g' \ + -e 's,%N,$(VERSION_NICK),g' \ + -e 's,%n,\L$(subst $(space),_,$(VERSION_NICK)),g' \ + -e 's,%D,$(VERSION_DIST),g' \ + -e 's,%d,\L$(subst $(space),_,$(VERSION_DIST)),g' \ + -e 's,%R,$(REVISION),g' \ + -e 's,%T,$(BOARD),g' \ + -e 's,%S,$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic),g' \ + -e 's,%A,$(ARCH_PACKAGES),g' \ + -e 's,%t,$(VERSION_TAINTS),g' \ + -e 's,%M,$(VERSION_MANUFACTURER),g' \ + -e 's,%m,$(VERSION_MANUFACTURER_URL),g' \ + -e 's,%b,$(VERSION_BUG_URL),g' \ + -e 's,%s,$(VERSION_SUPPORT_URL),g' \ + -e 's,%P,$(VERSION_PRODUCT),g' \ + -e 's,%h,$(VERSION_HWREV),g' + +VERSION_SED_SCRIPT:=$(subst '\'','\'\\\\\'\'',$(VERSION_SED)) diff --git a/package/Makefile b/package/Makefile new file mode 100644 index 0000000000..8726e2eae9 --- /dev/null +++ b/package/Makefile @@ -0,0 +1,127 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +curdir:=package + +include $(INCLUDE_DIR)/rootfs.mk + +-include $(TMP_DIR)/.packagedeps +$(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m)) +$(curdir)/builddirs-install:=. +$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m)) +$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m)) +ifneq ($(IGNORE_ERRORS),) + package-y-filter := $(package-y) + package-m-filter := $(filter-out $(package-y),$(package-m)) + package-n-filter := $(filter-out $(package-y) $(package-m),$(package-)) + package-ignore-errors := $(filter n m y,$(IGNORE_ERRORS)) + package-ignore-errors := $(if $(package-ignore-errors),$(package-ignore-errors),n m) + package-ignore-subdirs := $(sort $(foreach m,$(package-ignore-errors),$(package-$(m)-filter))) + $(curdir)/builddirs-ignore-download := $(package-ignore-subdirs) + $(curdir)/builddirs-ignore-compile := $(package-ignore-subdirs) + $(curdir)/builddirs-ignore-host-download := $(package-ignore-subdirs) + $(curdir)/builddirs-ignore-host-compile := $(package-ignore-subdirs) +endif + +PACKAGE_INSTALL_FILES:= \ + $(foreach pkg,$(sort $(package-y)), \ + $(foreach variant, \ + $(if $(strip $(package/$(pkg)/variants)), \ + $(package/$(pkg)/variants), \ + $(if $(package/$(pkg)/default-variant), \ + $(package/$(pkg)/default-variant), \ + default \ + ) \ + ), \ + $(PKG_INFO_DIR)/$(lastword $(subst /,$(space),$(pkg))).$(variant).install \ + ) \ + ) + +$(curdir)/cleanup: $(TMP_DIR)/.build + rm -rf $(STAGING_DIR_ROOT) + +$(curdir)/merge: + rm -rf $(PACKAGE_DIR_ALL) + mkdir -p $(PACKAGE_DIR_ALL) + -$(foreach pdir,$(PACKAGE_SUBDIRS),$(if $(wildcard $(pdir)/*.ipk),ln -s $(pdir)/*.ipk $(PACKAGE_DIR_ALL);)) + +$(curdir)/merge-index: $(curdir)/merge + (cd $(PACKAGE_DIR_ALL) && $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages; ) + +$(curdir)/install: $(TMP_DIR)/.build $(curdir)/system/opkg/host/install $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index) + - find $(STAGING_DIR_ROOT) -type d | $(XARGS) chmod 0755 + rm -rf $(TARGET_DIR) $(TARGET_DIR_ORIG) + [ -d $(TARGET_DIR)/tmp ] || mkdir -p $(TARGET_DIR)/tmp + $(call opkg,$(TARGET_DIR)) install \ + $(call opkg_package_files,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null)) + @for file in $(PACKAGE_INSTALL_FILES); do \ + [ -s $$file.flags ] || continue; \ + for flag in `cat $$file.flags`; do \ + $(call opkg,$(TARGET_DIR)) flag $$flag `cat $$file`; \ + done; \ + done || true + @-$(MAKE) package/preconfig + + $(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG) + + $(call prepare_rootfs,$(TARGET_DIR)) + +PASSOPT="" +PASSARG="" +ifndef CONFIG_OPKGSMIME_PASSPHRASE + ifneq ($(call qstrip,$(CONFIG_OPKGSMIME_PASSFILE)),) + PASSOPT="-passin" + PASSARG="file:$(call qstrip,$(CONFIG_OPKGSMIME_PASSFILE))" + endif +endif + +$(curdir)/index: FORCE + @echo Generating package index... + @for d in $(PACKAGE_SUBDIRS); do ( \ + mkdir -p $$d; \ + cd $$d || continue; \ + $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages && \ + gzip -9nc Packages > Packages.gz; \ + ); done +ifdef CONFIG_SIGNED_PACKAGES + @echo Signing package index... + @for d in $(PACKAGE_SUBDIRS); do ( \ + [ -d $$d ] && \ + cd $$d || continue; \ + $(STAGING_DIR_HOST)/bin/usign -S -m Packages -s $(BUILD_KEY); \ + ); done +else +ifeq ($(call qstrip,$(CONFIG_OPKGSMIME_KEY)),) + @echo Signing key has not been configured +else +ifeq ($(call qstrip,$(CONFIG_OPKGSMIME_CERT)),) + @echo Certificate has not been configured +else + @echo Signing package index... + @for d in $(PACKAGE_SUBDIRS); do ( \ + [ -d $$d ] && \ + cd $$d || continue; \ + openssl smime -binary -in Packages.gz \ + -out Packages.sig -outform PEM -sign \ + -signer $(CONFIG_OPKGSMIME_CERT) \ + -inkey $(CONFIG_OPKGSMIME_KEY) \ + $(PASSOPT) $(PASSARG); \ + ); done +endif +endif +endif + +$(curdir)/preconfig: + +$(curdir)/flags-install:= -j1 + +$(eval $(call stampfile,$(curdir),package,prereq,.config)) +$(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build)) +$(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build)) +$(eval $(call stampfile,$(curdir),package,install,$(TMP_DIR)/.build)) + +$(eval $(call subdir,$(curdir))) diff --git a/package/base-files/Makefile b/package/base-files/Makefile new file mode 100644 index 0000000000..5aadd6f833 --- /dev/null +++ b/package/base-files/Makefile @@ -0,0 +1,177 @@ +# +# Copyright (C) 2007-2016 OpenWrt.org +# Copyright (C) 2010 Vertical Communications +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/version.mk + +PKG_NAME:=base-files +PKG_RELEASE:=171 +PKG_FLAGS:=nonshared + +PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ +PKG_BUILD_DEPENDS:=usign/host +PKG_LICENSE:=GPL-2.0 + +PKG_CONFIG_DEPENDS := CONFIG_SIGNED_PACKAGES CONFIG_TARGET_INIT_PATH CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE + +include $(INCLUDE_DIR)/package.mk + +ifneq ($(DUMP),1) + STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell $(SH_FUNC) echo $(CONFIG_TARGET_INIT_PATH) | md5s) + TARGET:=-$(BOARD) +endif + +define Package/base-files + SECTION:=base + CATEGORY:=Base system + DEPENDS:=+netifd +libc +procd +jsonfilter +SIGNED_PACKAGES:usign +SIGNED_PACKAGES:lede-keyring +fstools +fwtool + TITLE:=Base filesystem for Lede + URL:=http://openwrt.org/ + VERSION:=$(PKG_RELEASE)-$(REVISION) +endef + +define Package/base-files/conffiles +/etc/config/network +/etc/config/system +/etc/hosts +/etc/inittab +/etc/group +/etc/passwd +/etc/shadow +/etc/profile +/etc/protocols +/etc/services +/etc/shells +/etc/sysctl.conf +/etc/rc.local +/etc/sysupgrade.conf +/etc/config/ +/etc/dropbear/ +/etc/crontabs/ +/etc/sysctl.d/local.conf +/etc/sysctl.d/ +/etc/iproute2/rt_tables +$(call $(TARGET)/conffiles) +endef + +define Package/base-files/description + This package contains a base filesystem and system scripts for OpenWrt. +endef + +define ImageConfigOptions + mkdir -p $(1)/lib/preinit + echo 'pi_suppress_stderr="$(CONFIG_TARGET_PREINIT_SUPPRESS_STDERR)"' >$(1)/lib/preinit/00_preinit.conf + echo 'fs_failsafe_wait_timeout=$(if $(CONFIG_TARGET_PREINIT_TIMEOUT),$(CONFIG_TARGET_PREINIT_TIMEOUT),2)' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_path="$(TARGET_INIT_PATH)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_env=$(if $(CONFIG_TARGET_INIT_ENV),$(CONFIG_TARGET_INIT_ENV),"")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_cmd=$(if $(CONFIG_TARGET_INIT_CMD),$(CONFIG_TARGET_INIT_CMD),"/sbin/init")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_suppress_stderr="$(CONFIG_TARGET_INIT_SUPPRESS_STDERR)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_ifname=$(if $(CONFIG_TARGET_PREINIT_IFNAME),$(CONFIG_TARGET_PREINIT_IFNAME),"")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_ip=$(if $(CONFIG_TARGET_PREINIT_IP),$(CONFIG_TARGET_PREINIT_IP),"192.168.10.1")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_netmask=$(if $(CONFIG_TARGET_PREINIT_NETMASK),$(CONFIG_TARGET_PREINIT_NETMASK),"255.255.255.0")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_broadcast=$(if $(CONFIG_TARGET_PREINIT_BROADCAST),$(CONFIG_TARGET_PREINIT_BROADCAST),"192.168.10.255")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_preinit_net_messages="$(CONFIG_TARGET_PREINIT_SHOW_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_preinit_no_failsafe_netmsg="$(CONFIG_TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_preinit_no_failsafe="$(CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE)"' >>$(1)/lib/preinit/00_preinit.conf +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +endef + +define Build/Compile/Default + +endef +Build/Compile = $(Build/Compile/Default) + +ifdef CONFIG_SIGNED_PACKAGES + define Build/Configure + [ -s $(BUILD_KEY) -a -s $(BUILD_KEY).pub ] || \ + $(STAGING_DIR_HOST)/bin/usign -G -s $(BUILD_KEY) -p $(BUILD_KEY).pub -c "Local build key" + + endef + + define Package/base-files/install-key + mkdir -p $(1)/etc/opkg/keys + $(CP) $(BUILD_KEY).pub $(1)/etc/opkg/keys/`$(STAGING_DIR_HOST)/bin/usign -F -p $(BUILD_KEY).pub` + + endef +endif + +define Package/base-files/install + $(CP) ./files/* $(1)/ + $(Package/base-files/install-key) + if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \ + $(CP) $(GENERIC_PLATFORM_DIR)/base-files/* $(1)/; \ + fi + if [ -d $(PLATFORM_DIR)/base-files/. ]; then \ + $(CP) $(PLATFORM_DIR)/base-files/* $(1)/; \ + fi + $(if $(filter-out $(PLATFORM_DIR),$(PLATFORM_SUBDIR)), \ + if [ -d $(PLATFORM_SUBDIR)/base-files/. ]; then \ + $(CP) $(PLATFORM_SUBDIR)/base-files/* $(1)/; \ + fi; \ + ) + + $(VERSION_SED) \ + $(1)/etc/banner \ + $(1)/etc/openwrt_version \ + $(1)/usr/lib/os-release + + $(VERSION_SED_SCRIPT) \ + $(1)/etc/openwrt_release \ + $(1)/etc/device_info \ + $(1)/usr/lib/os-release + + $(SED) "s#%PATH%#$(TARGET_INIT_PATH)#g" \ + $(1)/sbin/hotplug-call \ + $(1)/etc/preinit \ + $(1)/etc/profile + + mkdir -p $(1)/CONTROL + mkdir -p $(1)/dev + mkdir -p $(1)/etc/crontabs + mkdir -p $(1)/etc/rc.d + mkdir -p $(1)/overlay + mkdir -p $(1)/lib/firmware + $(if $(LIB_SUFFIX),-$(LN) lib $(1)/lib$(LIB_SUFFIX)) + mkdir -p $(1)/mnt + mkdir -p $(1)/proc + mkdir -p $(1)/tmp + mkdir -p $(1)/usr/lib + $(if $(LIB_SUFFIX),-$(LN) lib $(1)/usr/lib$(LIB_SUFFIX)) + mkdir -p $(1)/usr/bin + mkdir -p $(1)/sys + mkdir -p $(1)/www + mkdir -p $(1)/root + $(LN) /proc/mounts $(1)/etc/mtab + rm -f $(1)/var + $(LN) /tmp $(1)/var + mkdir -p $(1)/etc + $(LN) /tmp/resolv.conf /tmp/TZ /tmp/localtime $(1)/etc/ + + chmod 0600 $(1)/etc/shadow + chmod 1777 $(1)/tmp + + $(call ImageConfigOptions,$(1)) + $(call Package/base-files/install-target,$(1)) + for conffile in $(1)/etc/config/*; do \ + if [ -f "$$$$conffile" ]; then \ + grep "$$$${conffile##$(1)}" $(1)/CONTROL/conffiles || \ + echo "$$$${conffile##$(1)}" >> $(1)/CONTROL/conffiles; \ + fi \ + done +endef + +ifneq ($(DUMP),1) + -include $(PLATFORM_DIR)/base-files.mk + -include $(PLATFORM_SUBDIR)/base-files.mk +endif + +$(eval $(call BuildPackage,base-files)) diff --git a/package/base-files/files/bin/board_detect b/package/base-files/files/bin/board_detect new file mode 100755 index 0000000000..441db6a08f --- /dev/null +++ b/package/base-files/files/bin/board_detect @@ -0,0 +1,14 @@ +#!/bin/sh + +CFG=$1 + +[ -n "$CFG" ] || CFG=/etc/board.json + +[ -d "/etc/board.d/" -a ! -s "$CFG" ] && { + for a in `ls /etc/board.d/*`; do + [ -x $a ] || continue; + $(. $a) + done +} + +[ -s "$CFG" ] || return 1 diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate new file mode 100755 index 0000000000..63d3b8d60c --- /dev/null +++ b/package/base-files/files/bin/config_generate @@ -0,0 +1,437 @@ +#!/bin/sh + +CFG=/etc/board.json + +. /usr/share/libubox/jshn.sh + +[ -s $CFG ] || /bin/board_detect || exit 1 +[ -s /etc/config/network -a -s /etc/config/system ] && exit 0 + +generate_static_network() { + uci -q batch <<-EOF + delete network.loopback + set network.loopback='interface' + set network.loopback.ifname='lo' + set network.loopback.proto='static' + set network.loopback.ipaddr='127.0.0.1' + set network.loopback.netmask='255.0.0.0' + delete network.globals + set network.globals='globals' + set network.globals.ula_prefix='auto' + EOF + + if json_is_a dsl object; then + json_select dsl + if json_is_a atmbridge object; then + json_select atmbridge + local vpi vci encaps payload + json_get_vars vpi vci encaps payload + uci -q batch <<-EOF + delete network.atm + set network.atm='atm-bridge' + set network.atm.vpi='$vpi' + set network.atm.vci='$vci' + set network.atm.encaps='$encaps' + set network.atm.payload='$payload' + EOF + json_select .. + fi + + if json_is_a modem object; then + json_select modem + local type annex firmware tone xfer_mode + json_get_vars type annex firmware tone xfer_mode + uci -q batch <<-EOF + delete network.dsl + set network.dsl='dsl' + set network.dsl.annex='$annex' + set network.dsl.firmware='$firmware' + set network.dsl.tone='$tone' + set network.dsl.xfer_mode='$xfer_mode' + EOF + json_select .. + fi + json_select .. + fi +} + +addr_offset=2 +generate_network() { + local ifname macaddr protocol type ipaddr netmask + + json_select network + json_select "$1" + json_get_vars ifname macaddr protocol ipaddr netmask + json_select .. + json_select .. + + [ -n "$ifname" ] || return + + # force bridge for multi-interface devices (and lan) + case "$1:$ifname" in + *\ * | lan:*) type="bridge" ;; + esac + + uci -q batch <<-EOF + delete network.$1 + set network.$1='interface' + set network.$1.type='$type' + set network.$1.ifname='$ifname' + set network.$1.proto='none' + EOF + + [ -n "$macaddr" ] && uci -q batch <<-EOF + delete network.$1_dev + set network.$1_dev='device' + set network.$1_dev.name='$ifname' + set network.$1_dev.macaddr='$macaddr' + EOF + + case "$protocol" in + static) + local ipad + case "$1" in + lan) ipad=${ipaddr:-"192.168.10.1"} ;; + *) ipad=${ipaddr:-"192.168.$((addr_offset++)).1"} ;; + esac + + netm=${netmask:-"255.255.255.0"} + + uci -q batch <<-EOF + set network.$1.proto='static' + set network.$1.ipaddr='$ipad' + set network.$1.netmask='$netm' + set network.$1.ip6assign='60' + EOF + ;; + + dhcp) + # fixup IPv6 slave interface if parent is a bridge + [ "$type" = "bridge" ] && ifname="br-$1" + + uci -q batch <<-EOF + set network.$1.proto='dhcp' + delete network.${1}6 + set network.${1}6='interface' + set network.${1}6.ifname='$ifname' + set network.${1}6.proto='dhcpv6' + EOF + ;; + + pppoe) + # fixup IPv6 slave interface + ifname="pppoe-$1" + + uci -q batch <<-EOF + set network.$1.proto='pppoe' + set network.$1.username='username' + set network.$1.password='password' + set network.$1.ipv6='auto' + delete network.${1}6 + set network.${1}6='interface' + set network.${1}6.ifname='$ifname' + set network.${1}6.proto='dhcpv6' + EOF + ;; + esac +} + +generate_switch_vlans_ports() { + local switch="$1" + local port ports role roles num attr val + + # + # autogenerate vlans + # + + if json_is_a roles array; then + json_get_keys roles roles + json_select roles + + for role in $roles; do + json_select "$role" + json_get_vars ports + json_select .. + + uci -q batch <<-EOF + add network switch_vlan + set network.@switch_vlan[-1].device='$switch' + set network.@switch_vlan[-1].vlan='$role' + set network.@switch_vlan[-1].ports='$ports' + EOF + done + + json_select .. + fi + + + # + # write port specific settings + # + + if json_is_a ports array; then + json_get_keys ports ports + json_select ports + + for port in $ports; do + json_select "$port" + json_get_vars num + + if json_is_a attr object; then + json_get_keys attr attr + json_select attr + uci -q batch <<-EOF + add network switch_port + set network.@switch_port[-1].device='$switch' + set network.@switch_port[-1].port=$num + EOF + + for attr in $attr; do + json_get_var val "$attr" + uci -q set network.@switch_port[-1].$attr="$val" + done + json_select .. + fi + json_select .. + done + + json_select .. + fi +} + +generate_switch() { + local key="$1" + local vlans + + json_select switch + json_select "$key" + json_get_vars enable reset blinkrate cpu_port + + uci -q batch <<-EOF + add network switch + set network.@switch[-1].name='$key' + set network.@switch[-1].reset='$reset' + set network.@switch[-1].enable_vlan='$enable' + set network.@switch[-1].blinkrate='$blinkrate' + EOF + + generate_switch_vlans_ports "$1" + + json_select .. + json_select .. +} + + +generate_static_system() { + uci -q batch <<-EOF + delete system.@system[0] + add system system + set system.@system[-1].hostname='libreCMC' + set system.@system[-1].timezone='UTC' + set system.@system[-1].ttylogin='0' + set system.@system[-1].log_size='64' + set system.@system[-1].urandom_seed='0' + + delete system.ntp + set system.ntp='timeserver' + set system.ntp.enabled='1' + set system.ntp.enable_server='0' + add_list system.ntp.server='0.lede.pool.ntp.org' + add_list system.ntp.server='1.lede.pool.ntp.org' + add_list system.ntp.server='2.lede.pool.ntp.org' + add_list system.ntp.server='3.lede.pool.ntp.org' + EOF + + if json_is_a system object; then + json_select system + local hostname + if json_get_var hostname hostname; then + uci -q set "system.@system[-1].hostname=$hostname" + fi + + if json_is_a ntpserver array; then + local keys key + json_get_keys keys ntpserver + json_select ntpserver + uci -q delete "system.ntp.server" + + for key in $keys; do + local server + if json_get_var server "$key"; then + uci -q add_list "system.ntp.server=$server" + fi + done + json_select .. + fi + json_select .. + fi +} + +generate_rssimon() { + local key="$1" + local cfg="rssid_$key" + local refresh threshold + + json_select rssimon + json_select "$key" + json_get_vars refresh threshold + json_select .. + json_select .. + + uci -q batch <<-EOF + delete system.$cfg + set system.$cfg='rssid' + set system.$cfg.dev='$key' + set system.$cfg.refresh='$refresh' + set system.$cfg.threshold='$threshold' + EOF +} + +generate_led() { + local key="$1" + local cfg="led_$key" + + json_select led + json_select "$key" + json_get_vars name sysfs type trigger default + + uci -q batch <<-EOF + delete system.$cfg + set system.$cfg='led' + set system.$cfg.name='$name' + set system.$cfg.sysfs='$sysfs' + set system.$cfg.trigger='$trigger' + set system.$cfg.default='$default' + EOF + + case "$type" in + gpio) + local gpio inverted + json_get_vars gpio inverted + uci -q batch <<-EOF + set system.$cfg.trigger='gpio' + set system.$cfg.gpio='$gpio' + set system.$cfg.inverted='$inverted' + EOF + ;; + + netdev) + local device mode + json_get_vars device mode + uci -q batch <<-EOF + set system.$cfg.trigger='netdev' + set system.$cfg.mode='$mode' + set system.$cfg.dev='$device' + EOF + ;; + + usb) + local device + json_get_vars device + uci -q batch <<-EOF + set system.$cfg.trigger='usbdev' + set system.$cfg.interval='50' + set system.$cfg.dev='$device' + EOF + ;; + + usbport) + local ports port + json_get_values ports ports + uci set system.$cfg.trigger='usbport' + for port in $ports; do + uci add_list system.$cfg.port=$port + done + ;; + + rssi) + local iface minq maxq offset factor + json_get_vars iface minq maxq offset factor + uci -q batch <<-EOF + set system.$cfg.trigger='rssi' + set system.$cfg.iface='rssid_$iface' + set system.$cfg.minq='$minq' + set system.$cfg.maxq='$maxq' + set system.$cfg.offset='$offset' + set system.$cfg.factor='$factor' + EOF + ;; + + switch) + local port_mask speed_mask + json_get_vars port_mask speed_mask + uci -q batch <<-EOF + set system.$cfg.port_mask='$port_mask' + set system.$cfg.speed_mask='$speed_mask' + EOF + ;; + + portstate) + local port_state + json_get_vars port_state + uci -q batch <<-EOF + set system.$cfg.port_state='$port_state' + EOF + ;; + + timer|oneshot) + local delayon delayoff + json_get_vars delayon delayoff + uci -q batch <<-EOF + set system.$cfg.trigger='$type' + set system.$cfg.delayon='$delayon' + set system.$cfg.delayoff='$delayoff' + EOF + ;; + esac + + json_select .. + json_select .. +} + +generate_gpioswitch() { + local cfg="$1" + + json_select gpioswitch + json_select "$cfg" + local name pin default + json_get_vars name pin default + uci -q batch <<-EOF + delete system.$cfg + set system.$cfg='gpio_switch' + set system.$cfg.name='$name' + set system.$cfg.gpio_pin='$pin' + set system.$cfg.default='$default' + EOF + json_select .. + json_select .. +} + +json_init +json_load "$(cat ${CFG})" + +if [ ! -s /etc/config/network ]; then + touch /etc/config/network + generate_static_network + + json_get_keys keys network + for key in $keys; do generate_network $key; done + + json_get_keys keys switch + for key in $keys; do generate_switch $key; done +fi + +if [ ! -s /etc/config/system ]; then + touch /etc/config/system + generate_static_system + + json_get_keys keys rssimon + for key in $keys; do generate_rssimon $key; done + + json_get_keys keys gpioswitch + for key in $keys; do generate_gpioswitch $key; done + + json_get_keys keys led + for key in $keys; do generate_led $key; done +fi +uci commit diff --git a/package/base-files/files/bin/ipcalc.sh b/package/base-files/files/bin/ipcalc.sh new file mode 100755 index 0000000000..5d5eac3ea8 --- /dev/null +++ b/package/base-files/files/bin/ipcalc.sh @@ -0,0 +1,71 @@ +#!/bin/sh + +awk -f - $* <limit) end=limit + + print "IP="int2ip(ipaddr) + print "NETMASK="int2ip(netmask) + print "BROADCAST="int2ip(broadcast) + print "NETWORK="int2ip(network) + print "PREFIX="32-bitcount(compl32(netmask)) + + # range calculations: + # ipcalc + + if (ARGC > 3) { + print "START="int2ip(start) + print "END="int2ip(end) + } +} +EOF diff --git a/package/base-files/files/etc/banner b/package/base-files/files/etc/banner new file mode 100644 index 0000000000..c4dc4efb81 --- /dev/null +++ b/package/base-files/files/etc/banner @@ -0,0 +1,9 @@ + + ____ _____ ____ + _ _ _ | __|| || __| + | (_) |__ _ _ ___ | | | | | || | + | | | '_ \ '_/ -_)| |__ | | | || |__ + |_|_|_.__/_| \___||____||_|_|_||____| + ----------------------------------------- + %C Version: %V + diff --git a/package/base-files/files/etc/banner.failsafe b/package/base-files/files/etc/banner.failsafe new file mode 100644 index 0000000000..14615e1ef7 --- /dev/null +++ b/package/base-files/files/etc/banner.failsafe @@ -0,0 +1,13 @@ +================= FAILSAFE MODE active ================ +special commands: +* firstboot reset settings to factory defaults +* mount_root mount root-partition with config files + +after mount_root: +* passwd change root's password +* /etc/config directory with config files + +for more help see: +http://wiki.openwrt.org/doc/howto/generic.failsafe +======================================================= + diff --git a/package/base-files/files/etc/board.d/99-default_network b/package/base-files/files/etc/board.d/99-default_network new file mode 100755 index 0000000000..d70aa352b9 --- /dev/null +++ b/package/base-files/files/etc/board.d/99-default_network @@ -0,0 +1,17 @@ +#!/bin/sh +# +# Copyright (C) 2013-2015 OpenWrt.org +# + +. /lib/functions/uci-defaults.sh + +board_config_update + +json_is_a network object && exit 0 + +ucidef_set_interface_lan 'eth0' +[ -d /sys/class/net/eth1 ] && ucidef_set_interface_wan 'eth1' + +board_config_flush + +exit 0 diff --git a/package/base-files/files/etc/device_info b/package/base-files/files/etc/device_info new file mode 100644 index 0000000000..4045e9e027 --- /dev/null +++ b/package/base-files/files/etc/device_info @@ -0,0 +1,4 @@ +DEVICE_MANUFACTURER='%M' +DEVICE_MANUFACTURER_URL='%m' +DEVICE_PRODUCT='%P' +DEVICE_REVISION='%h' diff --git a/package/base-files/files/etc/diag.sh b/package/base-files/files/etc/diag.sh new file mode 100644 index 0000000000..8726a4398b --- /dev/null +++ b/package/base-files/files/etc/diag.sh @@ -0,0 +1,4 @@ +#!/bin/sh +# Copyright (C) 2006-2009 OpenWrt.org + +set_state() { :; } diff --git a/package/base-files/files/etc/fstab b/package/base-files/files/etc/fstab new file mode 100644 index 0000000000..6e9b7baf53 --- /dev/null +++ b/package/base-files/files/etc/fstab @@ -0,0 +1 @@ +# diff --git a/package/base-files/files/etc/group b/package/base-files/files/etc/group new file mode 100644 index 0000000000..d36685139a --- /dev/null +++ b/package/base-files/files/etc/group @@ -0,0 +1,10 @@ +root:x:0: +daemon:x:1: +adm:x:4: +mail:x:8: +audio:x:29: +www-data:x:33: +ftp:x:55: +users:x:100: +network:x:101: +nogroup:x:65534: diff --git a/package/base-files/files/etc/hosts b/package/base-files/files/etc/hosts new file mode 100644 index 0000000000..b7713ebcc6 --- /dev/null +++ b/package/base-files/files/etc/hosts @@ -0,0 +1,5 @@ +127.0.0.1 localhost + +::1 localhost ip6-localhost ip6-loopback +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters diff --git a/package/base-files/files/etc/hotplug.d/net/00-sysctl b/package/base-files/files/etc/hotplug.d/net/00-sysctl new file mode 100644 index 0000000000..7a71652c44 --- /dev/null +++ b/package/base-files/files/etc/hotplug.d/net/00-sysctl @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ "$ACTION" = add ]; then + for CONF in /etc/sysctl.conf /etc/sysctl.d/*.conf; do + [ ! -f "$CONF" ] && continue; + sed -ne "/^[[:space:]]*net\..*\.$DEVICENAME\./p" "$CONF" | \ + sysctl -e -p - | logger -t sysctl + done +fi diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot new file mode 100755 index 0000000000..31f245ffc7 --- /dev/null +++ b/package/base-files/files/etc/init.d/boot @@ -0,0 +1,51 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +START=10 +STOP=98 + +uci_apply_defaults() { + . /lib/functions/system.sh + + cd /etc/uci-defaults || return 0 + files="$(ls)" + [ -z "$files" ] && return 0 + mkdir -p /tmp/.uci + for file in $files; do + ( . "./$(basename $file)" ) && rm -f "$file" + done + uci commit +} + +boot() { + [ -f /proc/mounts ] || /sbin/mount_root + [ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc + [ -f /proc/net/vlan/config ] && vconfig set_name_type DEV_PLUS_VID_NO_PAD + + mkdir -p /var/run + mkdir -p /var/log + mkdir -p /var/lock + mkdir -p /var/state + mkdir -p /var/tmp + mkdir -p /tmp/.uci + chmod 0700 /tmp/.uci + touch /var/log/wtmp + touch /var/log/lastlog + touch /tmp/resolv.conf.auto + ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf + grep -q debugfs /proc/filesystems && /bin/mount -o noatime -t debugfs debugfs /sys/kernel/debug + [ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe + + /sbin/kmodloader + + [ ! -f /etc/config/wireless ] && { + # compat for brcm47xx and mvebu + sleep 1 + } + + /bin/config_generate + uci_apply_defaults + + # temporary hack until configd exists + /sbin/reload_config +} diff --git a/package/base-files/files/etc/init.d/done b/package/base-files/files/etc/init.d/done new file mode 100755 index 0000000000..374353a23c --- /dev/null +++ b/package/base-files/files/etc/init.d/done @@ -0,0 +1,17 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=95 +boot() { + mount_root done + rm -f /sysupgrade.tgz + + # process user commands + [ -f /etc/rc.local ] && { + sh /etc/rc.local + } + + # set leds to normal state + . /etc/diag.sh + set_state done +} diff --git a/package/base-files/files/etc/init.d/gpio_switch b/package/base-files/files/etc/init.d/gpio_switch new file mode 100755 index 0000000000..1f1b44b212 --- /dev/null +++ b/package/base-files/files/etc/init.d/gpio_switch @@ -0,0 +1,42 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2015 OpenWrt.org + +START=98 +STOP=10 +USE_PROCD=1 + + +load_gpio_switch() +{ + local name + local gpio_pin + local value + + config_get gpio_pin "$1" gpio_pin + config_get name "$1" name + config_get value "$1" value 0 + + local gpio_path="/sys/class/gpio/gpio${gpio_pin}" + # export GPIO pin for access + [ -d "$gpio_path" ] || { + echo "$gpio_pin" >/sys/class/gpio/export + # we need to wait a bit until the GPIO appears + [ -d "$gpio_path" ] || sleep 1 + echo out >"$gpio_path/direction" + } + # write 0 or 1 to the "value" field + { [ "$value" = "0" ] && echo "0" || echo "1"; } >"$gpio_path/value" +} + +service_triggers() +{ + procd_add_reload_trigger "system" +} + +start_service() +{ + [ -e /sys/class/gpio/ ] && { + config_load system + config_foreach load_gpio_switch gpio_switch + } +} diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led new file mode 100755 index 0000000000..7c2a185013 --- /dev/null +++ b/package/base-files/files/etc/init.d/led @@ -0,0 +1,134 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2008 OpenWrt.org + +START=96 + +load_led() { + local name + local sysfs + local trigger + local dev + local ports + local mode + local default + local delayon + local delayoff + local interval + + config_get sysfs $1 sysfs + config_get name $1 name "$sysfs" + config_get trigger $1 trigger "none" + config_get dev $1 dev + config_get ports $1 port + config_get mode $1 mode "link" + config_get_bool default $1 default "nil" + config_get delayon $1 delayon + config_get delayoff $1 delayoff + config_get interval $1 interval "50" + config_get port_state $1 port_state + config_get delay $1 delay "150" + config_get message $1 message "" + config_get gpio $1 gpio "0" + config_get inverted $1 inverted "0" + + if [ "$trigger" = "rssi" ]; then + # handled by rssileds userspace process + return + fi + + [ "$trigger" = "usbdev" ] && { + # Backward compatibility: translate to the new trigger + trigger="usbport" + # Translate port of root hub, e.g. 4-1 -> usb4-port1 + ports=$(echo "$dev" | sed -n 's/^\([0-9]*\)-\([0-9]*\)$/usb\1-port\2/p') + # Translate port of extra hub, e.g. 2-2.4 -> 2-2-port4 + [ -z "$ports" ] && ports=$(echo "$dev" | sed -n 's/\./-port/p') + } + + [ -e /sys/class/leds/${sysfs}/brightness ] && { + echo "setting up led ${name}" + + printf "%s %s %d\n" \ + "$sysfs" \ + "$(sed -ne 's/^.*\[\(.*\)\].*$/\1/p' /sys/class/leds/${sysfs}/trigger)" \ + "$(cat /sys/class/leds/${sysfs}/brightness)" \ + >> /var/run/led.state + + [ "$default" = 0 ] && + echo 0 >/sys/class/leds/${sysfs}/brightness + + echo $trigger > /sys/class/leds/${sysfs}/trigger 2> /dev/null + ret="$?" + + [ $default = 1 ] && + cat /sys/class/leds/${sysfs}/max_brightness > /sys/class/leds/${sysfs}/brightness + + [ $ret = 0 ] || { + echo >&2 "Skipping trigger '$trigger' for led '$name' due to missing kernel module" + return 1 + } + case "$trigger" in + "netdev") + [ -n "$dev" ] && { + echo $dev > /sys/class/leds/${sysfs}/device_name + echo $mode > /sys/class/leds/${sysfs}/mode + } + ;; + + "timer"|"oneshot") + [ -n "$delayon" ] && \ + echo $delayon > /sys/class/leds/${sysfs}/delay_on + [ -n "$delayoff" ] && \ + echo $delayoff > /sys/class/leds/${sysfs}/delay_off + ;; + + "usbport") + local p + + for p in $ports; do + echo 1 > /sys/class/leds/${sysfs}/ports/$p + done + ;; + + "port_state") + [ -n "$port_state" ] && \ + echo $port_state > /sys/class/leds/${sysfs}/port_state + ;; + + "gpio") + echo $gpio > /sys/class/leds/${sysfs}/gpio + echo $inverted > /sys/class/leds/${sysfs}/inverted + ;; + + switch[0-9]*) + local port_mask speed_mask + + config_get port_mask $1 port_mask + [ -n "$port_mask" ] && \ + echo $port_mask > /sys/class/leds/${sysfs}/port_mask + config_get speed_mask $1 speed_mask + [ -n "$speed_mask" ] && \ + echo $speed_mask > /sys/class/leds/${sysfs}/speed_mask + ;; + esac + } +} + +start() { + [ -e /sys/class/leds/ ] && { + [ -s /var/run/led.state ] && { + local led trigger brightness + while read led trigger brightness; do + [ -e "/sys/class/leds/$led/trigger" ] && \ + echo "$trigger" > "/sys/class/leds/$led/trigger" + + [ -e "/sys/class/leds/$led/brightness" ] && \ + echo "$brightness" > "/sys/class/leds/$led/brightness" + done < /var/run/led.state + rm /var/run/led.state + } + + config_load system + config_foreach load_led led + } +} diff --git a/package/base-files/files/etc/init.d/sysctl b/package/base-files/files/etc/init.d/sysctl new file mode 100755 index 0000000000..3a497fb66c --- /dev/null +++ b/package/base-files/files/etc/init.d/sysctl @@ -0,0 +1,25 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=11 + +set_vm_min_free() { + mem="$(grep MemTotal /proc/meminfo | awk '{print $2}')" + if [ "$mem" -gt 65536 ]; then # 128M + val=16384 + elif [ "$mem" -gt 32768 ]; then # 64M + val=8192 + elif [ "$mem" -gt 16384 ]; then # 32M + val=1024 + else + return + fi + sysctl -qw vm.min_free_kbytes="$val" +} + +start() { + set_vm_min_free + for CONF in /etc/sysctl.conf /etc/sysctl.d/*.conf; do + [ -f "$CONF" ] && sysctl -p "$CONF" -e >&- + done +} diff --git a/package/base-files/files/etc/init.d/sysfixtime b/package/base-files/files/etc/init.d/sysfixtime new file mode 100755 index 0000000000..aab5b153d0 --- /dev/null +++ b/package/base-files/files/etc/init.d/sysfixtime @@ -0,0 +1,34 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2013-2014 OpenWrt.org + +START=00 +STOP=90 + +RTC_DEV=/dev/rtc0 +HWCLOCK=/sbin/hwclock + +boot() { + start && exit 0 + + local maxtime="$(maxtime)" + local curtime="$(date +%s)" + [ $curtime -lt $maxtime ] && date -s @$maxtime +} + +start() { + [ -e "$RTC_DEV" ] && [ -e "$HWCLOCK" ] && $HWCLOCK -s -u -f $RTC_DEV +} + +stop() { + [ -e "$RTC_DEV" ] && [ -e "$HWCLOCK" ] && $HWCLOCK -w -u -f $RTC_DEV && \ + logger -t sysfixtime "saved '$(date)' to $RTC_DEV" +} + +maxtime() { + local file newest + + for file in $( find /etc -type f ) ; do + [ -z "$newest" -o "$newest" -ot "$file" ] && newest=$file + done + [ "$newest" ] && date -r "$newest" +%s +} diff --git a/package/base-files/files/etc/init.d/system b/package/base-files/files/etc/init.d/system new file mode 100755 index 0000000000..0d243a8a99 --- /dev/null +++ b/package/base-files/files/etc/init.d/system @@ -0,0 +1,50 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2014 OpenWrt.org + +START=10 +USE_PROCD=1 + +validate_system_section() +{ + uci_validate_section system system "${1}" \ + 'hostname:string:libreCMC' \ + 'conloglevel:uinteger' \ + 'buffersize:uinteger' \ + 'timezone:string:UTC' \ + 'zonename:string' +} + +system_config() { + local cfg="$1" + + local hostname conloglevel buffersize timezone zonename + + validate_system_section "${1}" || { + echo "validation failed" + return 1 + } + + echo "$hostname" > /proc/sys/kernel/hostname + [ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize} + echo "$timezone" > /tmp/TZ + [ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && \ + ln -sf "/usr/share/zoneinfo/$zonename" /tmp/localtime && rm -f /tmp/TZ + + # apply timezone to kernel + date -k +} + +reload_service() { + config_load system + config_foreach system_config system +} + +service_triggers() +{ + procd_add_reload_trigger "system" + procd_add_validation validate_system_section +} + +start_service() { + reload_service +} diff --git a/package/base-files/files/etc/init.d/umount b/package/base-files/files/etc/init.d/umount new file mode 100755 index 0000000000..349b2b3264 --- /dev/null +++ b/package/base-files/files/etc/init.d/umount @@ -0,0 +1,8 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +STOP=99 +stop() { + sync + /bin/umount -a -d -r +} diff --git a/package/base-files/files/etc/init.d/urandom_seed b/package/base-files/files/etc/init.d/urandom_seed new file mode 100755 index 0000000000..17d9c13400 --- /dev/null +++ b/package/base-files/files/etc/init.d/urandom_seed @@ -0,0 +1,12 @@ +#!/bin/sh /etc/rc.common + +START=99 +USE_PROCD=1 + +start_service() { + procd_open_instance "urandom_seed" + procd_set_param command "/sbin/urandom_seed" + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_close_instance +} diff --git a/package/base-files/files/etc/inittab b/package/base-files/files/etc/inittab new file mode 100644 index 0000000000..9820e7144b --- /dev/null +++ b/package/base-files/files/etc/inittab @@ -0,0 +1,3 @@ +::sysinit:/etc/init.d/rcS S boot +::shutdown:/etc/init.d/rcS K shutdown +::askconsole:/usr/libexec/login.sh diff --git a/package/base-files/files/etc/iproute2/rt_tables b/package/base-files/files/etc/iproute2/rt_tables new file mode 100644 index 0000000000..5fc09b3c0c --- /dev/null +++ b/package/base-files/files/etc/iproute2/rt_tables @@ -0,0 +1,12 @@ +# +# reserved values +# +128 prelocal +255 local +254 main +253 default +0 unspec +# +# local +# +#1 inr.ruhep diff --git a/package/base-files/files/etc/openwrt_release b/package/base-files/files/etc/openwrt_release new file mode 100644 index 0000000000..46ad63209f --- /dev/null +++ b/package/base-files/files/etc/openwrt_release @@ -0,0 +1,7 @@ +DISTRIB_ID='%D' +DISTRIB_RELEASE='%V' +DISTRIB_REVISION='%R' +DISTRIB_CODENAME='%n' +DISTRIB_TARGET='%S' +DISTRIB_DESCRIPTION='%D %N %V %C' +DISTRIB_TAINTS='%t' diff --git a/package/base-files/files/etc/openwrt_version b/package/base-files/files/etc/openwrt_version new file mode 100644 index 0000000000..48157ed97f --- /dev/null +++ b/package/base-files/files/etc/openwrt_version @@ -0,0 +1 @@ +%C diff --git a/package/base-files/files/etc/os-release b/package/base-files/files/etc/os-release new file mode 120000 index 0000000000..c4c75b419c --- /dev/null +++ b/package/base-files/files/etc/os-release @@ -0,0 +1 @@ +../usr/lib/os-release \ No newline at end of file diff --git a/package/base-files/files/etc/passwd b/package/base-files/files/etc/passwd new file mode 100644 index 0000000000..1d06a80361 --- /dev/null +++ b/package/base-files/files/etc/passwd @@ -0,0 +1,5 @@ +root:x:0:0:root:/root:/bin/ash +daemon:*:1:1:daemon:/var:/bin/false +ftp:*:55:55:ftp:/home/ftp:/bin/false +network:*:101:101:network:/var:/bin/false +nobody:*:65534:65534:nobody:/var:/bin/false diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit new file mode 100755 index 0000000000..829574f5f1 --- /dev/null +++ b/package/base-files/files/etc/preinit @@ -0,0 +1,29 @@ +#!/bin/sh +# Copyright (C) 2006-2016 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +[ -z "$PREINIT" ] && exec /sbin/init + +export PATH="%PATH%" + +. /lib/functions.sh +. /lib/functions/preinit.sh +. /lib/functions/system.sh + +boot_hook_init preinit_essential +boot_hook_init preinit_main +boot_hook_init failsafe +boot_hook_init initramfs +boot_hook_init preinit_mount_root + +for pi_source_file in /lib/preinit/*; do + . $pi_source_file +done + +boot_run_hook preinit_essential + +pi_mount_skip_next=false +pi_jffs2_mount_success=false +pi_failsafe_net_message=false + +boot_run_hook preinit_main diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile new file mode 100644 index 0000000000..bb69ffbd3e --- /dev/null +++ b/package/base-files/files/etc/profile @@ -0,0 +1,52 @@ +#!/bin/sh +[ -f /etc/banner ] && cat /etc/banner +[ -e /tmp/.failsafe ] && cat /etc/banner.failsafe +fgrep -sq '/ overlay ro,' /proc/mounts && { + echo 'Your JFFS2-partition seems full and overlayfs is mounted read-only.' + echo 'Please try to remove files from /overlay/upper/... and reboot!' +} + +export PATH="%PATH%" +export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6) +export HOME=${HOME:-/root} +export PS1='\u@\h:\w\$ ' + +[ "$TERM" = "xterm" ] && export PS1='\[\e]0;\u@\h: \w\a\]'$PS1 + +[ -x /bin/more ] || alias more=less +[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi + +alias ll='ls -alF --color=auto' + +[ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc + +[ -x /usr/bin/arp -o -x /sbin/arp ] || arp() { cat /proc/net/arp; } +[ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; } + +[ -n "$FAILSAFE" ] || { + for FILE in /etc/profile.d/*.sh; do + [ -e "$FILE" ] && . "$FILE" + done + unset FILE +} + +if ( grep -qs '^root::' /etc/shadow && \ + [ -z "$FAILSAFE" ] ) +then +cat << EOF +=== WARNING! ===================================== +There is no root password defined on this device! +Use the "passwd" command to set up a new password +in order to prevent unauthorized SSH logins. +-------------------------------------------------- +EOF +fi + +service() { + [ -f "/etc/init.d/$1" ] || { + echo -n "$1 does not exist. the following services are available :" + ls "/etc/init.d" + return 1 + } + /etc/init.d/$@ +} diff --git a/package/base-files/files/etc/protocols b/package/base-files/files/etc/protocols new file mode 100644 index 0000000000..26bc775ed6 --- /dev/null +++ b/package/base-files/files/etc/protocols @@ -0,0 +1,57 @@ +# Internet (IP) protocols +# +# Updated from http://www.iana.org/assignments/protocol-numbers and other +# sources. +# New protocols will be added on request if they have been officially +# assigned by IANA and are not historical. +# If you need a huge list of used numbers please install the nmap package. + +ip 0 IP # internet protocol, pseudo protocol number +#hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option [RFC1883] +icmp 1 ICMP # internet control message protocol +igmp 2 IGMP # Internet Group Management +ggp 3 GGP # gateway-gateway protocol +ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') +st 5 ST # ST datagram mode +tcp 6 TCP # transmission control protocol +egp 8 EGP # exterior gateway protocol +igp 9 IGP # any private interior gateway (Cisco) +pup 12 PUP # PARC universal packet protocol +udp 17 UDP # user datagram protocol +hmp 20 HMP # host monitoring protocol +xns-idp 22 XNS-IDP # Xerox NS IDP +rdp 27 RDP # "reliable datagram" protocol +iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 [RFC905] +dccp 33 DCCP # Datagram Congestion Control Protocol [RFC4340] +xtp 36 XTP # Xpress Transfer Protocol +ddp 37 DDP # Datagram Delivery Protocol +idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport +ipv6 41 IPv6 # Internet Protocol, version 6 +ipv6-route 43 IPv6-Route # Routing Header for IPv6 +ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 +idrp 45 IDRP # Inter-Domain Routing Protocol +rsvp 46 RSVP # Reservation Protocol +gre 47 GRE # General Routing Encapsulation +esp 50 IPSEC-ESP # Encap Security Payload [RFC2046] +ah 51 IPSEC-AH # Authentication Header [RFC2402] +skip 57 SKIP # SKIP +ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6 +ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 +ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 +rspf 73 RSPF CPHB # Radio Shortest Path First (officially CPHB) +vmtp 81 VMTP # Versatile Message Transport +eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco) +ospf 89 OSPFIGP # Open Shortest Path First IGP +ax.25 93 AX.25 # AX.25 frames +ipip 94 IPIP # IP-within-IP Encapsulation Protocol +etherip 97 ETHERIP # Ethernet-within-IP Encapsulation [RFC3378] +encap 98 ENCAP # Yet Another IP encapsulation [RFC1241] +# 99 # any private encryption scheme +pim 103 PIM # Protocol Independent Multicast +ipcomp 108 IPCOMP # IP Payload Compression Protocol +vrrp 112 VRRP # Virtual Router Redundancy Protocol +l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC2661] +isis 124 ISIS # IS-IS over IPv4 +sctp 132 SCTP # Stream Control Transmission Protocol +fc 133 FC # Fibre Channel + diff --git a/package/base-files/files/etc/rc.button/failsafe b/package/base-files/files/etc/rc.button/failsafe new file mode 100755 index 0000000000..ba958fa885 --- /dev/null +++ b/package/base-files/files/etc/rc.button/failsafe @@ -0,0 +1,5 @@ +#!/bin/sh + +[ "${TYPE}" = "switch" ] || echo ${BUTTON} > /tmp/failsafe_button + +return 0 diff --git a/package/base-files/files/etc/rc.button/power b/package/base-files/files/etc/rc.button/power new file mode 100755 index 0000000000..c245744172 --- /dev/null +++ b/package/base-files/files/etc/rc.button/power @@ -0,0 +1,7 @@ +#!/bin/sh + +[ "${ACTION}" = "released" ] || exit 0 + +exec /sbin/poweroff + +return 0 diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset new file mode 100755 index 0000000000..4265767437 --- /dev/null +++ b/package/base-files/files/etc/rc.button/reset @@ -0,0 +1,31 @@ +#!/bin/sh + +. /lib/functions.sh + +OVERLAY="$( grep ' /overlay ' /proc/mounts )" + +case "$ACTION" in +pressed) + [ -z "$OVERLAY" ] && return 0 + + return 5 +;; +timeout) + . /etc/diag.sh + set_state failsafe +;; +released) + if [ "$SEEN" -lt 1 ] + then + echo "REBOOT" > /dev/console + sync + reboot + elif [ "$SEEN" -gt 5 -a -n "$OVERLAY" ] + then + echo "FACTORY RESET" > /dev/console + jffs2reset -y && reboot & + fi +;; +esac + +return 0 diff --git a/package/base-files/files/etc/rc.button/rfkill b/package/base-files/files/etc/rc.button/rfkill new file mode 100755 index 0000000000..fbdda40ed5 --- /dev/null +++ b/package/base-files/files/etc/rc.button/rfkill @@ -0,0 +1,32 @@ +#!/bin/sh + +[ "${ACTION}" = "released" -o -n "${TYPE}" ] || exit 0 + +. /lib/functions.sh + +rfkill_state=0 + +wifi_rfkill_set() { + uci set wireless.$1.disabled=$rfkill_state +} + +wifi_rfkill_check() { + local disabled + config_get disabled $1 disabled + [ "$disabled" = "1" ] || rfkill_state=1 +} + +config_load wireless +case "${TYPE}" in +"switch") + [ "${ACTION}" = "released" ] && rfkill_state=1 + ;; +*) + config_foreach wifi_rfkill_check wifi-device + ;; +esac +config_foreach wifi_rfkill_set wifi-device +uci commit wireless +wifi up + +return 0 diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common new file mode 100755 index 0000000000..95cf956366 --- /dev/null +++ b/package/base-files/files/etc/rc.common @@ -0,0 +1,145 @@ +#!/bin/sh +# Copyright (C) 2006-2012 OpenWrt.org + +. $IPKG_INSTROOT/lib/functions.sh +. $IPKG_INSTROOT/lib/functions/service.sh + +initscript=$1 +action=${2:-help} +shift 2 + +start() { + return 0 +} + +stop() { + return 0 +} + +reload() { + return 1 +} + +restart() { + trap '' TERM + stop "$@" + start "$@" +} + +boot() { + start "$@" +} + +shutdown() { + stop +} + +disable() { + name="$(basename "${initscript}")" + rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name + rm -f "$IPKG_INSTROOT"/etc/rc.d/K??$name +} + +enable() { + name="$(basename "${initscript}")" + disable + [ -n "$START" -o -n "$STOP" ] || { + echo "/etc/init.d/$name does not have a START or STOP value" + return 1 + } + [ "$START" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" + [ "$STOP" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}" +} + +enabled() { + name="$(basename "${initscript}")" + [ -x "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" ] +} + +depends() { + return 0 +} + +help() { + cat </dev/null >/dev/null; then + service_started + fi + } + + trace() { + TRACE_SYSCALLS=1 + start "$@" + } + + stop() { + stop_service "$@" + procd_kill "$(basename ${basescript:-$initscript})" "$1" + } + + reload() { + if eval "type reload_service" 2>/dev/null >/dev/null; then + reload_service "$@" + else + start + fi + } + + running() { + service_running "$@" + } +} + +ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}" +list_contains ALL_COMMANDS "$action" || action=help +[ "$action" = "reload" ] && action='eval reload "$@" || restart "$@" && :' +$action "$@" diff --git a/package/base-files/files/etc/rc.local b/package/base-files/files/etc/rc.local new file mode 100644 index 0000000000..56394773c3 --- /dev/null +++ b/package/base-files/files/etc/rc.local @@ -0,0 +1,4 @@ +# Put your custom commands here that should be executed once +# the system init finished. By default this file does nothing. + +exit 0 diff --git a/package/base-files/files/etc/services b/package/base-files/files/etc/services new file mode 100644 index 0000000000..a12853efa0 --- /dev/null +++ b/package/base-files/files/etc/services @@ -0,0 +1,171 @@ +echo 7/tcp +echo 7/udp +discard 9/tcp +discard 9/udp +daytime 13/tcp +daytime 13/udp +netstat 15/tcp +chargen 19/tcp +chargen 19/udp +ftp-data 20/tcp +ftp 21/tcp +ssh 22/tcp +ssh 22/udp +telnet 23/tcp +smtp 25/tcp +time 37/tcp +time 37/udp +whois 43/tcp +domain 53/tcp +domain 53/udp +bootps 67/tcp +bootps 67/udp +bootpc 68/tcp +bootpc 68/udp +tftp 69/udp +finger 79/tcp +www 80/tcp http +kerberos 88/tcp kerberos5 krb5 kerberos-sec +kerberos 88/udp kerberos5 krb5 kerberos-sec +pop3 110/tcp +pop3 110/udp +sunrpc 111/tcp +sunrpc 111/udp +auth 113/tcp ident +sftp 115/tcp +nntp 119/tcp +ntp 123/tcp +ntp 123/udp +netbios-ns 137/tcp +netbios-ns 137/udp +netbios-dgm 138/tcp +netbios-dgm 138/udp +netbios-ssn 139/tcp +netbios-ssn 139/udp +imap2 143/tcp imap +imap2 143/udp imap +snmp 161/tcp +snmp 161/udp +snmp-trap 162/tcp snmptrap +snmp-trap 162/udp snmptrap +xdmcp 177/tcp +xdmcp 177/udp +bgp 179/tcp +bgp 179/udp +imap3 220/tcp +imap3 220/udp +ldap 389/tcp +ldap 389/udp +https 443/tcp +https 443/udp +microsoft-ds 445/tcp +microsoft-ds 445/udp +isakmp 500/tcp +isakmp 500/udp +rtsp 554/tcp +rtsp 554/udp +ipp 631/tcp +ipp 631/udp +syslog 514/udp +printer 515/tcp spooler +dhcpv6-client 546/tcp +dhcpv6-client 546/udp +dhcpv6-server 547/tcp +dhcpv6-server 547/udp +afpovertcp 548/tcp +afpovertcp 548/udp +nntps 563/tcp snntp +nntps 563/udp snntp +ldaps 636/tcp +ldaps 636/udp +tinc 655/tcp +tinc 655/udp +rsync 873/tcp +rsync 873/udp +ftps-data 989/tcp +ftps 990/tcp +imaps 993/tcp +imaps 993/udp +ircs 994/tcp +ircs 994/udp +pop3s 995/tcp +pop3s 995/udp +socks 1080/tcp +socks 1080/udp +openvpn 1194/tcp +openvpn 1194/udp +l2f 1701/tcp l2tp +l2f 1701/udp l2tp +radius 1812/tcp +radius 1812/udp +radius-acct 1813/tcp radacct +radius-acct 1813/udp radacct +nfs 2049/tcp +nfs 2049/udp +dict 2628/tcp +dict 2628/udp +gpsd 2947/tcp +gpsd 2947/udp +icpv2 3130/tcp icp +icpv2 3130/udp icp +mysql 3306/tcp +mysql 3306/udp +nut 3493/tcp +nut 3493/udp +distcc 3632/tcp +distcc 3632/udp +daap 3689/tcp +daap 3689/udp +svn 3690/tcp subversion +svn 3690/udp subversion +epmd 4369/tcp +epmd 4369/udp +iax 4569/tcp +iax 4569/udp +mtn 4691/tcp +mtn 4691/udp +munin 4949/tcp +sip 5060/tcp +sip 5060/udp +sip-tls 5061/tcp +sip-tls 5061/udp +xmpp-client 5222/tcp jabber-client +xmpp-client 5222/udp jabber-client +xmpp-server 5269/tcp jabber-server +xmpp-server 5269/udp jabber-server +mdns 5353/tcp +mdns 5353/udp +postgresql 5432/tcp postgres +postgresql 5432/udp postgres +x11 6000/tcp +x11 6000/udp +mysql-proxy 6446/tcp +mysql-proxy 6446/udp +bacula-dir 9101/tcp +bacula-dir 9101/udp +bacula-fd 9102/tcp +bacula-fd 9102/udp +bacula-sd 9103/tcp +bacula-sd 9103/udp +nbd 10809/tcp +zabbix-agent 10050/tcp +zabbix-agent 10050/udp +zabbix-trapper 10051/tcp +zabbix-trapper 10051/udp +hkp 11371/tcp +hkp 11371/udp +ssmtp 465/tcp smtps +spamd 783/tcp +zebrasrv 2600/tcp +zebra 2601/tcp +ripd 2602/tcp +ripngd 2603/tcp +ospfd 2604/tcp +bgpd 2605/tcp +ospf6d 2606/tcp +ospfapi 2607/tcp +isisd 2608/tcp +sane-port 6566/tcp sane saned +ircd 6667/tcp +git 9418/tcp + diff --git a/package/base-files/files/etc/shadow b/package/base-files/files/etc/shadow new file mode 100644 index 0000000000..4b4154f21f --- /dev/null +++ b/package/base-files/files/etc/shadow @@ -0,0 +1,5 @@ +root::0:0:99999:7::: +daemon:*:0:0:99999:7::: +ftp:*:0:0:99999:7::: +network:*:0:0:99999:7::: +nobody:*:0:0:99999:7::: diff --git a/package/base-files/files/etc/shells b/package/base-files/files/etc/shells new file mode 100644 index 0000000000..006aa38ced --- /dev/null +++ b/package/base-files/files/etc/shells @@ -0,0 +1 @@ +/bin/ash diff --git a/package/base-files/files/etc/sysctl.conf b/package/base-files/files/etc/sysctl.conf new file mode 100644 index 0000000000..91a3ac9a02 --- /dev/null +++ b/package/base-files/files/etc/sysctl.conf @@ -0,0 +1,30 @@ +kernel.panic=3 +kernel.core_pattern=/tmp/%e.%t.%p.%s.core + +net.ipv4.conf.default.arp_ignore=1 +net.ipv4.conf.all.arp_ignore=1 +net.ipv4.ip_forward=1 +net.ipv4.icmp_echo_ignore_broadcasts=1 +net.ipv4.icmp_ignore_bogus_error_responses=1 +net.ipv4.igmp_max_memberships=100 +net.ipv4.tcp_fin_timeout=30 +net.ipv4.tcp_keepalive_time=120 +net.ipv4.tcp_syncookies=1 +net.ipv4.tcp_timestamps=1 +net.ipv4.tcp_sack=1 +net.ipv4.tcp_dsack=1 + +net.ipv6.conf.default.forwarding=1 +net.ipv6.conf.all.forwarding=1 + +net.netfilter.nf_conntrack_acct=1 +net.netfilter.nf_conntrack_checksum=0 +net.netfilter.nf_conntrack_max=16384 +net.netfilter.nf_conntrack_tcp_timeout_established=7440 +net.netfilter.nf_conntrack_udp_timeout=60 +net.netfilter.nf_conntrack_udp_timeout_stream=180 + +# disable bridge firewalling by default +net.bridge.bridge-nf-call-arptables=0 +net.bridge.bridge-nf-call-ip6tables=0 +net.bridge.bridge-nf-call-iptables=0 diff --git a/package/base-files/files/etc/sysctl.d/local.conf b/package/base-files/files/etc/sysctl.d/local.conf new file mode 100644 index 0000000000..891da73df8 --- /dev/null +++ b/package/base-files/files/etc/sysctl.d/local.conf @@ -0,0 +1 @@ +# local sysctl settings can be stored in this directory diff --git a/package/base-files/files/etc/sysupgrade.conf b/package/base-files/files/etc/sysupgrade.conf new file mode 100644 index 0000000000..e06fd5e332 --- /dev/null +++ b/package/base-files/files/etc/sysupgrade.conf @@ -0,0 +1,5 @@ +## This file contains files and directories that should +## be preserved during an upgrade. + +# /etc/example.conf +# /etc/openvpn/ diff --git a/package/base-files/files/etc/uci-defaults/10_migrate-shadow b/package/base-files/files/etc/uci-defaults/10_migrate-shadow new file mode 100644 index 0000000000..a354844fe4 --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/10_migrate-shadow @@ -0,0 +1,12 @@ +#!/bin/sh + +ppwd="$(sed -ne '/^root:/s/^root:\([^:]*\):.*$/\1/p' /etc/passwd)" +spwd="$(sed -ne '/^root:/s/^root:\([^:]*\):.*$/\1/p' /etc/shadow)" + +if [ -n "${ppwd#[\!x]}" ] && [ -z "${spwd#[\!x]}" ]; then + logger -t migrate-shadow "Moving root password hash into shadow database" + sed -i -e "s:^root\:[^\:]*\::root\:x\::" /etc/passwd + sed -i -e "s:^root\:[^\:]*\::root\:$ppwd\::" /etc/shadow +fi + +exit 0 diff --git a/package/base-files/files/etc/uci-defaults/11_migrate-sysctl b/package/base-files/files/etc/uci-defaults/11_migrate-sysctl new file mode 100644 index 0000000000..464e275779 --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/11_migrate-sysctl @@ -0,0 +1,16 @@ +#!/bin/sh + +if [ ! -f "/rom/etc/sysctl.conf" ] || cmp -s "/rom/etc/sysctl.conf" "/etc/sysctl.conf"; then + exit 0 +fi + +fingerprint="$(md5sum /etc/sysctl.conf)" +fingerprint="${fingerprint%% *}" + +if [ "$fingerprint" = "1b05ebb41f72cb84e5510573cd4aca26" ] || \ + [ "$fingerprint" = "62deb895be1a7f496040187b7c930e4e" ]; then + logger -t migrate-sysctl "Updating sysctl.conf to use current defaults" + cp "/rom/etc/sysctl.conf" "/etc/sysctl.conf" +fi + +exit 0 diff --git a/package/base-files/files/etc/uci-defaults/12_network-generate-ula b/package/base-files/files/etc/uci-defaults/12_network-generate-ula new file mode 100644 index 0000000000..8871427c60 --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/12_network-generate-ula @@ -0,0 +1,15 @@ +#!/bin/sh + +[ "$(uci -q get network.globals.ula_prefix)" != "auto" ] && exit 0 + +r1=$(dd if=/dev/urandom bs=1 count=1 |hexdump -e '1/1 "%02x"') +r2=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"') +r3=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"') + +uci -q batch <<-EOF >/dev/null + set network.globals.ula_prefix=fd$r1:$r2:$r3::/48 + commit network +EOF + +exit 0 + diff --git a/package/base-files/files/etc/uci-defaults/13_fix_group_user b/package/base-files/files/etc/uci-defaults/13_fix_group_user new file mode 100644 index 0000000000..deade5bbd1 --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/13_fix_group_user @@ -0,0 +1,11 @@ +#!/bin/sh + +. /lib/functions.sh + +for file in `grep Require-User /usr/lib/opkg/info/*.control | cut -d: -f1`; do + file="${file##*/}" + file="${file%.control}" + add_group_and_user "${file}" +done + +exit 0 diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh new file mode 100755 index 0000000000..b3bf2213f4 --- /dev/null +++ b/package/base-files/files/lib/functions.sh @@ -0,0 +1,351 @@ +#!/bin/sh +# Copyright (C) 2006-2014 OpenWrt.org +# Copyright (C) 2006 Fokus Fraunhofer +# Copyright (C) 2010 Vertical Communications + + +debug () { + ${DEBUG:-:} "$@" +} + +# newline +N=" +" + +_C=0 +NO_EXPORT=1 +LOAD_STATE=1 +LIST_SEP=" " + +append() { + local var="$1" + local value="$2" + local sep="${3:- }" + + eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" +} + +list_contains() { + local var="$1" + local str="$2" + local val + + eval "val=\" \${$var} \"" + [ "${val%% $str *}" != "$val" ] +} + +config_load() { + [ -n "$IPKG_INSTROOT" ] && return 0 + uci_load "$@" +} + +reset_cb() { + config_cb() { return 0; } + option_cb() { return 0; } + list_cb() { return 0; } +} +reset_cb + +package() { + return 0 +} + +config () { + local cfgtype="$1" + local name="$2" + + export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=$(($CONFIG_NUM_SECTIONS + 1)) + name="${name:-cfg$CONFIG_NUM_SECTIONS}" + append CONFIG_SECTIONS "$name" + [ -n "$NO_CALLBACK" ] || config_cb "$cfgtype" "$name" + export ${NO_EXPORT:+-n} CONFIG_SECTION="$name" + export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_TYPE=$cfgtype" +} + +option () { + local varname="$1"; shift + local value="$*" + + export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_${varname}=$value" + [ -n "$NO_CALLBACK" ] || option_cb "$varname" "$*" +} + +list() { + local varname="$1"; shift + local value="$*" + local len + + config_get len "$CONFIG_SECTION" "${varname}_LENGTH" 0 + [ $len = 0 ] && append CONFIG_LIST_STATE "${CONFIG_SECTION}_${varname}" + len=$(($len + 1)) + config_set "$CONFIG_SECTION" "${varname}_ITEM$len" "$value" + config_set "$CONFIG_SECTION" "${varname}_LENGTH" "$len" + append "CONFIG_${CONFIG_SECTION}_${varname}" "$value" "$LIST_SEP" + list_cb "$varname" "$*" +} + +config_unset() { + config_set "$1" "$2" "" +} + +# config_get